diff --git a/zkevm-circuits/src/super_circuit.rs b/zkevm-circuits/src/super_circuit.rs index ff7eddf79b..21c41de1bf 100644 --- a/zkevm-circuits/src/super_circuit.rs +++ b/zkevm-circuits/src/super_circuit.rs @@ -82,16 +82,22 @@ pub struct SuperCircuitConfig { // EVM Circuit - block: Block, - fixed_table_tags: Vec, + /// Block witness. Usually derived via + /// `evm_circuit::witness::block_convert`. + pub block: Block, + /// Passed down to the evm_circuit. Usually that will be + /// `FixedTableTag::iter().collect()`. + pub fixed_table_tags: Vec, // Tx Circuit - tx_circuit: TxCircuit, + /// The transaction circuit that will be used in the `synthesize` step. + pub tx_circuit: TxCircuit, // Bytecode Circuit // bytecodes: Vec>, - bytecode_size: usize, + /// The maximium size for the underlying bytecode circuit. + pub bytecode_size: usize, } impl diff --git a/zkevm-circuits/src/tx_circuit.rs b/zkevm-circuits/src/tx_circuit.rs index 1d047624e7..a465fefb26 100644 --- a/zkevm-circuits/src/tx_circuit.rs +++ b/zkevm-circuits/src/tx_circuit.rs @@ -25,13 +25,15 @@ use num::Integer; use num_bigint::BigUint; // use rand_core::RngCore; use rlp::RlpStream; -pub use secp256k1::Secp256k1Affine; use sha3::{Digest, Keccak256}; use sign_verify::{pk_bytes_swap_endianness, SignData, SignVerifyChip, SignVerifyConfig}; -pub use sign_verify::{POW_RAND_SIZE, VERIF_HEIGHT}; use std::marker::PhantomData; use subtle::CtOption; +pub use group::{Curve, Group}; +pub use secp256k1::Secp256k1Affine; +pub use sign_verify::{POW_RAND_SIZE, VERIF_HEIGHT}; + lazy_static! { // Curve Scalar. Referece: Section 2.4.1 (parameter `n`) in "SEC 2: Recommended Elliptic Curve // Domain Parameters" document at http://www.secg.org/sec2-v2.pdf @@ -207,7 +209,7 @@ impl TxCircuitConfig { } /// Tx Circuit for verifying transaction signatures -#[derive(Clone, Default)] +#[derive(Clone, Default, Debug)] pub struct TxCircuit { /// SignVerify chip pub sign_verify: SignVerifyChip,