From e10a0eb379ea9d098cc0e521c0100842c42183cc Mon Sep 17 00:00:00 2001 From: Eduard S Date: Tue, 24 May 2022 14:23:40 +0200 Subject: [PATCH] Move random_linear_combine fn to utils --- zkevm-circuits/src/tx_circuit.rs | 14 +++++--------- zkevm-circuits/src/util.rs | 9 ++++++++- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/zkevm-circuits/src/tx_circuit.rs b/zkevm-circuits/src/tx_circuit.rs index a7cf0a20d6..75c0cc7c4c 100644 --- a/zkevm-circuits/src/tx_circuit.rs +++ b/zkevm-circuits/src/tx_circuit.rs @@ -6,7 +6,7 @@ mod sign_verify; -use crate::util::Expr; +use crate::util::{random_linear_combine_word as rlc, Expr}; use eth_types::{ geth_types::Transaction, Address, Field, ToBigEndian, ToLittleEndian, ToScalar, Word, }; @@ -42,10 +42,6 @@ lazy_static! { ]); } -fn random_linear_combine(bytes: [u8; 32], randomness: F) -> F { - crate::evm_circuit::util::Word::random_linear_combine(bytes, randomness) -} - fn recover_pk(v: u8, r: &Word, s: &Word, msg_hash: &[u8; 32]) -> Result { let r_be = r.to_be_bytes(); let s_be = s.to_be_bytes(); @@ -325,15 +321,15 @@ impl Circuit for (tag, value) in &[ ( TxFieldTag::Nonce, - random_linear_combine(tx.nonce.to_le_bytes(), self.randomness), + rlc(tx.nonce.to_le_bytes(), self.randomness), ), ( TxFieldTag::Gas, - random_linear_combine(tx.gas_limit.to_le_bytes(), self.randomness), + rlc(tx.gas_limit.to_le_bytes(), self.randomness), ), ( TxFieldTag::GasPrice, - random_linear_combine(tx.gas_price.to_le_bytes(), self.randomness), + rlc(tx.gas_price.to_le_bytes(), self.randomness), ), ( TxFieldTag::CallerAddress, @@ -349,7 +345,7 @@ impl Circuit (TxFieldTag::IsCreate, F::from(tx.to.is_none() as u64)), ( TxFieldTag::Value, - random_linear_combine(tx.value.to_le_bytes(), self.randomness), + rlc(tx.value.to_le_bytes(), self.randomness), ), ( TxFieldTag::CallDataLength, diff --git a/zkevm-circuits/src/util.rs b/zkevm-circuits/src/util.rs index b06499361e..9ddcd5bbe0 100644 --- a/zkevm-circuits/src/util.rs +++ b/zkevm-circuits/src/util.rs @@ -1,6 +1,9 @@ //! Common utility traits and functions. use bus_mapping::operation::Target; -use eth_types::evm_types::{GasCost, OpcodeId}; +use eth_types::{ + evm_types::{GasCost, OpcodeId}, + Field, +}; use halo2_proofs::{arithmetic::FieldExt, plonk::Expression}; pub(crate) trait Expr { @@ -63,3 +66,7 @@ impl Expr for i32 { ) } } + +pub(crate) fn random_linear_combine_word(bytes: [u8; 32], randomness: F) -> F { + crate::evm_circuit::util::Word::random_linear_combine(bytes, randomness) +}