diff --git a/avm-transpiler/src/procedures/compiler.rs b/avm-transpiler/src/procedures/compiler.rs index c3789e48b221..8cd6091881d6 100644 --- a/avm-transpiler/src/procedures/compiler.rs +++ b/avm-transpiler/src/procedures/compiler.rs @@ -233,10 +233,8 @@ fn compile_opcode( Mnemonic::ECADD => { collector.memory_address_operand()?; // p1 x collector.memory_address_operand()?; // p1 y - collector.memory_address_operand()?; // p1 is_infinite collector.memory_address_operand()?; // p2 x collector.memory_address_operand()?; // p2 y - collector.memory_address_operand()?; // p2 is_infinite collector.memory_address_operand()?; // result let collection = collector.finish()?; result.add_instruction( diff --git a/avm-transpiler/src/procedures/msm.rs b/avm-transpiler/src/procedures/msm.rs index f00f3504bb46..f952ae0ddac3 100644 --- a/avm-transpiler/src/procedures/msm.rs +++ b/avm-transpiler/src/procedures/msm.rs @@ -1,15 +1,13 @@ pub(crate) const MSM_ASSEMBLY: &str = " ; We are passed three pointers and one usize. - ; d0 points to the points. Points are represented by (x: Field, y: Field, is_infinite: bool) + ; d0 points to the points. Points are represented by (x: Field, y: Field). ; d1 points to the scalars. Scalars are represented by (lo: Field, hi: Field) both range checked to 128 bits. ; d2 contains the number of points. ; d3 points to the result. The result is a point. ADD d3, /*the reserved register 'one_usize'*/ $2, d4; Compute the pointer to the result y. - ADD d4, $2, d5; Compute the pointer to the result is_infinite ; Initialize the msm result: point at infinity SET i3, 0 ff SET i4, 0 ff - SET i5, 1 u1 ; Loop globals SET d6, 0 u32; Initialize the outer loop variable, ranging from 0 to the number of points SET d8, 0 ff; Initialize a 0 FF @@ -18,13 +16,12 @@ pub(crate) const MSM_ASSEMBLY: &str = " SET d10, 128 u32; Initialize a constant 128 SET d11, 1 u1; Initialize a constant true SET d12, 0 u1; Initialize a constant false - SET d13, 2 u32; Initialize a constant 2 - SET d14, 3 u32; Initialize a constant 3 for computing pointers to the point components + SET d13, 2 u32; Initialize a constant 2 for computing pointers to point and scalar components ; Main loop: iterate over the points/scalars OUTER_HEAD: LT d6, d2, d15 ; Check if we are done with the outer loop JUMPI d15, OUTER_BODY JUMP OUTER_END -OUTER_BODY: MUL d6, d14, d16; Compute the pointer to the point +OUTER_BODY: MUL d6, d13, d16; Compute the pointer to the point ADD d16, d0, d16; MUL d6, d13, d17; Compute the pointer to the scalar lo ADD d17, d1, d17 @@ -51,16 +48,13 @@ FIND_MSB_BODY: JUMPI i19, FIND_MSB_END; Check if the current bit is one JUMP FIND_MSB_BODY ; Now we have the pointer of the MSB in d19 - ; Now store the result of the scalar multiplication in d22, d23, d24 + ; Now store the result of the scalar multiplication in d22, d23 FIND_MSB_END: MOV i16, d22; x ADD d16, $2, d25; pointer to y MOV i25, d23; y - ADD d25, $2, d25; pointer to is_infinite - MOV i25, d24; is_infinite - ; Also store the original point in d25, d26, d27 + ; Also store the original point in d25, d26 MOV d22, d25; x MOV d23, d26; y - MOV d24, d27; is_infinite ; Now we need to do the inner loop, that will do double then add ; We need to iterate from the pointer of the MSB + 1 to the end pointer (d21) @@ -68,18 +62,18 @@ FIND_MSB_END: MOV i16, d22; x INNER_HEAD: LT d19, d21, d28; Check if we are done with the loop JUMPI d28, INNER_BODY JUMP INNER_END -INNER_BODY: ECADD d22, d23, d24, d22, d23, d24, /*not indirect, so the result is stored in d22, d23, d24*/ d22; Double the current result. +INNER_BODY: ECADD d22, d23, d22, d23, /*not indirect, so the result is stored in d22, d23*/ d22; Double the current result. EQ i19, d12, d28; Check if the current bit is zero JUMPI d28, INNER_INC; If the current bit is zero, continue - ECADD d25, d26, d27, d22, d23, d24, /*not indirect, so the result is stored in d22, d23, d24*/ d22; Add the original point to the result + ECADD d25, d26, d22, d23, /*not indirect, so the result is stored in d22, d23*/ d22; Add the original point to the result INNER_INC: ADD d19, $2, d19; Increment the pointer JUMP INNER_HEAD ; After the inner loop we have computed the scalar multiplication. Add it to the msm result -INNER_END: ECADD i3, i4, i5, d22, d23, d24, i3; Add the result to the msm result +INNER_END: ECADD i3, i4, d22, d23, i3; Add the result to the msm result OUTER_INC: ADD d6, $2, d6; Increment the outer loop variable JUMP OUTER_HEAD - ; After the outer loop we have computed the msm. We can return since we wrote the result in i3, i4, i5 + ; After the outer loop we have computed the msm. We can return since we wrote the result in i3, i4 OUTER_END: INTERNALRETURN "; diff --git a/avm-transpiler/src/transpile.rs b/avm-transpiler/src/transpile.rs index 40e3a6f0bb4f..2380c95ce34e 100644 --- a/avm-transpiler/src/transpile.rs +++ b/avm-transpiler/src/transpile.rs @@ -1280,32 +1280,26 @@ fn handle_black_box_function( BlackBoxOp::EmbeddedCurveAdd { input1_x: p1_x_offset, input1_y: p1_y_offset, - input1_infinite: p1_infinite_offset, input2_x: p2_x_offset, input2_y: p2_y_offset, - input2_infinite: p2_infinite_offset, result, } => avm_instrs.push(AvmInstruction { opcode: AvmOpcode::ECADD, - // The result (SIXTH operand) is indirect (addressing mode). + // The result (FOURTH operand) is indirect (addressing mode). addressing_mode: Some( AddressingModeBuilder::default() .direct_operand(p1_x_offset) .direct_operand(p1_y_offset) - .direct_operand(p1_infinite_offset) .direct_operand(p2_x_offset) .direct_operand(p2_y_offset) - .direct_operand(p2_infinite_offset) .indirect_operand(&result.pointer) .build(), ), operands: vec![ AvmOperand::U16 { value: p1_x_offset.to_u32() as u16 }, AvmOperand::U16 { value: p1_y_offset.to_u32() as u16 }, - AvmOperand::U16 { value: p1_infinite_offset.to_u32() as u16 }, AvmOperand::U16 { value: p2_x_offset.to_u32() as u16 }, AvmOperand::U16 { value: p2_y_offset.to_u32() as u16 }, - AvmOperand::U16 { value: p2_infinite_offset.to_u32() as u16 }, AvmOperand::U16 { value: result.pointer.to_u32() as u16 }, ], ..Default::default() @@ -1313,20 +1307,19 @@ fn handle_black_box_function( BlackBoxOp::MultiScalarMul { points, scalars, outputs } => { // The length of the scalars vector is 2x the length of the points vector due to limb - // decomposition - // Output array is fixed to 3 + // decomposition. Points are (x, y); the point at infinity is encoded as (0, 0). assert_eq!( outputs.size, - SemiFlattenedLength(3), - "Output array size must be equal to 3" + SemiFlattenedLength(2), + "Output array size must be equal to 2" ); - assert_eq!(points.size.0 % 3, 0, "Points array size must be divisible by 3"); + assert_eq!(points.size.0 % 2, 0, "Points array size must be divisible by 2"); avm_instrs.push(generate_mov_to_procedure(&points.pointer, 0)); avm_instrs.push(generate_mov_to_procedure(&scalars.pointer, 1)); avm_instrs.push(generate_set_to_procedure( AvmTypeTag::UINT32, - &FieldElement::from(points.size.0 / 3), + &FieldElement::from(points.size.0 / 2), 2, )); avm_instrs.push(generate_mov_to_procedure(&outputs.pointer, 3)); @@ -1634,6 +1627,7 @@ fn handle_get_contract_instance( DEPLOYER, CLASS_ID, INIT_HASH, + IMMUTABLES_HASH, } assert_eq!(inputs.len(), 1); @@ -1643,6 +1637,7 @@ fn handle_get_contract_instance( "aztec_avm_getContractInstanceDeployer" => ContractInstanceMember::DEPLOYER, "aztec_avm_getContractInstanceClassId" => ContractInstanceMember::CLASS_ID, "aztec_avm_getContractInstanceInitializationHash" => ContractInstanceMember::INIT_HASH, + "aztec_avm_getContractInstanceImmutablesHash" => ContractInstanceMember::IMMUTABLES_HASH, _ => panic!("Transpiler doesn't know how to process function {:?}", function), }; diff --git a/barretenberg/cpp/pil/vm2/bytecode/address_derivation.pil b/barretenberg/cpp/pil/vm2/bytecode/address_derivation.pil index 6de6947d69a4..e9acf8760b60 100644 --- a/barretenberg/cpp/pil/vm2/bytecode/address_derivation.pil +++ b/barretenberg/cpp/pil/vm2/bytecode/address_derivation.pil @@ -9,28 +9,30 @@ include "../scalar_mul.pil"; * during contract instance retrieval (contract_instance_retrieval.pil) in our execution flow. * The address is defined by the following flow, where the hash function H() is Poseidon2, and G1 * is the Grumpkin curve's generator point: - * 1. salted_init_hash = H(DOM_SEP__SALTED_INITIALIZATION_HASH, salt, init_hash, deployer_addr) - * 2. partial_address = H(DOM_SEP__PARTIAL_ADDRESS, class_id, salted_init_hash) - * 3. public_keys_hash = H(DOM_SEP__PUBLIC_KEYS_HASH, - * nullifier_key_x, nullifier_key_y, nullifier_key_is_infinity, - * incoming_viewing_key_x, incoming_viewing_key_y, incoming_viewing_key_is_infinity, - * outgoing_viewing_key_x, outgoing_viewing_key_y, outgoing_viewing_key_is_infinity, - * tagging_key_x, tagging_key_y, tagging_key_is_infinity) - * 4. preaddress = H(DOM_SEP__CONTRACT_ADDRESS_V1, public_keys_hash, partial_address) - * 5. preaddress_public_key = preaddress * G1 - * 6. address = (preaddress_public_key + incoming_viewing_key).x + * 1. salted_init_hash = H(DOM_SEP__SALTED_INITIALIZATION_HASH, salt, init_hash, deployer_addr, immutables_hash) + * 2. partial_address = H(DOM_SEP__PARTIAL_ADDRESS, class_id, salted_init_hash) + * 3. incoming_viewing_key_hash = H(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, incoming_viewing_key_x, incoming_viewing_key_y) + * 4. public_keys_hash = H(DOM_SEP__PUBLIC_KEYS_HASH, + * nullifier_key_hash, incoming_viewing_key_hash, outgoing_viewing_key_hash, tagging_key_hash) + * 5. preaddress = H(DOM_SEP__CONTRACT_ADDRESS_V2, public_keys_hash, partial_address) + * 6. preaddress_public_key = preaddress * G1 + * 7. address = (preaddress_public_key + incoming_viewing_key).x * - * Steps 1-4 are Poseidon hashes and steps 5-6 are point operations over the Grumpkin elliptic + * Steps 1-5 are Poseidon hashes and steps 6-7 are point operations over the Grumpkin elliptic * curve. See the 'Hash Computations', 'Elliptic Curve Operations', and 'INTERACTIONS' sections * for details on how we enforce each step. This process follows Noir's AztecAddress::compute(). * + * Per AZIP-8: only `incoming_viewing_key` is exposed to the circuit as a Grumpkin point (since + * address derivation needs the curve point). The other three master public keys (nullifier, + * outgoing viewing, tagging) are exposed only as their hash digests under + * DOM_SEP__SINGLE_PUBLIC_KEY_HASH; the PXE computes those hashes off-circuit and the circuit + * trusts them. * * PRECONDITIONS: The correctness of the preimage members is not constrained here and must be * enforced by the calling circuits. Like class_id_derivation, this trace can be seen * as an independent 'destination' trace which is purely responsible for address - * computation. - * This means we assume all public keys are not the point at infinity, and so use - * precomputed.zero to represent each key's is_infinity flag (see TODO(#7529)). + * computation. This means we assume `incoming_viewing_key` is not the point at infinity + * and is on the curve. * * USAGE: To enforce that an address is correctly derived from all preimage members * (adapted from #[ADDRESS_DERIVATION] in contract_instance_retrieval.pil): @@ -38,17 +40,17 @@ include "../scalar_mul.pil"; * sel { * derived_address, salt, deployer_addr, * class_id, init_hash, - * nullifier_key_x, nullifier_key_y, + * nullifier_key_hash, * incoming_viewing_key_x, incoming_viewing_key_y, - * outgoing_viewing_key_x, outgoing_viewing_key_y, - * tagging_key_x, tagging_key_y + * outgoing_viewing_key_hash, + * tagging_key_hash * } in address_derivation.sel { * address_derivation.address, address_derivation.salt, address_derivation.deployer_addr, * address_derivation.class_id, address_derivation.init_hash, - * address_derivation.nullifier_key_x, address_derivation.nullifier_key_y, + * address_derivation.nullifier_key_hash, * address_derivation.incoming_viewing_key_x, address_derivation.incoming_viewing_key_y, - * address_derivation.outgoing_viewing_key_x, address_derivation.outgoing_viewing_key_y, - * address_derivation.tagging_key_x, address_derivation.tagging_key_y + * address_derivation.outgoing_viewing_key_hash, + * address_derivation.tagging_key_hash * }; * * TRACE SHAPE: 1 row per address derivation computation. Note that simulation deduplicates addresses @@ -65,20 +67,14 @@ include "../scalar_mul.pil"; * the retrieved contract instance and public keys (#[ADDRESS_DERIVATION]). * * This subtrace looks up: - * - poseidon2_hash.pil: To constrain four Poseidon2 hashes across a total of 9 lookups/rounds: - * - salted_init_hash: #[SALTED_INITIALIZATION_HASH_POSEIDON2_0..1] - * - partial_address: #[PARTIAL_ADDRESS_POSEIDON2] - * - public_keys_hash: #[PUBLIC_KEYS_HASH_POSEIDON2_0..4] - * - preaddress: #[PREADDRESS_POSEIDON2] - * Each round is a row in the poseidon trace. Each column above is constrained to be its - * corresponding poseidon2_hash.output value, which is propagated across each row - * so (under hash collision resistance) every lookup referencing the same output must - * reference the same computation. - * See 'Hash Computations' section for details on individual hashes. - * - scalar_mul.pil: To constrain that preaddress_public_key = preaddress * G1 on Grumpkin - * (#[PREADDRESS_SCALAR_MUL]). - * - ecc.pil: To constrain that address = (preaddress_public_key + incoming_viewing_key).x on Grumpkin - * (#[ADDRESS_ECADD]). + * - poseidon2_hash.pil: To constrain five Poseidon2 hashes across a total of 7 lookups/rounds: + * - salted_init_hash: #[SALTED_INITIALIZATION_HASH_POSEIDON2_0..1] + * - partial_address: #[PARTIAL_ADDRESS_POSEIDON2] + * - incoming_viewing_key_hash: #[IVPK_M_HASH_POSEIDON2] + * - public_keys_hash: #[PUBLIC_KEYS_HASH_POSEIDON2_0..1] + * - preaddress: #[PREADDRESS_POSEIDON2] + * - scalar_mul.pil: To constrain that preaddress_public_key = preaddress * G1 on Grumpkin: #[PREADDRESS_SCALAR_MUL] + * - ecc.pil: To constrain that address = (preaddress_public_key + incoming_viewing_key).x on Grumpkin: #[ADDRESS_ECADD] */ namespace address_derivation; @@ -101,67 +97,64 @@ namespace address_derivation; pol commit deployer_addr; pol commit class_id; // = original_contract_class_id pol commit init_hash; - // Public keys, all Grumpkin curve points (see PublicKeys in barretenberg/cpp/src/barretenberg/vm2/common/aztec_types.hpp). - pol commit nullifier_key_x; - pol commit nullifier_key_y; + pol commit immutables_hash; + + // Public keys (see PublicKeys in barretenberg/cpp/src/barretenberg/vm2/common/aztec_types.hpp). + // Per AZIP-8, only incoming_viewing_key is held as a Grumpkin point; the other three keys + // are held as their (off-circuit) hashes. + pol commit nullifier_key_hash; pol commit incoming_viewing_key_x; pol commit incoming_viewing_key_y; - pol commit outgoing_viewing_key_x; - pol commit outgoing_viewing_key_y; - pol commit tagging_key_x; - pol commit tagging_key_y; + pol commit outgoing_viewing_key_hash; + pol commit tagging_key_hash; /////////////////////////////// // Hash Computations /////////////////////////////// // - // This trace constrains the result of four Poseidon2 hashes: - // 1. salted_init_hash = H(DOM_SEP__SALTED_INITIALIZATION_HASH, salt, init_hash, deployer_addr) - // 2. partial_address = H(DOM_SEP__PARTIAL_ADDRESS, class_id, salted_init_hash) - // 3. public_keys_hash = H(DOM_SEP__PUBLIC_KEYS_HASH, - // nullifier_key_x, nullifier_key_y, 0, - // incoming_viewing_key_x, incoming_viewing_key_y, 0, - // outgoing_viewing_key_x, outgoing_viewing_key_y, 0, - // tagging_key_x, tagging_key_y, 0) - // 4. preaddress = H(DOM_SEP__CONTRACT_ADDRESS_V1, public_keys_hash, partial_address) + // This trace constrains the result of five Poseidon2 hashes: + // 1. salted_init_hash = H(DOM_SEP__SALTED_INITIALIZATION_HASH, salt, init_hash, deployer_addr, immutables_hash) + // 2. partial_address = H(DOM_SEP__PARTIAL_ADDRESS, class_id, salted_init_hash) + // 3. incoming_viewing_key_hash = H(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, incoming_viewing_key_x, incoming_viewing_key_y) + // 4. public_keys_hash = H(DOM_SEP__PUBLIC_KEYS_HASH, + // nullifier_key_hash, incoming_viewing_key_hash, outgoing_viewing_key_hash, tagging_key_hash) + // 5. preaddress = H(DOM_SEP__CONTRACT_ADDRESS_V2, public_keys_hash, partial_address) // // Lookup constant support: Can be removed when we support constants in lookups. - pol commit const_two; - sel * (const_two - 2) = 0; pol commit const_three; sel * (const_three - 3) = 0; - pol commit const_four; - sel * (const_four - 4) = 0; - pol commit const_thirteen; - sel * (const_thirteen - 13) = 0; + pol commit const_five; + sel * (const_five - 5) = 0; pol commit salted_init_hash_domain_separator; sel * (salted_init_hash_domain_separator - constants.DOM_SEP__SALTED_INITIALIZATION_HASH) = 0; pol commit partial_address_domain_separator; sel * (partial_address_domain_separator - constants.DOM_SEP__PARTIAL_ADDRESS) = 0; + pol commit single_public_key_hash_domain_separator; + sel * (single_public_key_hash_domain_separator - constants.DOM_SEP__SINGLE_PUBLIC_KEY_HASH) = 0; pol commit public_keys_hash_domain_separator; sel * (public_keys_hash_domain_separator - constants.DOM_SEP__PUBLIC_KEYS_HASH) = 0; pol commit preaddress_domain_separator; - sel * (preaddress_domain_separator - constants.DOM_SEP__CONTRACT_ADDRESS_V1) = 0; + sel * (preaddress_domain_separator - constants.DOM_SEP__CONTRACT_ADDRESS_V2) = 0; // 1. Computation of salted initialization hash pol commit salted_init_hash; - // Since Poseidon2 processes inputs in chunks of 3, we need 2 permutation rounds to cover our 4 inputs: - // salted_init_hash = H(DOM_SEP__SALTED_INITIALIZATION_HASH, salt, init_hash, deployer_addr) - // Round 1 (start, input_len=4): (DOM_SEP__SALTED_INITIALIZATION_HASH, salt, init_hash) - // Round 2 (end): (deployer_addr, 0, 0) + // Since Poseidon2 processes inputs in chunks of 3, we need 2 permutation rounds to cover our 5 inputs: + // salted_init_hash = H(DOM_SEP__SALTED_INITIALIZATION_HASH, salt, init_hash, deployer_addr, immutables_hash) + // Round 1 (start, input_len=5): (DOM_SEP__SALTED_INITIALIZATION_HASH, salt, init_hash) + // Round 2 (end): (deployer_addr, immutables_hash, 0) - // Enforces the first round of salted_init_hash. Note that we must lookup poseidon2_hash.input_len == 4 + // Enforces the first round of salted_init_hash. Note that we must lookup poseidon2_hash.input_len == 5 // here since it is constrained in the poseidon trace on the start row. #[SALTED_INITIALIZATION_HASH_POSEIDON2_0] - sel { salted_init_hash_domain_separator, salt, init_hash, salted_init_hash, const_four } + sel { salted_init_hash_domain_separator, salt, init_hash, salted_init_hash, const_five } in poseidon2_hash.start { poseidon2_hash.input_0, poseidon2_hash.input_1, poseidon2_hash.input_2, poseidon2_hash.output, poseidon2_hash.input_len }; // Enforces the second and final round of salted_init_hash. Note that we must enforce the padded values are zero here. #[SALTED_INITIALIZATION_HASH_POSEIDON2_1] - sel { deployer_addr, precomputed.zero, precomputed.zero, salted_init_hash } + sel { deployer_addr, immutables_hash, precomputed.zero, salted_init_hash } in poseidon2_hash.end { poseidon2_hash.input_0, poseidon2_hash.input_1, poseidon2_hash.input_2, poseidon2_hash.output }; // 2. Computation of partial address @@ -178,64 +171,44 @@ namespace address_derivation; sel { partial_address_domain_separator, class_id, salted_init_hash, partial_address, const_three } in poseidon2_hash.start { poseidon2_hash.input_0, poseidon2_hash.input_1, poseidon2_hash.input_2, poseidon2_hash.output, poseidon2_hash.input_len }; - // 3. Computation of public keys hash + // 3. Computation of incoming viewing public key hash. + pol commit incoming_viewing_key_hash; + + // We have 3 inputs, hence a single Poseidon2 round: + // incoming_viewing_key_hash = H(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, incoming_viewing_key_x, incoming_viewing_key_y) + // Round 1 (start, input_len=3, end): (DOM_SEP__SINGLE_PUBLIC_KEY_HASH, ivpk_x, ivpk_y) + + // Enforces the single round of incoming_viewing_key_hash. As with partial_address (input_len=3), this start + // lookup is also the final round. + #[IVPK_M_HASH_POSEIDON2] + sel { single_public_key_hash_domain_separator, incoming_viewing_key_x, incoming_viewing_key_y, incoming_viewing_key_hash, const_three } + in poseidon2_hash.start { poseidon2_hash.input_0, poseidon2_hash.input_1, poseidon2_hash.input_2, poseidon2_hash.output, poseidon2_hash.input_len }; + + // 4. Computation of public keys hash from the four single-key hashes. pol commit public_keys_hash; - // TODO(#7529): Remove all the 0s for is_infinity when removed from public_keys.nr - // https://github.com/AztecProtocol/aztec-packages/issues/7529 - // TODO(#14031): Compress keys in public_keys_hash - // https://github.com/AztecProtocol/aztec-packages/issues/14031 - - // We have 13 inputs, hence 5 permutation rounds: - // public_keys_hash = H(DOM_SEP__PUBLIC_KEYS_HASH, - // nullifier_key_x, nullifier_key_y, 0, - // incoming_viewing_key_x, incoming_viewing_key_y, 0, - // outgoing_viewing_key_x, outgoing_viewing_key_y, 0, - // tagging_key_x, tagging_key_y, 0) - // Round 1 (start, input_len=13): (DOM_SEP__PUBLIC_KEYS_HASH, nullifier_key_x, nullifier_key_y) - // Round 2 (sel, rem=4): (0, incoming_viewing_key_x, incoming_viewing_key_y) - // Round 3 (sel, rem=3): (0, outgoing_viewing_key_x, outgoing_viewing_key_y) - // Round 4 (sel, rem=2): (0, tagging_key_x, tagging_key_y) - // Round 5 (end): (0, padding (= 0), padding (= 0)) - // Where each leading 0 is the is_infinity flag for the preceding curve point, and rem = - // poseidon2_hash.num_perm_rounds_rem (the number of hashing rounds remaining), required in each - // lookup to constrain correct ordering of rounds. See each round below for individual input details. - - // Enforces the first poseidon round of public_keys_hash. Note that we must lookup poseidon2_hash.input_len == 13 + // We have 5 inputs (DOM_SEP + 4 hashes), hence 2 permutation rounds: + // public_keys_hash = H(DOM_SEP__PUBLIC_KEYS_HASH, npk_m_hash, incoming_viewing_key_hash, ovpk_m_hash, tpk_m_hash) + // Round 1 (start, input_len=5): (DOM_SEP__PUBLIC_KEYS_HASH, npk_m_hash, incoming_viewing_key_hash) + // Round 2 (end): (ovpk_m_hash, tpk_m_hash, 0) + + // Enforces the first poseidon round of public_keys_hash. Note that we must lookup poseidon2_hash.input_len == 5 // here since it is constrained in the poseidon trace on the start row. #[PUBLIC_KEYS_HASH_POSEIDON2_0] - sel { public_keys_hash_domain_separator, nullifier_key_x, nullifier_key_y, public_keys_hash, const_thirteen } + sel { public_keys_hash_domain_separator, nullifier_key_hash, incoming_viewing_key_hash, public_keys_hash, const_five } in poseidon2_hash.start { poseidon2_hash.input_0, poseidon2_hash.input_1, poseidon2_hash.input_2, poseidon2_hash.output, poseidon2_hash.input_len }; - // Enforces round 2 (poseidon2_hash.input_0 = 0 = nullifier_key_is_infinity). + // Enforces the second and final round of public_keys_hash. Note that we must enforce the padded value is zero here. #[PUBLIC_KEYS_HASH_POSEIDON2_1] - sel { precomputed.zero, incoming_viewing_key_x, incoming_viewing_key_y, public_keys_hash, const_four } - in poseidon2_hash.sel { poseidon2_hash.input_0, poseidon2_hash.input_1, poseidon2_hash.input_2, poseidon2_hash.output, poseidon2_hash.num_perm_rounds_rem }; - - // Enforces round 3 (poseidon2_hash.input_0 = 0 = incoming_viewing_key_is_infinity). - #[PUBLIC_KEYS_HASH_POSEIDON2_2] - sel { precomputed.zero, outgoing_viewing_key_x, outgoing_viewing_key_y, public_keys_hash, const_three } - in poseidon2_hash.sel { poseidon2_hash.input_0, poseidon2_hash.input_1, poseidon2_hash.input_2, poseidon2_hash.output, poseidon2_hash.num_perm_rounds_rem }; - - // Enforces round 4 (poseidon2_hash.input_0 = 0 = outgoing_viewing_key_is_infinity). - #[PUBLIC_KEYS_HASH_POSEIDON2_3] - sel { precomputed.zero, tagging_key_x, tagging_key_y, public_keys_hash, const_two } - in poseidon2_hash.sel { poseidon2_hash.input_0, poseidon2_hash.input_1, poseidon2_hash.input_2, poseidon2_hash.output, poseidon2_hash.num_perm_rounds_rem }; - - // Enforces round 5, the final round. This is a round entirely made of zeros: - // poseidon2_hash.input_0 = 0 = tagging_key_is_infinity - // poseidon2_hash.input_1 = 0 = padding - // poseidon2_hash.input_2 = 0 = padding - #[PUBLIC_KEYS_HASH_POSEIDON2_4] - sel { precomputed.zero, precomputed.zero, precomputed.zero, public_keys_hash } + sel { outgoing_viewing_key_hash, tagging_key_hash, precomputed.zero, public_keys_hash } in poseidon2_hash.end { poseidon2_hash.input_0, poseidon2_hash.input_1, poseidon2_hash.input_2, poseidon2_hash.output }; - // 4. Computation of preaddress + // 5. Computation of preaddress pol commit preaddress; // We have 3 inputs, hence a single Poseidon2 round: - // preaddress = H(DOM_SEP__CONTRACT_ADDRESS_V1, public_keys_hash, partial_address) - // Round 1 (start, input_len=3): (DOM_SEP__CONTRACT_ADDRESS_V1, public_keys_hash, partial_address) + // preaddress = H(DOM_SEP__CONTRACT_ADDRESS_V2, public_keys_hash, partial_address) + // Round 1 (start, input_len=3, end): (DOM_SEP__CONTRACT_ADDRESS_V2, public_keys_hash, partial_address) // Enforces the single round of preaddress. Since input_len=3 fills exactly one permutation, // this start lookup is also the final round and no separate end lookup is needed (the poseidon trace @@ -249,7 +222,7 @@ namespace address_derivation; // Elliptic Curve Operations /////////////////////////////// // - // This trace constrains two elliptic curve operations (steps 5 and 6 in above description); + // This trace constrains two elliptic curve operations (steps 6 and 7 in the description above); // preaddress_public_key = preaddress * G1 // address = (preaddress_public_key + incoming_viewing_key).x // @@ -309,11 +282,11 @@ namespace address_derivation; sel { preaddress_public_key_x, preaddress_public_key_y, precomputed.zero, incoming_viewing_key_x, incoming_viewing_key_y, precomputed.zero, - address, address_y, precomputed.zero + address, address_y } in ecc.sel { ecc.p_x, ecc.p_y, ecc.p_is_inf, ecc.q_x, ecc.q_y, ecc.q_is_inf, - ecc.r_x, ecc.r_y, ecc.r_is_inf + ecc.r_x, ecc.r_y }; // Note: We can safely assume the address point is not infinity since that would imply either @@ -322,6 +295,6 @@ namespace address_derivation; // preaddress_public_key_y == -incoming_viewing_key_y. // Though the ivk is hinted, we cannot choose it to be the inverse of the preaddress public key. // The preaddress public key is derived from the preaddress, which itself is a hash result containing - // the ivk as part of the public_keys_hash preimage. + // the ivk_m_hash as part of the public_keys_hash preimage. // In other words, we would need to impossibly choose this malicious ivk 'after' it has been used // to derive the preaddress public key we wish to exploit. diff --git a/barretenberg/cpp/pil/vm2/bytecode/contract_instance_retrieval.pil b/barretenberg/cpp/pil/vm2/bytecode/contract_instance_retrieval.pil index 9b13fed54cd7..98db11d441dd 100644 --- a/barretenberg/cpp/pil/vm2/bytecode/contract_instance_retrieval.pil +++ b/barretenberg/cpp/pil/vm2/bytecode/contract_instance_retrieval.pil @@ -53,7 +53,8 @@ include "update_check.pil"; * caller.exists, * caller.deployer_addr, // situational - only if caller needs it * caller.current_class_id, - * caller.init_hash // situational - only if caller needs it + * caller.init_hash, // situational - only if caller needs it + * caller.immutables_hash // situational - only if caller needs it * } in contract_instance_retrieval.sel { * contract_instance_retrieval.address, * contract_instance_retrieval.nullifier_tree_root, @@ -61,10 +62,11 @@ include "update_check.pil"; * contract_instance_retrieval.exists, * contract_instance_retrieval.deployer_addr, * contract_instance_retrieval.current_class_id, - * contract_instance_retrieval.init_hash + * contract_instance_retrieval.init_hash, + * contract_instance_retrieval.immutables_hash * }; * - * Situational columns (deployer_addr, init_hash) can be omitted if the caller doesn't need + * Situational columns (deployer_addr, init_hash, immutables_hash) can be omitted if the caller doesn't need * them. When omitted, they are only hinted for address derivation. This is secure because * incorrect values would break derivation of the given address. * @@ -103,6 +105,7 @@ namespace contract_instance_retrieval; pol commit current_class_id; pol commit original_class_id; // HINTED! pol commit init_hash; + pol commit immutables_hash; // Current state — these should be looked up and constrained by the caller. pol commit nullifier_tree_root; @@ -115,15 +118,14 @@ namespace contract_instance_retrieval; // or is just assigned "address" (from input) for non-protocol contracts. pol commit derived_address; - // Public keys (all hinted). - pol commit nullifier_key_x; - pol commit nullifier_key_y; + // Public keys (all hinted). Per AZIP-8, only the incoming viewing key is exchanged with the + // address derivation circuit as a Grumpkin point; the other three are hashes computed + // off-circuit by the PXE. + pol commit nullifier_key_hash; pol commit incoming_viewing_key_x; pol commit incoming_viewing_key_y; - pol commit outgoing_viewing_key_x; - pol commit outgoing_viewing_key_y; - pol commit tagging_key_x; - pol commit tagging_key_y; + pol commit outgoing_viewing_key_hash; + pol commit tagging_key_hash; // ==== Determine if It Is a Protocol Contract (<= max) ==== @@ -242,6 +244,8 @@ namespace contract_instance_retrieval; sel * (1 - exists) * original_class_id = 0; // technically not needed since original_class_id is hinted, but good for consistency #[INSTANCE_MEMBER_INIT_HASH_IS_ZERO_IF_DNE] sel * (1 - exists) * init_hash = 0; + #[INSTANCE_MEMBER_IMMUTABLES_HASH_IS_ZERO_IF_DNE] + sel * (1 - exists) * immutables_hash = 0; // Address derivation lookup (only if the nullifier exists or for protocol contract instances). #[ADDRESS_DERIVATION] @@ -251,28 +255,24 @@ namespace contract_instance_retrieval; deployer_addr, original_class_id, init_hash, - nullifier_key_x, - nullifier_key_y, + immutables_hash, + nullifier_key_hash, incoming_viewing_key_x, incoming_viewing_key_y, - outgoing_viewing_key_x, - outgoing_viewing_key_y, - tagging_key_x, - tagging_key_y + outgoing_viewing_key_hash, + tagging_key_hash } in address_derivation.sel { address_derivation.address, address_derivation.salt, address_derivation.deployer_addr, address_derivation.class_id, address_derivation.init_hash, - address_derivation.nullifier_key_x, - address_derivation.nullifier_key_y, + address_derivation.immutables_hash, + address_derivation.nullifier_key_hash, address_derivation.incoming_viewing_key_x, address_derivation.incoming_viewing_key_y, - address_derivation.outgoing_viewing_key_x, - address_derivation.outgoing_viewing_key_y, - address_derivation.tagging_key_x, - address_derivation.tagging_key_y + address_derivation.outgoing_viewing_key_hash, + address_derivation.tagging_key_hash }; // ==== Constrain That "current" Class ID Truly Is Current (Non-protocol Contracts That Exist) ==== diff --git a/barretenberg/cpp/pil/vm2/constants_gen.pil b/barretenberg/cpp/pil/vm2/constants_gen.pil index c23b524936ef..d03ee8f46fcb 100644 --- a/barretenberg/cpp/pil/vm2/constants_gen.pil +++ b/barretenberg/cpp/pil/vm2/constants_gen.pil @@ -180,7 +180,8 @@ namespace constants; pol DOM_SEP__CONTRACT_CLASS_ID = 3923495515; pol DOM_SEP__SALTED_INITIALIZATION_HASH = 2763052992; pol DOM_SEP__PUBLIC_KEYS_HASH = 777457226; + pol DOM_SEP__SINGLE_PUBLIC_KEY_HASH = 3452068255; pol DOM_SEP__PARTIAL_ADDRESS = 2103633018; - pol DOM_SEP__CONTRACT_ADDRESS_V1 = 1788365517; + pol DOM_SEP__CONTRACT_ADDRESS_V2 = 4099338721; pol DOM_SEP__PUBLIC_CALLDATA = 2760353947; diff --git a/barretenberg/cpp/pil/vm2/ecc.pil b/barretenberg/cpp/pil/vm2/ecc.pil index 7759d2161547..0c8ace2ce199 100644 --- a/barretenberg/cpp/pil/vm2/ecc.pil +++ b/barretenberg/cpp/pil/vm2/ecc.pil @@ -2,23 +2,32 @@ /** * This subtrace supports point addition over the Grumpkin curve. * Given two points, P & Q, this trace computes R = P + Q. - * PRECONDITIONS: The only assumption here is that the inputs P & Q are points on the Grumpkin curve (note that the Point at Infinity = (0, 0) is considered on the curve): - * Grumpkin Curve Eqn in SW form: Y^2 = X^3 − 17. + * PRECONDITIONS: This trace assumes that the inputs P & Q are points on the Grumpkin curve and infinity points are correctly + * flagged with p_is_inf and/or q_is_inf (note that the Point at Infinity = (0, 0) is considered on the curve): + * Grumpkin Curve Eqn in SW form: Y^2 = X^3 − 17. * Note: Grumpkin forms a 2-cycle with BN254, i.e the base field of one is the scalar field of the other and vice-versa. * * USAGE: This is a non-memory aware subtrace used to constrain point addition as defined above. Each point can be looked up * by coordinates (lookup as defined in ecc_mem.pil): * #[INPUT_OUTPUT_ECC_ADD] * sel_should_exec { - * p_x_n, p_y_n, p_is_inf, // Point P - * q_x_n, q_y_n, q_is_inf, // Point Q - * res_x, res_y, res_is_inf // Point R + * p_x_n, p_y_n, // Point P + * p_is_inf, // P == O + * q_x_n, q_y_n, // Point Q + * q_is_inf, // Q == O + * res_x, res_y // Point R * } in ecc.sel { - * ecc.p_x, ecc.p_y, ecc.p_is_inf, // Point P - * ecc.q_x, ecc.q_y, ecc.q_is_inf, // Point Q - * ecc.r_x, ecc.r_y, ecc.r_is_inf // Point R + * ecc.p_x, ecc.p_y, // Point P + * ecc.p_is_inf, // P == O + * ecc.q_x, ecc.q_y,, // Point Q + * ecc.q_is_inf, // Q == O + * ecc.r_x, ecc.r_y // Point R * }; * + * NOTE: For now, the calling trace MUST constrain that p_is_inf, q_is_inf above are correct. This is so if we have a calling + * trace in which we know inf would never be an input we can simply use precomputed.zero and avoid wasting gates on deriving is_inf. + * This follows the same logic for points being on the curve. + * * TRACE SHAPE: 1 single row per computation (P + Q = R). * * INTERACTIONS: This subtrace is looked up by: @@ -37,11 +46,11 @@ namespace ecc; // We perform point addition over our Short Weierstrass (SW) curve with 3 cases outlined in the last section ('Assign Result'). // The notation will be as follows: // P + Q = R where: - // P = (p_x, p_y, p_is_inf), Q = (q_x, q_y, q_is_inf), R = (r_x, r_y, r_is_inf), + // P = (p_x, p_y), Q = (q_x, q_y), R = (r_x, r_y), // where the coordinates satisfy: // y^2 = x^3 - 17 (unless is_inf is true). // The point at infinity, O, does not have valid coordinates (a property of SW curves). We represent it as: - // O = (0, 0, true). + // O = (0, 0). // Note: this is NOT enforced here for inputs, see ecc_mem.pil for example of constraining. // @@ -70,20 +79,20 @@ namespace ecc; // Point P in affine form pol commit p_x; pol commit p_y; + // Must be constrained by the calling trace: pol commit p_is_inf; // @boolean p_is_inf * (1 - p_is_inf) = 0; // Point Q in affine form pol commit q_x; pol commit q_y; + // Must be constrained by the calling trace: pol commit q_is_inf; // @boolean q_is_inf * (1 - q_is_inf) = 0; // Resulting Point R in affine form pol commit r_x; pol commit r_y; - pol commit r_is_inf; // @boolean - r_is_inf * (1 - r_is_inf) = 0; // Check x coordinates, i.e. p_x == q_x pol commit x_match; // @boolean @@ -147,9 +156,9 @@ namespace ecc; // If P != Q where x_match, this implies p_y == -q_y <==> P == -Q (INVERSE_PRED == true): // R := O // If P == O: - // R := Q (r_x := q_x, r_y := q_y, r_is_inf = q_is_inf) + // R := Q (r_x := q_x, r_y := q_y) // Vice versa, if Q == O: - // R := P (r_x := p_x, r_y := p_y, r_is_inf = p_is_inf) + // R := P (r_x := p_x, r_y := p_y) // pol INVERSE_PRED = x_match * (1 - y_match); @@ -182,6 +191,4 @@ namespace ecc; sel * (r_x - (EITHER_INF * (p_is_inf * q_x + q_is_inf * p_x)) - result_infinity * INFINITY_X - use_computed_result * COMPUTED_R_X) = 0; #[OUTPUT_Y_COORD] sel * (r_y - (EITHER_INF * (p_is_inf * q_y + q_is_inf * p_y)) - result_infinity * INFINITY_Y - use_computed_result * COMPUTED_R_Y) = 0; - #[OUTPUT_INF_FLAG] - sel * (r_is_inf - result_infinity) = 0; diff --git a/barretenberg/cpp/pil/vm2/ecc_mem.pil b/barretenberg/cpp/pil/vm2/ecc_mem.pil index efd63ca6814c..e7d6d41e01e1 100644 --- a/barretenberg/cpp/pil/vm2/ecc_mem.pil +++ b/barretenberg/cpp/pil/vm2/ecc_mem.pil @@ -8,28 +8,29 @@ include "precomputed.pil"; * This handles the memory writes when the ECADD opcode is executed by user code. * Given two points, P & Q, this trace constrains that both exist on the Grumpkin curve * and the claimed result point, R = P + Q, is written to memory addresses within range. + * A point exists on the curve if it satisfies the curve equation (SW form: Y^2 = X^3 − 17) + * or is the point at infinity, represented by (X, Y) = (INFINITY_X, INFINITY_Y) = (0, 0). * The reads of P and Q are handled by the registers in the execution trace. The correctness * of point addition is handled by the ECC subtrace. * * This trace writes the resulting embedded curve point to the addresses {dst, - * dst + 1, and dst + 2 }. Embedded curve points consist of the tuple of types - * {x: FF, y: FF, is_inf: U1 }. + * dst + 1 }. Embedded curve points consist of the tuple of types {x: FF, y: FF }. * - * PRECONDITIONS: Input point coordinates have tag checked FF coordinates and U1 is_inf - * flag (see Memory I/O below for details). + * PRECONDITIONS: Input point coordinates have tag checked FF coordinates (see Memory I/O + * below for details). * * USAGE: Dispatching lookup defined in execution.pil: * #[DISPATCH_TO_ECC_ADD] * sel_exec_dispatch_ecc_add { * clk, context_id, - * register[0], register[1], register[2], // Point P - * register[3], register[4], register[5], // Point Q - * rop[6], // Dst address + * register[0], register[1], // Point P + * register[2], register[3], // Point Q + * rop[4], // Dst address * sel_opcode_error // Error * } is ecc_add_mem.sel { * ecc_add_mem.execution_clk, ecc_add_mem.space_id, - * ecc_add_mem.p_x, ecc_add_mem.p_y, ecc_add_mem.p_is_inf, // Point P - * ecc_add_mem.q_x, ecc_add_mem.q_y, ecc_add_mem.q_is_inf, // Point Q + * ecc_add_mem.p_x, ecc_add_mem.p_y, // Point P + * ecc_add_mem.q_x, ecc_add_mem.q_y, // Point Q * ecc_add_mem.dst_addr[0], // Dst address * ecc_add_mem.err // Error * }; @@ -37,38 +38,30 @@ include "precomputed.pil"; * Opcode operands (relevant in EXECUTION when interacting with this gadget): * - rop[0]: p_x_addr * - rop[1]: p_y_addr - * - rop[2]: p_is_inf_addr - * - rop[3]: q_x_addr - * - rop[4]: q_y_addr - * - rop[5]: q_is_inf_addr - * - rop[6]: dst_addr + * - rop[2]: q_x_addr + * - rop[3]: q_y_addr + * - rop[4]: dst_addr * * Memory I/O: * - register[0]: M[p_x_addr] aka p_x (x coordinate of point P - read from memory by EXECUTION) * - p_x is tagged-checked by execution/registers to be FF based on instruction spec. * - register[1]: M[p_y_addr] aka p_y (y coordinate of point P - read from memory by EXECUTION) * - p_y is tagged-checked by execution/registers to be FF based on instruction spec. - * - register[2]: M[p_is_inf_addr] aka p_is_inf (boolean flag if P is the point at infinity - read from memory by EXECUTION) - * - p_is_inf is tagged-checked by execution/registers to be U1 based on instruction spec. - * - register[3]: M[q_x_addr] aka q_x (x coordinate of point Q - read from memory by EXECUTION) + * - register[2]: M[q_x_addr] aka q_x (x coordinate of point Q - read from memory by EXECUTION) * - q_x is tagged-checked by execution/registers to be FF based on instruction spec. - * - register[4]: M[q_y_addr] aka q_y (y coordinate of point Q - read from memory by EXECUTION) + * - register[3]: M[q_y_addr] aka q_y (y coordinate of point Q - read from memory by EXECUTION) * - q_y is tagged-checked by execution/registers to be FF based on instruction spec. - * - register[5]: M[q_is_inf_addr] aka q_is_inf (boolean flag if Q is the point at infinity - read from memory by EXECUTION) - * - q_is_inf is tagged-checked by execution/registers to be U1 based on instruction spec. - * - M[rop[6]]: M[dst_addr] aka res_x (x coordinate of the resulting point RES - written by this gadget) + * - M[rop[4]]: M[dst_addr] aka res_x (x coordinate of the resulting point RES - written by this gadget) * - guaranteed by this gadget to be FF. - * - M[rop[6]+1]: M[dst_offset+1] aka res_y (y coordinate of the resulting point RES - written by this gadget) + * - M[rop[4]+1]: M[dst_offset+1] aka res_y (y coordinate of the resulting point RES - written by this gadget) * - guaranteed by this gadget to be FF. - * - M[rop[6]+2]: M[dst_offset+2] aka res_is_inf (boolean flag if RES is the point at infinity - written by this gadget) - * - guaranteed by this gadget to be U1. * * ERROR HANDLING: * Two errors need to be handled as part of this trace, * (1) DST_OUT_OF_BOUNDS_ACCESS: If the writes would access a memory address outside * of the max AVM memory address (AVM_HIGHEST_MEM_ADDRESS). * (2) POINT_NOT_ON_CURVE: If either of the inputs (embedded curve points) do not - * satisfy the Grumpkin curve equation (SW form: Y^2 = X^3 − 17) + * exist on the Grumpkin curve. * * TRACE SHAPE: This subtrace writes the values within 1 single row (i.e. 3 output columns) * @@ -78,19 +71,27 @@ include "precomputed.pil"; * --> gt.pil * This subtrace is looked up by: * - execution.pil: To constrain the dispatch permutation for the ECADD opcode (#[DISPATCH_TO_ECC_ADD]). Includes memory - * reads (register[0] to register[5]), the initial write address (rop[6]), and error flag (sel_opcode_error). + * reads (register[0] to register[3]), the initial write address (rop[4]), and error flag (sel_opcode_error). * * This subtrace looks up: - * - memory.pil: To write the output point values (res_x, res_y, res_is_inf) to memory with standard write permutations - * (#[WRITE_MEM_i] for i = 0, 1, 2). + * - memory.pil: To write the output point values (res_x, res_y) to memory with standard write permutations + * (#[WRITE_MEM_i] for i = 0, 1). * - ecc.pil: To retrieve the output point R as the result of adding the points P and Q read from memory * (#[INPUT_OUTPUT_ECC_ADD]). See below for details on infinity points. * - gt.pil: To constrain that the maximum written memory address is within range (#[CHECK_DST_ADDR_IN_RANGE]). * - * This subtrace is connected to the ECC subtrace via a lookup. ECC is used by - * other subtraces internally (e.g., address derivation). We re-map any input infinity points to (0, 0) - * so ECC correctly manages edge cases. Resulting infinity points are guaranteed to be (0, 0) by the - * ECC subtrace (see #[OUTPUT_X_COORD] and #[OUTPUT_Y_COORD]). + * This subtrace is connected to the ECC subtrace via a lookup. ECC is used by other subtraces internally + * (e.g. address derivation). Now that the is_inf flag has been removed from noir (noir-lang/noir/#11926/) we consider + * a point to be infinity iff its coordinates are (0, 0); the noir standard representation (see relations #[P/Q_INF_X/Y_CHECK]). + * + * Note that the point at infinity, O, does not have valid coordinates (a property of SW curves like Grumpkin). We represent it + * as (0, 0) but any (ecc.INFINITY_X, ecc.INFINITY_Y) not satisfying the curve equation will be correctly handled in this trace. + * + * The ECC subtrace requires a correctly constrained is_inf flag for each point. We derive it within this circuit by enforcing + * (0, 0) <==> is_inf for input points P and Q: + * - (0, 0) ==> is_inf by #[P/Q_ON_CURVE_CHECK] (zero coordinates will fail this relation unless is_inf is set correctly). + * - is_inf ==> (0, 0) by #[P/Q_INF_X/Y_CHECK]. + * Resulting infinity points are guaranteed to be (0, 0) by the ECC subtrace (see #[OUTPUT_X_COORD] and #[OUTPUT_Y_COORD]). */ namespace ecc_add_mem; @@ -103,16 +104,17 @@ namespace ecc_add_mem; pol commit execution_clk; pol commit space_id; - pol commit dst_addr[3]; + pol commit dst_addr[2]; // dst_addr[0] constrained by the permutation to execution #[WRITE_INCR_DST_ADDR] dst_addr[1] = sel * (dst_addr[0] + 1); - dst_addr[2] = sel * (dst_addr[0] + 2); - // p_is_inf, q_is_inf are constrained to be @boolean in the ecc subtrace (see #[INPUT_OUTPUT_ECC_ADD]) - pol commit p_x, p_y, p_is_inf; - pol commit q_x, q_y, q_is_inf; + pol commit p_x, p_y; + pol commit q_x, q_y; + + // Needs to be committed columns as they are used in the lookups + pol commit p_is_inf, q_is_inf; // constrained to be @boolean in the ecc subtrace (see #[INPUT_OUTPUT_ECC_ADD]) //////////////////////////////////////////////// // Error Handling - Out of Range Memory Access @@ -121,15 +123,15 @@ namespace ecc_add_mem; // Use the comparison gadget to check that the max addresses are within range // The comparison gadget provides the ability to test GreaterThan so we check - // dst_addr[2] > max_mem_addr + // dst_addr[1] > max_mem_addr pol commit max_mem_addr; // Column needed until we support constants in lookups sel * (max_mem_addr - constants.AVM_HIGHEST_MEM_ADDRESS) = 0; // Preconditions to `gt` gadget require both inputs to be bounded by 2^128. - // `dst_addr[2]` = dst_addr[0] + 2 where dst_addr[0] is an address (< 2^32), so dst_addr[2] < 2^33. + // `dst_addr[1]` = dst_addr[0] + 1 where dst_addr[0] is an address (< 2^32), so dst_addr[1] < 2^33. // `max_mem_addr` = AVM_HIGHEST_MEM_ADDRESS which is < 2^32. #[CHECK_DST_ADDR_IN_RANGE] - sel { dst_addr[2], max_mem_addr, sel_dst_out_of_range_err } + sel { dst_addr[1], max_mem_addr, sel_dst_out_of_range_err } in gt.sel_others { gt.input_a, gt.input_b, gt.res }; @@ -142,6 +144,8 @@ namespace ecc_add_mem; pol commit sel_q_not_on_curve_err; // @boolean sel_q_not_on_curve_err * (1 - sel_q_not_on_curve_err) = 0; + // Note: The below additionally constrains that (X, Y) == (INFINITY_X, INFINITY_Y) ==> is_inf. See above description. + // Y^2 = X^3 − 17, re-formulate to Y^2 - (X^3 - 17) = 0 pol commit p_is_on_curve_eqn; // Needs to be committed to reduce relation degrees pol P_X3 = p_x * p_x * p_x; @@ -170,32 +174,31 @@ namespace ecc_add_mem; /////////////////////////////////////////////////////////////////////// // Dispatch inputs to ecc add and retrieve outputs /////////////////////////////////////////////////////////////////////// - pol commit res_x, res_y, res_is_inf; // res_is_inf is constrained to be @boolean in the ecc subtrace (see #[INPUT_OUTPUT_ECC_ADD]) + pol commit res_x, res_y; pol commit sel_should_exec; // @boolean (by definition) sel_should_exec = sel * (1 - err); - // Needs to be committed columns as they are used in the lookups - pol commit p_x_n, p_y_n; - pol commit q_x_n, q_y_n; - - // We re-map input infinity points to (0, 0) for ecc.pil. Output infinities are already constrained to be (0, 0) in the subtrace. - // Note that we cannot use p_x, p_y, etc. because they are read from memory in execution's #[DISPATCH_TO_ECC_ADD]. - sel_should_exec * (p_x_n - (1 - p_is_inf) * p_x - p_is_inf * ecc.INFINITY_X) = 0; - sel_should_exec * (p_y_n - (1 - p_is_inf) * p_y - p_is_inf * ecc.INFINITY_Y) = 0; - sel_should_exec * (q_x_n - (1 - q_is_inf) * q_x - q_is_inf * ecc.INFINITY_X) = 0; - sel_should_exec * (q_y_n - (1 - q_is_inf) * q_y - q_is_inf * ecc.INFINITY_Y) = 0; + // Constrains that the infinity flags required for the ecc trace have been set correctly: + #[P_INF_X_CHECK] + sel * p_is_inf * (p_x - ecc.INFINITY_X) = 0; + #[P_INF_Y_CHECK] + sel * p_is_inf * (p_y - ecc.INFINITY_Y) = 0; + #[Q_INF_X_CHECK] + sel * q_is_inf * (q_x - ecc.INFINITY_X) = 0; + #[Q_INF_Y_CHECK] + sel * q_is_inf * (q_y - ecc.INFINITY_Y) = 0; #[INPUT_OUTPUT_ECC_ADD] sel_should_exec { - p_x_n, p_y_n, p_is_inf, - q_x_n, q_y_n, q_is_inf, - res_x, res_y, res_is_inf + p_x, p_y, p_is_inf, + q_x, q_y, q_is_inf, + res_x, res_y } in ecc.sel { ecc.p_x, ecc.p_y, ecc.p_is_inf, ecc.q_x, ecc.q_y, ecc.q_is_inf, - ecc.r_x, ecc.r_y, ecc.r_is_inf + ecc.r_x, ecc.r_y }; //////////////////////////////////////////////// @@ -216,12 +219,3 @@ namespace ecc_add_mem; memory.sel_ecc_write[1] { memory.clk, memory.space_id, memory.address, memory.value, memory.tag, memory.rw }; - - #[WRITE_MEM_2] - sel_should_exec { - execution_clk, space_id, dst_addr[2], res_is_inf, /*U1_mem_tag=1*/ sel_should_exec, /*rw=1*/ sel_should_exec - } is - memory.sel_ecc_write[2] { - memory.clk, memory.space_id, memory.address, memory.value, memory.tag, memory.rw - }; - diff --git a/barretenberg/cpp/pil/vm2/execution.pil b/barretenberg/cpp/pil/vm2/execution.pil index 98bffa729581..fd7f7a2e217f 100644 --- a/barretenberg/cpp/pil/vm2/execution.pil +++ b/barretenberg/cpp/pil/vm2/execution.pil @@ -1277,10 +1277,10 @@ sel_exec_dispatch_keccakf1600 { }; // ECADD DISPATCHING -// Each input point uses 3 registers: -// P = [x, y, is_inf] -> register[0..2], Q = [x, y, is_inf] -> register[3..5] +// Each input point uses 2 registers: +// P = [x, y] -> register[0..1], Q = [x, y] -> register[2..3] // The output point is written to memory internally inside the ecc_add_mem (ecc_mem.pil) trace, starting at: -// dst_addr[0] -> rop[6] +// dst_addr[0] -> rop[4] // Outputs (#[WRITE_MEM_x]) and memory write checks (#[CHECK_DST_ADDR_IN_RANGE]) are hence handled by the trace. #[DISPATCH_TO_ECC_ADD] @@ -1290,13 +1290,11 @@ sel_exec_dispatch_ecc_add { // Point P register[0], register[1], - register[2], // Point Q + register[2], register[3], - register[4], - register[5], // Dst address - rop[6], + rop[4], // Error sel_opcode_error } is ecc_add_mem.sel { @@ -1305,11 +1303,9 @@ sel_exec_dispatch_ecc_add { // Point P ecc_add_mem.p_x, ecc_add_mem.p_y, - ecc_add_mem.p_is_inf, // Point Q ecc_add_mem.q_x, ecc_add_mem.q_y, - ecc_add_mem.q_is_inf, // Dst address ecc_add_mem.dst_addr[0], // Error diff --git a/barretenberg/cpp/pil/vm2/memory.pil b/barretenberg/cpp/pil/vm2/memory.pil index ed27382c2dc5..be46a78734a9 100644 --- a/barretenberg/cpp/pil/vm2/memory.pil +++ b/barretenberg/cpp/pil/vm2/memory.pil @@ -175,10 +175,9 @@ sel_sha256_op[6] * (1 - sel_sha256_op[6]) = 0; sel_sha256_op[7] * (1 - sel_sha256_op[7]) = 0; // Permutation selectors (ecc_mem.pil). -pol commit sel_ecc_write[3]; // @boolean +pol commit sel_ecc_write[2]; // @boolean sel_ecc_write[0] * (1 - sel_ecc_write[0]) = 0; sel_ecc_write[1] * (1 - sel_ecc_write[1]) = 0; -sel_ecc_write[2] * (1 - sel_ecc_write[2]) = 0; // Permutation selectors (to_radix_mem.pil). pol commit sel_to_radix_write; // @boolean @@ -212,7 +211,7 @@ sel = // Addressing. + sel_sha256_op[0] + sel_sha256_op[1] + sel_sha256_op[2] + sel_sha256_op[3] + sel_sha256_op[4] + sel_sha256_op[5] + sel_sha256_op[6] + sel_sha256_op[7] // ECC. - + sel_ecc_write[0] + sel_ecc_write[1] + sel_ecc_write[2] + + sel_ecc_write[0] + sel_ecc_write[1] // To Radix. + sel_to_radix_write; diff --git a/barretenberg/cpp/pil/vm2/opcodes/get_contract_instance.pil b/barretenberg/cpp/pil/vm2/opcodes/get_contract_instance.pil index 0cea9409ff82..38bbbad882bb 100644 --- a/barretenberg/cpp/pil/vm2/opcodes/get_contract_instance.pil +++ b/barretenberg/cpp/pil/vm2/opcodes/get_contract_instance.pil @@ -11,16 +11,17 @@ include "../precomputed.pil"; * - Bounds-check dst_offset+1 via #[WRITE_OUT_OF_BOUNDS_CHECK]. If dst_offset is the * maximum valid address, dst_offset+1 would be out of bounds. * - Look up member_enum in the precomputed table (#[PRECOMPUTED_INFO]) to determine - * validity and which member is selected (deployer, class_id, or init_hash). + * validity and which member is selected (deployer, class_id, init_hash or immutables_hash). * The precomputed table covers the full 8-bit range: - * +-------+----------------------+-------------+-------------+--------------+ - * | idx | is_valid_member_enum | is_deployer | is_class_id | is_init_hash | - * +-------+----------------------+-------------+-------------+--------------+ - * | 0 | 1 | 1 | 0 | 0 | - * | 1 | 1 | 0 | 1 | 0 | - * | 2 | 1 | 0 | 0 | 1 | - * | 3+ | 0 | 0 | 0 | 0 | - * +-------+----------------------+-------------+-------------+--------------+ + * +-------+----------------------+-------------+-------------+--------------+--------------------+ + * | idx | is_valid_member_enum | is_deployer | is_class_id | is_init_hash | is_immutables_hash | + * +-------+----------------------+-------------+-------------+--------------+--------------------+ + * | 0 | 1 | 1 | 0 | 0 | 0 | + * | 1 | 1 | 0 | 1 | 0 | 0 | + * | 2 | 1 | 0 | 0 | 1 | 0 | + * | 3 | 1 | 0 | 0 | 0 | 1 | + * | 4+ | 0 | 0 | 0 | 0 | 0 | + * +-------+----------------------+-------------+-------------+--------------+--------------------+ * - Aggregate errors via #[ERROR_AGGREGATION]. sel_error is set when either * is_valid_writes_in_bounds or is_valid_member_enum is false. * - [no error only] Retrieve contract instance via the ContractInstanceRetrieval gadget @@ -72,7 +73,7 @@ include "../precomputed.pil"; * ERROR HANDLING: * Two error conditions, which are NOT mutually exclusive: * - Write out-of-bounds: dst_offset == AVM_HIGHEST_MEM_ADDRESS (dst_offset+1 overflows). - * - Invalid member enum: member_enum >= 3 (precomputed table returns is_valid_member_enum=0). + * - Invalid member enum: member_enum >= 4 (precomputed table returns is_valid_member_enum=0). * On error, the row has sel_error=1. The contract instance retrieval lookup and memory * write permutations are disabled (their selectors is_valid_member_enum / is_valid_writes_in_bounds * are 0), so no destination interactions fire for error rows. @@ -121,13 +122,14 @@ namespace get_contract_instance; // (from precomputed.pil's GETCONTRACTINSTANCE opcode precomputed columns) // These are constrained only via the #[PRECOMPUTED_INFO] lookup when is_valid_writes_in_bounds == 1. // When the lookup is disabled (writes out of bounds), is_valid_member_enum is forced to 0 by - // #[IS_VALID_MEMBER_ENUM_ONLY_SET_BY_PRECOMPUTED_LOOKUP]. is_deployer/is_class_id/is_init_hash + // #[IS_VALID_MEMBER_ENUM_ONLY_SET_BY_PRECOMPUTED_LOOKUP]. is_deployer/is_class_id/is_init_hash/is_immutables_hash // are free in that case, but safe: they are only consumed in #[SELECTED_MEMBER] and the memory // write permutations, all of which are gated on is_valid_member_enum (which is 0). pol commit is_valid_member_enum; // @boolean (by lookup when is_valid_writes_in_bounds == 1) pol commit is_deployer; // @boolean (by lookup when is_valid_writes_in_bounds == 1) pol commit is_class_id; // @boolean (by lookup when is_valid_writes_in_bounds == 1) pol commit is_init_hash; // @boolean (by lookup when is_valid_writes_in_bounds == 1) + pol commit is_immutables_hash; // @boolean (by lookup when is_valid_writes_in_bounds == 1) // Note: member_enum is guaranteed to be 8 bits by execution (as a U8 immediate operand), // and the precomputed table is populated for the entire 8-bit range (256 rows). #[PRECOMPUTED_INFO] @@ -138,7 +140,8 @@ namespace get_contract_instance; is_valid_member_enum, is_deployer, is_class_id, - is_init_hash + is_init_hash, + is_immutables_hash } in precomputed.sel_range_8 { // inputs precomputed.idx, @@ -146,7 +149,8 @@ namespace get_contract_instance; precomputed.is_valid_member_enum, precomputed.is_deployer, precomputed.is_class_id, - precomputed.is_init_hash + precomputed.is_init_hash, + precomputed.is_immutables_hash }; // Do not allow is_valid_member_enum to be 1 if the precomputed lookup is disabled. #[IS_VALID_MEMBER_ENUM_ONLY_SET_BY_PRECOMPUTED_LOOKUP] @@ -171,6 +175,7 @@ namespace get_contract_instance; pol commit retrieved_deployer_addr; pol commit retrieved_class_id; pol commit retrieved_init_hash; + pol commit retrieved_immutables_hash; #[CONTRACT_INSTANCE_RETRIEVAL] is_valid_member_enum { @@ -182,7 +187,8 @@ namespace get_contract_instance; instance_exists, retrieved_deployer_addr, retrieved_class_id, - retrieved_init_hash + retrieved_init_hash, + retrieved_immutables_hash } in contract_instance_retrieval.sel { // inputs contract_instance_retrieval.address, @@ -192,14 +198,15 @@ namespace get_contract_instance; contract_instance_retrieval.exists, contract_instance_retrieval.deployer_addr, contract_instance_retrieval.current_class_id, - contract_instance_retrieval.init_hash + contract_instance_retrieval.init_hash, + contract_instance_retrieval.immutables_hash }; // Select the member indicated by the enum for writing to memory // Note: is_* selectors are guaranteed to be mutually exclusive booleans by the precomputed table. pol commit selected_member; #[SELECTED_MEMBER] - selected_member = is_deployer * retrieved_deployer_addr + is_class_id * retrieved_class_id + is_init_hash * retrieved_init_hash; + selected_member = is_deployer * retrieved_deployer_addr + is_class_id * retrieved_class_id + is_init_hash * retrieved_init_hash + is_immutables_hash * retrieved_immutables_hash; // Compute memory offsets for writing to pol commit member_write_offset; diff --git a/barretenberg/cpp/pil/vm2/precomputed.pil b/barretenberg/cpp/pil/vm2/precomputed.pil index 734d6b761e46..0e03550ddc90 100644 --- a/barretenberg/cpp/pil/vm2/precomputed.pil +++ b/barretenberg/cpp/pil/vm2/precomputed.pil @@ -435,7 +435,7 @@ pol constant out_tag; // ===== Section 14: GETCONTRACTINSTANCE opcode columns ===== // Maps contract instance member enum values to selectors indicating which field -// (deployer, class_id, init_hash) is being accessed. +// (deployer, class_id, init_hash, immutables_hash) is being accessed. // Used by the GETCONTRACTINSTANCE opcode. // // see opcodes/get_contract_instance.pil for ascii table @@ -444,3 +444,4 @@ pol constant is_valid_member_enum; pol constant is_deployer; pol constant is_class_id; pol constant is_init_hash; +pol constant is_immutables_hash; diff --git a/barretenberg/cpp/pil/vm2/scalar_mul.pil b/barretenberg/cpp/pil/vm2/scalar_mul.pil index cac3cd20e2dd..f77e5d86ce94 100644 --- a/barretenberg/cpp/pil/vm2/scalar_mul.pil +++ b/barretenberg/cpp/pil/vm2/scalar_mul.pil @@ -17,12 +17,17 @@ include "precomputed.pil"; * * The correctness of point addition (res + temp and temp + temp above) is constrained by a lookup into ecc.pil. * - * PRECONDITIONS: Input P is a valid point on the Grumpkin curve, input s is FF (see below note). + * PRECONDITIONS: Input P is a valid point on the Grumpkin curve, either satisfying the curve equation or the point + * at infinity representation (such that is_inf <==> (X, Y) == (ecc.INFINITY_X, ecc.INFINITY_Y)), and input s is FF. * Note: Grumpkin forms a 2-cycle with BN254, i.e the base field of one is the scalar field of the other and vice-versa, * so the scalar is actually a Fq value. We treat it as a Fr (FF tagged) value in circuit. Since r < q, we cannot use an * invalid scalar here. * - * USAGE: This is a non-memory aware subtrace used to constrain scalar point multiplicationas defined above. Each point can + * Note that once TODO(#AVM-266) is complete, is_inf will no longer be part of our point representation and we must either: + * - continue to rely on the 'calling' trace to inject a constrained is_inf, or + * - derive is_inf (<==> (X, Y) == (ecc.INFINITY_X, ecc.INFINITY_Y)) within this trace. + * + * USAGE: This is a non-memory aware subtrace used to constrain scalar point multiplication as defined above. Each point can * be looked up by coordinates (lookup as defined in address_derivation.pil): * #[PREADDRESS_SCALAR_MUL] * sel { @@ -116,6 +121,7 @@ namespace scalar_mul; sel_not_end * (point_x - point_x') = 0; #[INPUT_CONSISTENCY_Y] sel_not_end * (point_y - point_y') = 0; + // TODO(MW): remove/rework below? only used at end #[INPUT_CONSISTENCY_INF] sel_not_end * (point_inf - point_inf') = 0; #[INPUT_CONSISTENCY_SCALAR] @@ -172,7 +178,7 @@ namespace scalar_mul; sel_not_end { temp_x, temp_y, temp_inf, temp_x', temp_y', temp_inf', sel_not_end /* = 1 */ } in ecc.sel - { ecc.r_x, ecc.r_y, ecc.r_is_inf, ecc.p_x, ecc.p_y, ecc.p_is_inf, ecc.double_op }; + { ecc.r_x, ecc.r_y, ecc.result_infinity, ecc.p_x, ecc.p_y, ecc.p_is_inf, ecc.double_op }; /////////////////////////////// // Result Computation @@ -200,7 +206,7 @@ namespace scalar_mul; should_add { res_x, res_y, res_inf, res_x', res_y', res_inf', temp_x, temp_y, temp_inf } in ecc.sel - { ecc.r_x, ecc.r_y, ecc.r_is_inf, ecc.p_x, ecc.p_y, ecc.p_is_inf, ecc.q_x, ecc.q_y, ecc.q_is_inf }; + { ecc.r_x, ecc.r_y, ecc.result_infinity, ecc.p_x, ecc.p_y, ecc.p_is_inf, ecc.q_x, ecc.q_y, ecc.q_is_inf }; diff --git a/barretenberg/cpp/scripts/chonk-inputs.hash b/barretenberg/cpp/scripts/chonk-inputs.hash index 36bfba515855..74d7f158b3e2 100644 --- a/barretenberg/cpp/scripts/chonk-inputs.hash +++ b/barretenberg/cpp/scripts/chonk-inputs.hash @@ -1 +1 @@ -5d17cc1cfa051b60 +209dde8e69a27c9f diff --git a/barretenberg/cpp/src/barretenberg/avm_fuzzer/common/interfaces/dbs.cpp b/barretenberg/cpp/src/barretenberg/avm_fuzzer/common/interfaces/dbs.cpp index 3b1499cc35ce..d70fabc58e8f 100644 --- a/barretenberg/cpp/src/barretenberg/avm_fuzzer/common/interfaces/dbs.cpp +++ b/barretenberg/cpp/src/barretenberg/avm_fuzzer/common/interfaces/dbs.cpp @@ -136,10 +136,10 @@ ContractInstance FuzzerContractDB::from_logs(const PrivateLog& log) const FF contract_class_id = log.fields[offset++]; FF initialization_hash = log.fields[offset++]; PublicKeys public_keys = { - .nullifier_key = { log.fields[offset++], log.fields[offset++] }, + .nullifier_key_hash = log.fields[offset++], .incoming_viewing_key = { log.fields[offset++], log.fields[offset++] }, - .outgoing_viewing_key = { log.fields[offset++], log.fields[offset++] }, - .tagging_key = { log.fields[offset++], log.fields[offset++] }, + .outgoing_viewing_key_hash = log.fields[offset++], + .tagging_key_hash = log.fields[offset++], }; auto deployer = AztecAddress(log.fields[offset++]); return ContractInstance{ diff --git a/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzz_lib/fuzzer_context.cpp b/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzz_lib/fuzzer_context.cpp index b69cccff3231..c31decf6f8a4 100644 --- a/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzz_lib/fuzzer_context.cpp +++ b/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzz_lib/fuzzer_context.cpp @@ -40,10 +40,10 @@ ContractInstance create_default_instance(const ContractClassId& class_id) .initialization_hash = 0, .public_keys = PublicKeys{ - .nullifier_key = affine_one, + .nullifier_key_hash = 0, .incoming_viewing_key = affine_one, - .outgoing_viewing_key = affine_one, - .tagging_key = affine_one, + .outgoing_viewing_key_hash = 0, + .tagging_key_hash = 0, }, }; } diff --git a/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzz_lib/instruction.hpp b/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzz_lib/instruction.hpp index fce2e07f1a28..35e70ed2ab05 100644 --- a/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzz_lib/instruction.hpp +++ b/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzz_lib/instruction.hpp @@ -573,12 +573,10 @@ struct SUCCESSCOPY_Instruction { struct ECADD_Instruction { ParamRef p1_x; ParamRef p1_y; - ParamRef p1_infinite; ParamRef p2_x; ParamRef p2_y; - ParamRef p2_infinite; AddressRef result; - SERIALIZATION_FIELDS(p1_x, p1_y, p1_infinite, p2_x, p2_y, p2_infinite, result); + SERIALIZATION_FIELDS(p1_x, p1_y, p2_x, p2_y, result); }; /// @brief POSEIDON2PERM: Perform Poseidon2 permutation on 4 FF values @@ -881,8 +879,8 @@ inline std::ostream& operator<<(std::ostream& os, const FuzzInstruction& instruc << arg.dst_address; }, [&](ECADD_Instruction arg) { - os << "ECADD_Instruction " << arg.p1_x << " " << arg.p1_y << " " << arg.p1_infinite << " " << arg.p2_x - << " " << arg.p2_y << " " << arg.p2_infinite << " " << arg.result; + os << "ECADD_Instruction " << arg.p1_x << " " << arg.p1_y << " " << arg.p2_x << " " << arg.p2_y << " " + << arg.result; }, [&](POSEIDON2PERM_Instruction arg) { os << "POSEIDON2PERM_Instruction " << arg.src_address << " " << arg.dst_address; diff --git a/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzz_lib/program_block.cpp b/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzz_lib/program_block.cpp index b719d65bca5d..7c98c29b05f3 100644 --- a/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzz_lib/program_block.cpp +++ b/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzz_lib/program_block.cpp @@ -1287,40 +1287,32 @@ void ProgramBlock::process_ecadd_instruction(ECADD_Instruction instruction) #endif auto p1_x = memory_manager.get_resolved_address_and_operand_16(instruction.p1_x); auto p1_y = memory_manager.get_resolved_address_and_operand_16(instruction.p1_y); - auto p1_inf = memory_manager.get_resolved_address_and_operand_16(instruction.p1_infinite); auto p2_x = memory_manager.get_resolved_address_and_operand_16(instruction.p2_x); auto p2_y = memory_manager.get_resolved_address_and_operand_16(instruction.p2_y); - auto p2_inf = memory_manager.get_resolved_address_and_operand_16(instruction.p2_infinite); auto result = memory_manager.get_resolved_address_and_operand_16(instruction.result); - if (!p1_x.has_value() || !p1_y.has_value() || !p1_inf.has_value() || !p2_x.has_value() || !p2_y.has_value() || - !p2_inf.has_value() || !result.has_value()) { + if (!p1_x.has_value() || !p1_y.has_value() || !p2_x.has_value() || !p2_y.has_value() || !result.has_value()) { return; } preprocess_memory_addresses(p1_x.value().first); preprocess_memory_addresses(p1_y.value().first); - preprocess_memory_addresses(p1_inf.value().first); preprocess_memory_addresses(p2_x.value().first); preprocess_memory_addresses(p2_y.value().first); - preprocess_memory_addresses(p2_inf.value().first); preprocess_memory_addresses(result.value().first); auto ecadd_instruction = bb::avm2::testing::InstructionBuilder(bb::avm2::WireOpCode::ECADD) .operand(p1_x.value().second) .operand(p1_y.value().second) - .operand(p1_inf.value().second) .operand(p2_x.value().second) .operand(p2_y.value().second) - .operand(p2_inf.value().second) .operand(result.value().second) .build(); instructions.push_back(ecadd_instruction); - // ECADD writes 3 consecutive memory locations: result_x (FF), result_y (FF), result_is_inf (U1) + // ECADD writes 2 consecutive memory locations: result_x (FF), result_y (FF) memory_manager.set_memory_address(bb::avm2::MemoryTag::FF, result.value().first.absolute_address); memory_manager.set_memory_address(bb::avm2::MemoryTag::FF, result.value().first.absolute_address + 1); - memory_manager.set_memory_address(bb::avm2::MemoryTag::U1, result.value().first.absolute_address + 2); } void ProgramBlock::process_poseidon2perm_instruction(POSEIDON2PERM_Instruction instruction) diff --git a/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzzer_lib.cpp b/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzzer_lib.cpp index ec53d8b7c769..b33fb95ba8e8 100644 --- a/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzzer_lib.cpp +++ b/barretenberg/cpp/src/barretenberg/avm_fuzzer/fuzzer_lib.cpp @@ -299,10 +299,10 @@ ContractArtifacts build_bytecode_and_artifacts(FuzzerData& fuzzer_data) .current_contract_class_id = class_id, // Initial and current are the same .original_contract_class_id = class_id, .public_keys = { - .nullifier_key = { 0, 0 }, + .nullifier_key_hash = 0, .incoming_viewing_key = grumpkin::g1::element::one(), - .outgoing_viewing_key = { 0, 0 }, - .tagging_key = { 0, 0 }, + .outgoing_viewing_key_hash = 0, + .tagging_key_hash = 0, }, }; return { bytecode, contract_class, contract_instance }; diff --git a/barretenberg/cpp/src/barretenberg/avm_fuzzer/harness/ecc.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/avm_fuzzer/harness/ecc.fuzzer.cpp index 19e79a8078ed..5237bc909014 100644 --- a/barretenberg/cpp/src/barretenberg/avm_fuzzer/harness/ecc.fuzzer.cpp +++ b/barretenberg/cpp/src/barretenberg/avm_fuzzer/harness/ecc.fuzzer.cpp @@ -94,8 +94,8 @@ struct EccFuzzerInput { AffinePoint q = AffinePoint::one(); Fq scalar = Fq::zero(); // Addresses are organised as: - // p_x, p_y, p_inf, q_x, q_y, q_inf, output_addr - std::array addresses{}; + // p_x, p_y, q_x, q_y, output_addr + std::array addresses{}; EccFuzzerInput() = default; // Serialize to buffer @@ -109,7 +109,7 @@ struct EccFuzzerInput { Fq::serialize_to_buffer(scalar, buffer + offset); offset += sizeof(Fq); // Serialize memory addresses - std::memcpy(buffer + offset, &addresses[0], sizeof(MemoryAddress) * 7); + std::memcpy(buffer + offset, &addresses[0], sizeof(MemoryAddress) * 5); } static EccFuzzerInput from_buffer(const uint8_t* buffer) @@ -137,7 +137,7 @@ struct EccFuzzerInput { input.scalar = Fq::serialize_from_buffer(buffer + offset); offset += sizeof(Fq); // Deserialize memory addresses - std::memcpy(&input.addresses[0], buffer + offset, sizeof(MemoryAddress) * 7); + std::memcpy(&input.addresses[0], buffer + offset, sizeof(MemoryAddress) * 5); return input; } @@ -210,7 +210,7 @@ extern "C" size_t LLVMFuzzerCustomMutator(uint8_t* data, size_t size, size_t max case 7: { // Mutate memory addresses // Select a random address to mutate - std::uniform_int_distribution addr_dist(0, 6); + std::uniform_int_distribution addr_dist(0, 4); size_t addr_index = addr_dist(rng); input.addresses[addr_index] = mutate_memory_address(input.addresses[addr_index], rng); break; @@ -268,15 +268,13 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) mem->set(/*p_x_addr*/ input.addresses[0], MemoryValue::from_tag(MemoryTag::FF, point_p.x())); mem->set(/*p_y_addr*/ input.addresses[1], MemoryValue::from_tag(MemoryTag::FF, point_p.y())); - mem->set(/*p_inf*/ input.addresses[2], MemoryValue::from_tag(MemoryTag::U1, point_p.is_infinity() ? FF(1) : FF(0))); - mem->set(/*q_x_addr*/ input.addresses[3], MemoryValue::from_tag(MemoryTag::FF, point_q.x())); - mem->set(/*q_y_addr*/ input.addresses[4], MemoryValue::from_tag(MemoryTag::FF, point_q.y())); - mem->set(/*q_inf*/ input.addresses[5], MemoryValue::from_tag(MemoryTag::U1, point_q.is_infinity() ? FF(1) : FF(0))); + mem->set(/*q_x_addr*/ input.addresses[2], MemoryValue::from_tag(MemoryTag::FF, point_q.x())); + mem->set(/*q_y_addr*/ input.addresses[3], MemoryValue::from_tag(MemoryTag::FF, point_q.y())); EmbeddedCurvePoint scalar_mul_result; try { - ecc.add(*mem, point_p, point_q, /* output_addr */ input.addresses[6]); + ecc.add(*mem, point_p, point_q, /* output_addr */ input.addresses[4]); scalar_mul_result = ecc.scalar_mul(input.p, FF(uint256_t(input.scalar))); } catch (std::exception& e) { // info("Caught exception during ECC add: {}", e.what()); @@ -286,15 +284,13 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) EmbeddedCurvePoint expected_result = point_p + point_q; // Verify output in memory - MemoryValue res_x = mem->get(input.addresses[6]); - MemoryValue res_y = mem->get(input.addresses[6] + 1); - MemoryValue res_inf = mem->get(input.addresses[6] + 2); + MemoryValue res_x = mem->get(input.addresses[4]); + MemoryValue res_y = mem->get(input.addresses[4] + 1); - EmbeddedCurvePoint result_point = EmbeddedCurvePoint(res_x.as_ff(), res_y.as_ff(), res_inf.as_ff() == FF(1)); + EmbeddedCurvePoint result_point = EmbeddedCurvePoint(res_x.as_ff(), res_y.as_ff()); BB_ASSERT(result_point.x() == expected_result.x(), "Result x-coordinate mismatch"); BB_ASSERT(result_point.y() == expected_result.y(), "Result y-coordinate mismatch"); - BB_ASSERT(result_point.is_infinity() == expected_result.is_infinity(), "Result infinity flag mismatch"); // Non mem-aware ecmul result: expected_result = point_p * input.scalar; @@ -309,15 +305,13 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) auto trace = TestTraceContainer({ { { Column::execution_context_id, 0 }, // Point P - { Column::execution_register_0_, point_p.x() }, // = px - { Column::execution_register_1_, point_p.y() }, // = py - { Column::execution_register_2_, point_p.is_infinity() ? FF(1) : FF(0) }, // = p_inf + { Column::execution_register_0_, point_p.x() }, // = px + { Column::execution_register_1_, point_p.y() }, // = py // Point Q - { Column::execution_register_3_, point_q.x() }, // = qx - { Column::execution_register_4_, point_q.y() }, // = qy - { Column::execution_register_5_, point_q.is_infinity() ? FF(1) : FF(0) }, // = q_inf + { Column::execution_register_2_, point_q.x() }, // = qx + { Column::execution_register_3_, point_q.y() }, // = qy // Dst address - { Column::execution_rop_6_, input.addresses[6] }, // = dst_addr + { Column::execution_rop_4_, input.addresses[4] }, // = dst_addr { Column::execution_sel_exec_dispatch_ecc_add, 1 }, // = sel { Column::execution_sel_opcode_error, error ? 1 : 0 }, // = sel_err } }); diff --git a/barretenberg/cpp/src/barretenberg/avm_fuzzer/mutations/bytecode.cpp b/barretenberg/cpp/src/barretenberg/avm_fuzzer/mutations/bytecode.cpp index a4dddc705162..45ef5d2e1975 100644 --- a/barretenberg/cpp/src/barretenberg/avm_fuzzer/mutations/bytecode.cpp +++ b/barretenberg/cpp/src/barretenberg/avm_fuzzer/mutations/bytecode.cpp @@ -206,7 +206,7 @@ void mutate_contract_instances(std::vector& contract_instances break; case 3: // Mutate nullifier key - mutate_point(instance.public_keys.nullifier_key, rng); + mutate_field(instance.public_keys.nullifier_key_hash, rng, BASIC_FIELD_MUTATION_CONFIGURATION); break; case 4: // Mutate incoming viewing key @@ -214,11 +214,11 @@ void mutate_contract_instances(std::vector& contract_instances break; case 5: // Mutate outgoing viewing key - mutate_point(instance.public_keys.outgoing_viewing_key, rng); + mutate_field(instance.public_keys.outgoing_viewing_key_hash, rng, BASIC_FIELD_MUTATION_CONFIGURATION); break; case 6: // Mutate tagging key - mutate_point(instance.public_keys.tagging_key, rng); + mutate_field(instance.public_keys.tagging_key_hash, rng, BASIC_FIELD_MUTATION_CONFIGURATION); break; default: break; diff --git a/barretenberg/cpp/src/barretenberg/avm_fuzzer/mutations/instructions/instruction.cpp b/barretenberg/cpp/src/barretenberg/avm_fuzzer/mutations/instructions/instruction.cpp index 02b2278f658d..6801ee5ff5d3 100644 --- a/barretenberg/cpp/src/barretenberg/avm_fuzzer/mutations/instructions/instruction.cpp +++ b/barretenberg/cpp/src/barretenberg/avm_fuzzer/mutations/instructions/instruction.cpp @@ -428,17 +428,15 @@ std::vector InstructionMutator::generate_ecadd_instruction(std: // Random mode: use existing memory values (may fail if not valid points on curve) return { ECADD_Instruction{ .p1_x = generate_variable_ref(rng), .p1_y = generate_variable_ref(rng), - .p1_infinite = generate_variable_ref(rng), .p2_x = generate_variable_ref(rng), .p2_y = generate_variable_ref(rng), - .p2_infinite = generate_variable_ref(rng), .result = generate_address_ref(rng, MAX_16BIT_OPERAND) } }; } // Backfill mode: generate valid points on the Grumpkin curve and SET them - // 6 SET instructions (2 points * 3 fields each) + 1 ECADD = 7 instructions + // 4 SET instructions (2 points * 4 fields each) + 1 ECADD = 5 instructions std::vector instructions; - instructions.reserve(7); + instructions.reserve(5); // Generate a valid point via scalar multiplication of the generator (always on curve) auto generate_point = [&rng]() { @@ -447,17 +445,12 @@ std::vector InstructionMutator::generate_ecadd_instruction(std: }; // Generate SET instructions to backfill a point at the given addresses - auto backfill_point = [&instructions](const bb::avm2::EmbeddedCurvePoint& point, - AddressRef x_addr, - AddressRef y_addr, - AddressRef inf_addr) { + auto backfill_point = [&instructions]( + const bb::avm2::EmbeddedCurvePoint& point, AddressRef x_addr, AddressRef y_addr) { instructions.push_back( SET_FF_Instruction{ .value_tag = bb::avm2::MemoryTag::FF, .result_address = x_addr, .value = point.x() }); instructions.push_back( SET_FF_Instruction{ .value_tag = bb::avm2::MemoryTag::FF, .result_address = y_addr, .value = point.y() }); - instructions.push_back(SET_8_Instruction{ .value_tag = bb::avm2::MemoryTag::U1, - .result_address = inf_addr, - .value = static_cast(point.is_infinity() ? 1 : 0) }); }; auto p1 = generate_point(); @@ -466,20 +459,16 @@ std::vector InstructionMutator::generate_ecadd_instruction(std: // Generate addresses (SET_FF uses 16-bit, SET_8 uses 8-bit operands) AddressRef p1_x_addr = generate_address_ref(rng, MAX_16BIT_OPERAND); AddressRef p1_y_addr = generate_address_ref(rng, MAX_16BIT_OPERAND); - AddressRef p1_inf_addr = generate_address_ref(rng, MAX_8BIT_OPERAND); AddressRef p2_x_addr = generate_address_ref(rng, MAX_16BIT_OPERAND); AddressRef p2_y_addr = generate_address_ref(rng, MAX_16BIT_OPERAND); - AddressRef p2_inf_addr = generate_address_ref(rng, MAX_8BIT_OPERAND); - backfill_point(p1, p1_x_addr, p1_y_addr, p1_inf_addr); - backfill_point(p2, p2_x_addr, p2_y_addr, p2_inf_addr); + backfill_point(p1, p1_x_addr, p1_y_addr); + backfill_point(p2, p2_x_addr, p2_y_addr); instructions.push_back(ECADD_Instruction{ .p1_x = p1_x_addr, .p1_y = p1_y_addr, - .p1_infinite = p1_inf_addr, .p2_x = p2_x_addr, .p2_y = p2_y_addr, - .p2_infinite = p2_inf_addr, .result = generate_address_ref(rng, MAX_16BIT_OPERAND) }); return instructions; @@ -1476,8 +1465,8 @@ void InstructionMutator::mutate_successcopy_instruction(SUCCESSCOPY_Instruction& void InstructionMutator::mutate_ecadd_instruction(ECADD_Instruction& instruction, std::mt19937_64& rng) { - // ECADD has 7 operands, select one to mutate - int choice = std::uniform_int_distribution(0, 6)(rng); + // ECADD has 5 operands, select one to mutate + int choice = std::uniform_int_distribution(0, 4)(rng); switch (choice) { case 0: mutate_param_ref(instruction.p1_x, rng, MemoryTag::FF, MAX_16BIT_OPERAND); @@ -1486,18 +1475,12 @@ void InstructionMutator::mutate_ecadd_instruction(ECADD_Instruction& instruction mutate_param_ref(instruction.p1_y, rng, MemoryTag::FF, MAX_16BIT_OPERAND); break; case 2: - mutate_param_ref(instruction.p1_infinite, rng, MemoryTag::U1, MAX_16BIT_OPERAND); - break; - case 3: mutate_param_ref(instruction.p2_x, rng, MemoryTag::FF, MAX_16BIT_OPERAND); break; - case 4: + case 3: mutate_param_ref(instruction.p2_y, rng, MemoryTag::FF, MAX_16BIT_OPERAND); break; - case 5: - mutate_param_ref(instruction.p2_infinite, rng, MemoryTag::U1, MAX_16BIT_OPERAND); - break; - case 6: + case 4: mutate_address_ref(instruction.result, rng, MAX_16BIT_OPERAND); break; } diff --git a/barretenberg/cpp/src/barretenberg/aztec/aztec_constants.hpp b/barretenberg/cpp/src/barretenberg/aztec/aztec_constants.hpp index 070d5bbc80ef..e63b9d7e3615 100644 --- a/barretenberg/cpp/src/barretenberg/aztec/aztec_constants.hpp +++ b/barretenberg/cpp/src/barretenberg/aztec/aztec_constants.hpp @@ -233,7 +233,7 @@ #define AVM_POSEIDON2_BASE_L2_GAS 360 #define AVM_SHA256COMPRESSION_BASE_L2_GAS 12288 #define AVM_KECCAKF1600_BASE_L2_GAS 58176 -#define AVM_ECADD_BASE_L2_GAS 270 +#define AVM_ECADD_BASE_L2_GAS 180 #define AVM_TORADIXBE_BASE_L2_GAS 24 #define AVM_CALLDATACOPY_DYN_L2_GAS 3 #define AVM_RETURNDATACOPY_DYN_L2_GAS 3 @@ -272,7 +272,8 @@ #define DOM_SEP__CONTRACT_CLASS_ID 3923495515UL #define DOM_SEP__SALTED_INITIALIZATION_HASH 2763052992UL #define DOM_SEP__PUBLIC_KEYS_HASH 777457226UL +#define DOM_SEP__SINGLE_PUBLIC_KEY_HASH 3452068255UL #define DOM_SEP__PARTIAL_ADDRESS 2103633018UL -#define DOM_SEP__CONTRACT_ADDRESS_V1 1788365517UL +#define DOM_SEP__CONTRACT_ADDRESS_V2 4099338721UL #define DOM_SEP__BLOCK_HEADER_HASH 4195546849UL #define DOM_SEP__PUBLIC_CALLDATA 2760353947UL diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp index a60ce0cedaf0..e00b57168858 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp @@ -252,9 +252,8 @@ void update_max_witness_index_from_opcode(Acir::Opcode const& opcode, AcirFormat } }, [&](const Acir::Opcode::MemoryOp& arg) { - update_max_witness_index_from_expression(arg.op.index, af); - update_max_witness_index_from_expression(arg.op.value, af); - update_max_witness_index_from_expression(arg.op.operation, af); + update_max_witness_index_from_witness(arg.op.index); + update_max_witness_index_from_witness(arg.op.value); }, [&](const Acir::Opcode::BrilligCall& arg) { for (const auto& input : arg.inputs) { @@ -703,7 +702,6 @@ void add_blackbox_func_call_to_acir_format(Acir::Opcode::BlackBoxFuncCall const& .predicate = parse_input(arg.predicate), .out_point_x = to_witness((*arg.outputs)[0]), .out_point_y = to_witness((*arg.outputs)[1]), - .out_point_is_infinite = to_witness((*arg.outputs)[2]), }); af.original_opcode_indices.multi_scalar_mul_constraints.push_back(opcode_index); }, @@ -711,14 +709,11 @@ void add_blackbox_func_call_to_acir_format(Acir::Opcode::BlackBoxFuncCall const& af.ec_add_constraints.push_back(EcAdd{ .input1_x = parse_input((*arg.input1)[0]), .input1_y = parse_input((*arg.input1)[1]), - .input1_infinite = parse_input((*arg.input1)[2]), .input2_x = parse_input((*arg.input2)[0]), .input2_y = parse_input((*arg.input2)[1]), - .input2_infinite = parse_input((*arg.input2)[2]), .predicate = parse_input(arg.predicate), .result_x = to_witness((*arg.outputs)[0]), .result_y = to_witness((*arg.outputs)[1]), - .result_infinite = to_witness((*arg.outputs)[2]), }); af.original_opcode_indices.ec_add_constraints.push_back(opcode_index); }, @@ -817,36 +812,8 @@ BlockConstraint memory_init_to_block_constraint(Acir::Opcode::MemoryInit const& void add_memory_op_to_block_constraint(Acir::Opcode::MemoryOp const& mem_op, BlockConstraint& block) { - // Lambda to convert an Acir::Expression to a witness index. Noir always emits a single unscaled witness term for - // memory op indices and values, so anything else is a malformed input. - auto acir_expression_to_witness = [](const Acir::Expression& expr) -> uint32_t { - BB_ASSERT(expr.mul_terms.empty(), "MemoryOp should not have multiplication terms"); - BB_ASSERT_EQ(expr.linear_combinations.size(), 1U, "MemoryOp expression must be a single witness"); - - const fr a_scaling = from_buffer_with_bound_checks(std::get<0>(expr.linear_combinations[0])); - const fr constant_term = from_buffer_with_bound_checks(expr.q_c); - - BB_ASSERT(a_scaling == fr::one() && constant_term == fr::zero(), - "MemoryOp expression must be a single unscaled witness with no constant term"); - - return std::get<1>(expr.linear_combinations[0]).value; - }; - - // Lambda to determine whether a memory operation is a read or write operation - auto is_read_operation = [](const Acir::Expression& expr) { - BB_ASSERT(expr.mul_terms.empty(), "MemoryOp expression should not have multiplication terms"); - BB_ASSERT(expr.linear_combinations.empty(), "MemoryOp expression should not have linear terms"); - - const fr const_term = from_buffer_with_bound_checks(expr.q_c); - - BB_ASSERT((const_term == fr::one()) || (const_term == fr::zero()), - "MemoryOp expression should be either zero or one"); - - // A read operation is given by a zero Expression - return const_term == fr::zero(); - }; - - AccessType access_type = is_read_operation(mem_op.op.operation) ? AccessType::Read : AccessType::Write; + // Acir::MemOp::read is the serialized MemOpKind bool: false = Read, true = Write. + AccessType access_type = mem_op.op.read ? AccessType::Write : AccessType::Read; if (access_type == AccessType::Write) { // We are not allowed to write on the databus BB_ASSERT((block.type != BlockType::CallData) && (block.type != BlockType::ReturnData)); @@ -856,8 +823,8 @@ void add_memory_op_to_block_constraint(Acir::Opcode::MemoryOp const& mem_op, Blo MemOp acir_mem_op = MemOp{ .access_type = access_type, - .index = acir_expression_to_witness(mem_op.op.index), - .value = acir_expression_to_witness(mem_op.op.value), + .index = mem_op.op.index.value, + .value = mem_op.op.value.value, }; block.trace.push_back(acir_mem_op); } diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.test.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.test.cpp index 12b15b737f0e..7b619640e656 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.test.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.test.cpp @@ -20,6 +20,45 @@ namespace { auto& engine = numeric::get_debug_randomness(); } // namespace +TEST(BlockConstraintMemOpEncoding, ReadFlagFalseDecodesAsRead) +{ + Acir::Opcode::MemoryInit mem_init{ + .block_id = Acir::BlockId{ .value = 0 }, + .init = { Acir::Witness{ .value = 0 } }, + .block_type = Acir::BlockType{ .value = Acir::BlockType::CallData{ .value = 0 } }, + }; + BlockConstraint block = memory_init_to_block_constraint(mem_init); + + Acir::Opcode::MemoryOp mem_op{ + .block_id = Acir::BlockId{ .value = 0 }, + .op = Acir::MemOp{ .read = false, .index = Acir::Witness{ .value = 1 }, .value = Acir::Witness{ .value = 2 } }, + }; + + EXPECT_NO_THROW(add_memory_op_to_block_constraint(mem_op, block)); + + ASSERT_EQ(block.trace.size(), 1); + EXPECT_EQ(block.trace[0].access_type, AccessType::Read); + EXPECT_EQ(block.trace[0].index, 1); + EXPECT_EQ(block.trace[0].value, 2); +} + +TEST(BlockConstraintMemOpEncoding, AccessTypeEncodesToReadFlag) +{ + const MemOp read_op{ + .access_type = AccessType::Read, + .index = 1, + .value = 2, + }; + const MemOp write_op{ + .access_type = AccessType::Write, + .index = 3, + .value = 4, + }; + + EXPECT_FALSE(mem_op_to_acir_mem_op(read_op).read); + EXPECT_TRUE(mem_op_to_acir_mem_op(write_op).read); +} + template struct ROMTestParams { using Builder = Builder_; static constexpr size_t table_size = TableSize_; @@ -304,12 +343,10 @@ using RAMTestConfigs = testing::Types, RAMTestParams, RAMTestParams, - RAMTestParams, RAMTestParams, RAMTestParams, RAMTestParams, - RAMTestParams, - RAMTestParams>; + RAMTestParams>; TYPED_TEST_SUITE(RAMTest, RAMTestConfigs); diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/ec_operations.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/ec_operations.cpp index 66d4b8b382c2..8ad5b8595e4d 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/ec_operations.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/ec_operations.cpp @@ -46,38 +46,25 @@ template void create_ec_add_constraint(Builder& builder, cons field_ct input_result_x = field_ct::from_witness_index(&builder, input.result_x); field_ct input_result_y = field_ct::from_witness_index(&builder, input.result_y); - bool_ct input_result_infinite = bool_ct(field_ct::from_witness_index(&builder, input.result_infinite)); if (builder.is_write_vk_mode()) { builder.set_variable(input_result_x.get_witness_index(), bb::grumpkin::g1::affine_one.x); builder.set_variable(input_result_y.get_witness_index(), bb::grumpkin::g1::affine_one.y); - builder.set_variable(input_result_infinite.get_witness_index(), bb::fr(0)); // generator is finite } - cycle_group_ct input1_point = - to_grumpkin_point(input.input1_x, input.input1_y, input.input1_infinite, predicate, builder); - cycle_group_ct input2_point = - to_grumpkin_point(input.input2_x, input.input2_y, input.input2_infinite, predicate, builder); + cycle_group_ct input1_point = to_grumpkin_point(input.input1_x, input.input1_y, predicate, builder); + cycle_group_ct input2_point = to_grumpkin_point(input.input2_x, input.input2_y, predicate, builder); // Use public constructor which auto-detects infinity from (0,0) coordinates. // Note that input_result is computed by Noir and passed to bb via ACIR. Hence, it is always a valid point on // Grumpkin, so we don't need to assert on curve. cycle_group_ct input_result(input_result_x, input_result_y, /*assert_on_curve=*/false); - // Constrain the result_infinite witness against the auto-detected infinity from coordinates. - // Use conditional_assign so the constraint is inactive when predicate is false. - bool_ct expected_infinite = - bool_ct::conditional_assign(predicate, input_result.is_point_at_infinity(), input_result_infinite); - input_result_infinite.assert_equal(expected_infinite); - // Step 2. cycle_group_ct result = input1_point + input2_point; // The assert_equal method standardizes both points before comparing, so if either of them is the point at - // infinity, the coordinates will be assigned to be (0,0). This is OK as long as Noir developers do not use the - // coordinates of a point at infinity (otherwise input_result might be the point at infinity different from (0, - // 0, true), and the fact that assert_equal passes doesn't imply anything for the original coordinates of - // input_result). + // infinity, the coordinates will be assigned to be (0,0). cycle_group_ct to_be_asserted_equal = cycle_group_ct::conditional_assign(predicate, input_result, result); result.assert_equal(to_be_asserted_equal); } diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/ec_operations.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/ec_operations.hpp index b1c9bee4dfff..e7969be3fcf5 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/ec_operations.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/ec_operations.hpp @@ -13,35 +13,30 @@ namespace acir_format { /** * @brief Constraints for addition of two points on the Grumpkin curve. * - * @details EcAdd constraints have 10 components: + * @details EcAdd constraints have 7 components: * - input1_x: x-coordinate of the first input point * - input1_y: y-coordinate of the first input point - * - input1_infinite: flag indicating if the first input point is the point at infinity * - input2_x: x-coordinate of the second input point * - input2_y: y-coordinate of the second input point - * - input2_infinite: flag indicating if the second input point is the point at infinity * - predicate: flag indicating whether the constraint is active * - result_x: witness index for the x-coordinate of the resulting point * - result_y: witness index for the y-coordinate of the resulting point - * - result_infinite: witness index for the flag indicating if the result is the point at infinity * - * The data related to input1 and input2 can either be given by witnesses or constants. However, x and y coordinates - * pertaining to the same input must be either all witnesses or all constants. + * The point at infinity is represented by the coordinates (0, 0). The data related to input1 and input2 can either be + * given by witnesses or constants. However, x and y coordinates pertaining to the same input must be either all + * witnesses or all constants. */ struct EcAdd { WitnessOrConstant input1_x; WitnessOrConstant input1_y; - WitnessOrConstant input1_infinite; WitnessOrConstant input2_x; WitnessOrConstant input2_y; - WitnessOrConstant input2_infinite; // Predicate indicating whether the constraint should be disabled: // - true: the constraint is valid // - false: the constraint is disabled, i.e it must not fail and can return whatever. WitnessOrConstant predicate; uint32_t result_x; uint32_t result_y; - uint32_t result_infinite; friend bool operator==(EcAdd const& lhs, EcAdd const& rhs) = default; }; diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/ec_operations.test.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/ec_operations.test.cpp index 27f80a89566c..848b5a80c5d9 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/ec_operations.test.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/ec_operations.test.cpp @@ -60,15 +60,12 @@ template class EcOperationsTesting auto construct_point = [&](const GrumpkinPoint& point, bool as_constant) -> std::vector> { if (as_constant) { // Point is constant - return { WitnessOrConstant::from_constant(point.x), - WitnessOrConstant::from_constant(point.y), - WitnessOrConstant::from_constant(point.is_point_at_infinity() ? FF(1) : FF(0)) }; + return { WitnessOrConstant::from_constant(point.x), WitnessOrConstant::from_constant(point.y) }; } // Point is witness std::vector point_indices = add_to_witness_and_track_indices(witness_values, point); return { WitnessOrConstant::from_index(point_indices[0]), - WitnessOrConstant::from_index(point_indices[1]), - WitnessOrConstant::from_index(point_indices[2]) }; + WitnessOrConstant::from_index(point_indices[1]) }; }; // Determine which inputs are constants based on the Constancy template parameter @@ -87,14 +84,11 @@ template class EcOperationsTesting ec_add_constraint = EcAdd{ .input1_x = input1_fields[0], .input1_y = input1_fields[1], - .input1_infinite = input1_fields[2], .input2_x = input2_fields[0], .input2_y = input2_fields[1], - .input2_infinite = input2_fields[2], .predicate = WitnessOrConstant::from_index(predicate_index), .result_x = result_indices[0], .result_y = result_indices[1], - .result_infinite = result_indices[2], }; } @@ -124,7 +118,6 @@ template class EcOperationsTesting // Tamper with the result (always a witness) by setting it to the generator point witness_values[constraint.result_x] = GrumpkinPoint::one().x; witness_values[constraint.result_y] = GrumpkinPoint::one().y; - witness_values[constraint.result_infinite] = FF::zero(); break; } case InvalidWitness::Target::None: @@ -296,34 +289,29 @@ TYPED_TEST(EcOperationsTestsBothConstant, InvalidWitnesses) } // ============================================================ -// Infinity flag tests +// Infinity tests: the point at infinity is encoded as (0, 0). // ============================================================ using GrumpkinPoint = bb::grumpkin::g1::affine_element; using FF = bb::fr; struct AcirPoint { - FF x, y, inf; - static AcirPoint from_native(const GrumpkinPoint& p) - { - return { p.x, p.y, p.is_point_at_infinity() ? FF(1) : FF(0) }; - } - static AcirPoint infinity() { return { FF(0), FF(0), FF(1) }; } + FF x, y; + static AcirPoint from_native(const GrumpkinPoint& p) { return { p.x, p.y }; } + static AcirPoint infinity() { return { FF(0), FF(0) }; } }; template class EcOperationsInfinityTests : public ::testing::Test { protected: static void SetUpTestSuite() { bb::srs::init_file_crs_factory(bb::srs::bb_crs_path()); } - // Push an AcirPoint to the witness vector and return the [x, y, inf] indices. - static std::array push_point(WitnessVector& witness, const AcirPoint& pt) + // Push an AcirPoint to the witness vector and return the [x, y] indices. + static std::array push_point(WitnessVector& witness, const AcirPoint& pt) { uint32_t xi = static_cast(witness.size()); witness.emplace_back(pt.x); uint32_t yi = static_cast(witness.size()); witness.emplace_back(pt.y); - uint32_t ii = static_cast(witness.size()); - witness.emplace_back(pt.inf); - return { xi, yi, ii }; + return { xi, yi }; } // Build an EcAdd constraint (predicate=1) from three ACIR points. @@ -340,14 +328,11 @@ template class EcOperationsInfinityTests : public ::testing:: EcAdd c{ .input1_x = WitnessOrConstant::from_index(i1[0]), .input1_y = WitnessOrConstant::from_index(i1[1]), - .input1_infinite = WitnessOrConstant::from_index(i1[2]), .input2_x = WitnessOrConstant::from_index(i2[0]), .input2_y = WitnessOrConstant::from_index(i2[1]), - .input2_infinite = WitnessOrConstant::from_index(i2[2]), .predicate = WitnessOrConstant::from_index(pred_idx), .result_x = r[0], .result_y = r[1], - .result_infinite = r[2], }; return { c, witness }; } @@ -365,7 +350,7 @@ template class EcOperationsInfinityTests : public ::testing:: TYPED_TEST_SUITE(EcOperationsInfinityTests, BuilderTypes); -// P + (-P) = point_at_infinity: valid proof with result_infinite=1, result_x=0, result_y=0. +// P + (-P) = (0, 0): valid circuit. TYPED_TEST(EcOperationsInfinityTests, ResultIsInfinity) { BB_DISABLE_ASSERTS(); @@ -376,37 +361,7 @@ TYPED_TEST(EcOperationsInfinityTests, ResultIsInfinity) EXPECT_TRUE(ok) << "P + (-P) = infinity should produce a valid circuit"; } -// A finite result with result_infinite=1 (forged) must fail. -TYPED_TEST(EcOperationsInfinityTests, ForgedInfinityFlagOnFiniteResultFails) -{ - BB_DISABLE_ASSERTS(); - GrumpkinPoint p = GrumpkinPoint::random_element(); - GrumpkinPoint q = GrumpkinPoint::random_element(); - ASSERT_FALSE((p + q).is_point_at_infinity()); - auto [constraint, witness] = - TestFixture::make_ec_add(AcirPoint::from_native(p), AcirPoint::from_native(q), AcirPoint::from_native(p + q)); - witness[constraint.result_infinite] = FF(1); // forge: finite result claimed as infinite - - auto [ok, err] = TestFixture::run_circuit(constraint, witness); - EXPECT_TRUE(!ok || err.find("assert_eq") != std::string::npos) - << "Forged infinity flag on finite result should fail"; -} - -// An infinity result with result_infinite=0 (forged) must fail. -TYPED_TEST(EcOperationsInfinityTests, ForgedFiniteFlagOnInfinityResultFails) -{ - BB_DISABLE_ASSERTS(); - GrumpkinPoint p = GrumpkinPoint::random_element(); - // Forge result: (0,0) coordinates but is_infinite=0 (should be 1) - auto [constraint, witness] = TestFixture::make_ec_add( - AcirPoint::from_native(p), AcirPoint::from_native(-p), AcirPoint{ FF(0), FF(0), FF(0) }); - - auto [ok, err] = TestFixture::run_circuit(constraint, witness); - EXPECT_TRUE(!ok || err.find("assert_eq") != std::string::npos) - << "Forged finite flag on infinity result should fail"; -} - -// Input point at infinity (∞ + P = P): should produce a valid circuit. +// Input point at infinity (∞ + P = P): valid circuit. TYPED_TEST(EcOperationsInfinityTests, Input1IsInfinity) { BB_DISABLE_ASSERTS(); @@ -417,17 +372,3 @@ TYPED_TEST(EcOperationsInfinityTests, Input1IsInfinity) auto [ok, err] = TestFixture::run_circuit(constraint, witness); EXPECT_TRUE(ok) << "infinity + P = P should produce a valid circuit"; } - -// Input point with forged input_infinite=1 (non-zero coordinates) must fail. -TYPED_TEST(EcOperationsInfinityTests, ForgedInputInfinityFlagFails) -{ - BB_DISABLE_ASSERTS(); - GrumpkinPoint p = GrumpkinPoint::random_element(); - GrumpkinPoint q = GrumpkinPoint::random_element(); - auto [constraint, witness] = - TestFixture::make_ec_add(AcirPoint::from_native(p), AcirPoint::from_native(q), AcirPoint::from_native(p + q)); - witness[constraint.input1_infinite.index] = FF(1); // forge: finite input1 claimed as infinite - - auto [ok, err] = TestFixture::run_circuit(constraint, witness); - EXPECT_TRUE(!ok || err.find("assert_eq") != std::string::npos) << "Forged input infinity flag should fail"; -} diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp index e4f6adb5cc71..8f9febf543bc 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp @@ -43,8 +43,8 @@ template inline constexpr size_t BLAKE3 = 2158 + ZERO_GATE + template inline constexpr size_t KECCAK_PERMUTATION = 17387 + ZERO_GATE + MEGA_OFFSET; template inline constexpr size_t POSEIDON2_PERMUTATION = (IsMegaBuilder ? 27 : 73) + ZERO_GATE + MEGA_OFFSET; -template inline constexpr size_t MULTI_SCALAR_MUL = 3563 + ZERO_GATE; -template inline constexpr size_t EC_ADD = 84 + ZERO_GATE + MEGA_OFFSET; +template inline constexpr size_t MULTI_SCALAR_MUL = 3557 + ZERO_GATE; +template inline constexpr size_t EC_ADD = 76 + ZERO_GATE + MEGA_OFFSET; template inline constexpr size_t BLOCK_ROM_READ = 9 + ZERO_GATE + MEGA_OFFSET; template inline constexpr size_t BLOCK_RAM_READ = 9 + ZERO_GATE + MEGA_OFFSET; template inline constexpr size_t BLOCK_RAM_WRITE = 18 + ZERO_GATE + MEGA_OFFSET; diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/multi_scalar_mul.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/multi_scalar_mul.cpp index 6be1896928f5..dca9f880c246 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/multi_scalar_mul.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/multi_scalar_mul.cpp @@ -83,13 +83,11 @@ static MsmInputs reconstruct_msm_inputs(Builder& builder, const MultiSc // Reconstruct expected result field_ct input_result_x = field_ct::from_witness_index(&builder, input.out_point_x); field_ct input_result_y = field_ct::from_witness_index(&builder, input.out_point_y); - bool_ct input_result_infinite = bool_ct(field_ct::from_witness_index(&builder, input.out_point_is_infinite)); // If no valid witness assignments, set result to generator point to avoid errors during circuit construction if (builder.is_write_vk_mode()) { builder.set_variable(input_result_x.get_witness_index(), bb::grumpkin::g1::affine_one.x); builder.set_variable(input_result_y.get_witness_index(), bb::grumpkin::g1::affine_one.y); - builder.set_variable(input_result_infinite.get_witness_index(), bb::fr(0)); // generator is finite } // Use public constructor which auto-detects infinity from (0,0) coordinates. @@ -97,25 +95,17 @@ static MsmInputs reconstruct_msm_inputs(Builder& builder, const MultiSc // Grumpkin, so we don't need to assert on curve. cycle_group_ct input_result(input_result_x, input_result_y, /*assert_on_curve=*/false); - // Constrain the out_point_is_infinite witness against the auto-detected infinity from coordinates. - // Use conditional_assign so the constraint is inactive when predicate is false. - bool_ct expected_infinite = - bool_ct::conditional_assign(predicate, input_result.is_point_at_infinity(), input_result_infinite); - input_result_infinite.assert_equal(expected_infinite); - // Reconstruct points and scalars std::vector points; std::vector scalars; - // Ensure that the number of points and scalars are consistent (3 field elements per point, 2 per scalar) - BB_ASSERT(input.points.size() * 2 == input.scalars.size() * 3, "MultiScalarMul input size mismatch"); + // Ensure that the number of points and scalars are consistent (2 field elements per point, 2 per scalar) + BB_ASSERT_EQ(input.points.size(), input.scalars.size(), "MultiScalarMul input size mismatch"); - for (size_t i = 0; i < input.points.size(); i += 3) { - cycle_group_ct input_point = - to_grumpkin_point(input.points[i], input.points[i + 1], input.points[i + 2], predicate, builder); + for (size_t i = 0; i < input.points.size(); i += 2) { + cycle_group_ct input_point = to_grumpkin_point(input.points[i], input.points[i + 1], predicate, builder); - cycle_scalar_ct scalar = - to_grumpkin_scalar(input.scalars[2 * (i / 3)], input.scalars[2 * (i / 3) + 1], predicate, builder); + cycle_scalar_ct scalar = to_grumpkin_scalar(input.scalars[i], input.scalars[i + 1], predicate, builder); points.push_back(input_point); scalars.push_back(scalar); diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/multi_scalar_mul.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/multi_scalar_mul.hpp index 8c9d051e4dd9..fbb3a12f47c8 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/multi_scalar_mul.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/multi_scalar_mul.hpp @@ -23,7 +23,6 @@ struct MultiScalarMul { uint32_t out_point_x; uint32_t out_point_y; - uint32_t out_point_is_infinite; friend bool operator==(MultiScalarMul const& lhs, MultiScalarMul const& rhs) = default; }; diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/multi_scalar_mul.test.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/multi_scalar_mul.test.cpp index a1e15b726336..408112454fe5 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/multi_scalar_mul.test.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/multi_scalar_mul.test.cpp @@ -65,19 +65,15 @@ template class MultiScalarMulTesti constexpr bool scalars_are_constant = (Constancy == InputConstancy::Scalars || Constancy == InputConstancy::Both); - // Helper to add points: either as witnesses or constants based on Constancy + // Helper to add points: either as witnesses or constants based on Constancy. + // Points are encoded as (x, y); the point at infinity is encoded as (0, 0). auto construct_points = [&]() -> std::vector> { if constexpr (points_are_constant) { - // Points are constants - return { WitnessOrConstant::from_constant(point.x), - WitnessOrConstant::from_constant(point.y), - WitnessOrConstant::from_constant(point.is_point_at_infinity() ? FF(1) : FF(0)) }; + return { WitnessOrConstant::from_constant(point.x), WitnessOrConstant::from_constant(point.y) }; } - // Points are witnesses std::vector point_indices = add_to_witness_and_track_indices(witness_values, point); return { WitnessOrConstant::from_index(point_indices[0]), - WitnessOrConstant::from_index(point_indices[1]), - WitnessOrConstant::from_index(point_indices[2]) }; + WitnessOrConstant::from_index(point_indices[1]) }; }; // Helper to add scalars: either as witnesses or constants based on Constancy @@ -112,7 +108,6 @@ template class MultiScalarMulTesti .predicate = WitnessOrConstant::from_index(predicate_index), .out_point_x = result_indices[0], .out_point_y = result_indices[1], - .out_point_is_infinite = result_indices[2], }; } @@ -142,7 +137,6 @@ template class MultiScalarMulTesti // Tamper with the result by setting it to the generator point witness_values[constraint.out_point_x] = GrumpkinPoint::one().x; witness_values[constraint.out_point_y] = GrumpkinPoint::one().y; - witness_values[constraint.out_point_is_infinite] = FF::zero(); break; } case InvalidWitness::Target::None: @@ -314,20 +308,16 @@ TYPED_TEST(MultiScalarMulTestsBothConstant, InvalidWitnesses) } // ============================================================ -// Infinity flag tests +// Infinity tests: the point at infinity is encoded as (0, 0). // ============================================================ -// ACIR convention for encoding a curve point: (x, y, is_infinite) as field values. using MsmGrumpkinPoint = bb::grumpkin::g1::affine_element; using MsmFF = bb::fr; struct MsmAcirPoint { - MsmFF x, y, inf; - static MsmAcirPoint from_native(const MsmGrumpkinPoint& p) - { - return { p.x, p.y, p.is_point_at_infinity() ? MsmFF(1) : MsmFF(0) }; - } - static MsmAcirPoint infinity() { return { MsmFF(0), MsmFF(0), MsmFF(1) }; } + MsmFF x, y; + static MsmAcirPoint from_native(const MsmGrumpkinPoint& p) { return { p.x, p.y }; } + static MsmAcirPoint infinity() { return { MsmFF(0), MsmFF(0) }; } }; // Grumpkin scalar split into low 128-bit and high 128-bit field limbs. @@ -347,16 +337,14 @@ template class MsmSingleTermFixture : public ::testing::Test protected: static void SetUpTestSuite() { bb::srs::init_file_crs_factory(bb::srs::bb_crs_path()); } - // Push an MsmAcirPoint to witness; return [x, y, inf] indices. - static std::array push_point(WitnessVector& witness, const MsmAcirPoint& pt) + // Push an MsmAcirPoint to witness; return [x, y] indices. + static std::array push_point(WitnessVector& witness, const MsmAcirPoint& pt) { uint32_t xi = static_cast(witness.size()); witness.emplace_back(pt.x); uint32_t yi = static_cast(witness.size()); witness.emplace_back(pt.y); - uint32_t ii = static_cast(witness.size()); - witness.emplace_back(pt.inf); - return { xi, yi, ii }; + return { xi, yi }; } // Push a scalar (lo, hi) to witness; return [lo_idx, hi_idx]. @@ -381,14 +369,11 @@ template class MsmSingleTermFixture : public ::testing::Test witness.emplace_back(MsmFF(1)); MultiScalarMul c{ - .points = { WitnessOrConstant::from_index(p[0]), - WitnessOrConstant::from_index(p[1]), - WitnessOrConstant::from_index(p[2]) }, + .points = { WitnessOrConstant::from_index(p[0]), WitnessOrConstant::from_index(p[1]) }, .scalars = { WitnessOrConstant::from_index(s[0]), WitnessOrConstant::from_index(s[1]) }, .predicate = WitnessOrConstant::from_index(pred_idx), .out_point_x = r[0], .out_point_y = r[1], - .out_point_is_infinite = r[2], }; return { c, witness }; } @@ -408,7 +393,7 @@ template class MultiScalarMulInfinityTests : public MsmSingle TYPED_TEST_SUITE(MultiScalarMulInfinityTests, BuilderTypes); -// scalar=0 → result = ∞: valid proof with out_point_is_infinite=1. +// scalar=0 → result = (0, 0): valid circuit. TYPED_TEST(MultiScalarMulInfinityTests, ResultIsInfinity) { BB_DISABLE_ASSERTS(); @@ -420,40 +405,6 @@ TYPED_TEST(MultiScalarMulInfinityTests, ResultIsInfinity) EXPECT_TRUE(ok) << "0 * P = infinity should produce a valid circuit"; } -// A finite result with out_point_is_infinite=1 (forged) must fail. -TYPED_TEST(MultiScalarMulInfinityTests, ForgedInfinityFlagOnFiniteResultFails) -{ - BB_DISABLE_ASSERTS(); - MsmGrumpkinPoint point = MsmGrumpkinPoint::random_element(); - bb::fq scalar_native = bb::fq::random_element(); - while (scalar_native.is_zero()) { - scalar_native = bb::fq::random_element(); - } - MsmGrumpkinPoint result = point * scalar_native; - ASSERT_FALSE(result.is_point_at_infinity()); - auto [constraint, witness] = TestFixture::make_msm( - MsmAcirPoint::from_native(point), MsmScalar::from_native(scalar_native), MsmAcirPoint::from_native(result)); - witness[constraint.out_point_is_infinite] = MsmFF(1); // forge: finite result claimed as infinite - - auto [ok, err] = TestFixture::run_circuit(constraint, witness); - EXPECT_TRUE(!ok || err.find("assert_eq") != std::string::npos) - << "Forged infinity flag on finite result should fail"; -} - -// An infinity result with out_point_is_infinite=0 (forged) must fail. -TYPED_TEST(MultiScalarMulInfinityTests, ForgedFiniteFlagOnInfinityResultFails) -{ - BB_DISABLE_ASSERTS(); - MsmGrumpkinPoint point = MsmGrumpkinPoint::random_element(); - // Forge result: (0,0) coordinates but is_infinite=0 (should be 1) - auto [constraint, witness] = TestFixture::make_msm( - MsmAcirPoint::from_native(point), MsmScalar::zero(), MsmAcirPoint{ MsmFF(0), MsmFF(0), MsmFF(0) }); - - auto [ok, err] = TestFixture::run_circuit(constraint, witness); - EXPECT_TRUE(!ok || err.find("assert_eq") != std::string::npos) - << "Forged finite flag on infinity result should fail"; -} - // ============================================================ // Scalar field-bounds tests // ============================================================ diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/opcode_gate_count.test.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/opcode_gate_count.test.cpp index 73c722bd6c1a..43876202a8cb 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/opcode_gate_count.test.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/opcode_gate_count.test.cpp @@ -391,25 +391,21 @@ TYPED_TEST(OpcodeGateCountTests, MultiScalarMul) // Create a minimal MSM with one point and one scalar msm_constraint.points.push_back(WitnessOrConstant::from_index(0)); // x msm_constraint.points.push_back(WitnessOrConstant::from_index(1)); // y - msm_constraint.points.push_back(WitnessOrConstant::from_index(2)); // is_infinite - msm_constraint.scalars.push_back(WitnessOrConstant::from_index(3)); // scalar_lo - msm_constraint.scalars.push_back(WitnessOrConstant::from_index(4)); // scalar_hi + msm_constraint.scalars.push_back(WitnessOrConstant::from_index(2)); // scalar_lo + msm_constraint.scalars.push_back(WitnessOrConstant::from_index(3)); // scalar_hi - msm_constraint.predicate = WitnessOrConstant::from_index(5); + msm_constraint.predicate = WitnessOrConstant::from_index(4); - msm_constraint.out_point_x = 6; - msm_constraint.out_point_y = 7; - msm_constraint.out_point_is_infinite = 8; + msm_constraint.out_point_x = 5; + msm_constraint.out_point_y = 6; - WitnessVector witness(9, fr(0)); + WitnessVector witness(7, fr(0)); // Set valid point coordinates witness[0] = point.x; witness[1] = point.y; - witness[2] = fr(0); - witness[6] = point.x; - witness[7] = point.y; - witness[8] = fr(0); + witness[5] = point.x; + witness[6] = point.y; AcirFormat constraint_system = constraint_to_acir_format(msm_constraint); @@ -431,29 +427,23 @@ TYPED_TEST(OpcodeGateCountTests, EcAdd) EcAdd ec_add_constraint{ .input1_x = WitnessOrConstant::from_index(0), .input1_y = WitnessOrConstant::from_index(1), - .input1_infinite = WitnessOrConstant::from_index(2), - .input2_x = WitnessOrConstant::from_index(3), - .input2_y = WitnessOrConstant::from_index(4), - .input2_infinite = WitnessOrConstant::from_index(5), - .predicate = WitnessOrConstant::from_index(6), - .result_x = 7, - .result_y = 8, - .result_infinite = 9, + .input2_x = WitnessOrConstant::from_index(2), + .input2_y = WitnessOrConstant::from_index(3), + .predicate = WitnessOrConstant::from_index(4), + .result_x = 5, + .result_y = 6, }; - WitnessVector witness(10, fr(0)); + WitnessVector witness(7, fr(0)); // Set valid point1 coordinates witness[0] = point1.x; witness[1] = point1.y; - witness[2] = fr(0); // Set valid point2 coordinates - witness[3] = point2.x; - witness[4] = point2.y; - witness[5] = fr(0); + witness[2] = point2.x; + witness[3] = point2.y; // Set valid result coordinates - witness[7] = point1.x; - witness[8] = point1.y; - witness[9] = fr(0); + witness[5] = point1.x; + witness[6] = point1.y; AcirFormat constraint_system = constraint_to_acir_format(ec_add_constraint); diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp index cb20bb49b70b..d27238411e6f 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp @@ -1125,23 +1125,19 @@ struct BlackBoxOp { struct EmbeddedCurveAdd { Acir::MemoryAddress input1_x; Acir::MemoryAddress input1_y; - Acir::MemoryAddress input1_infinite; Acir::MemoryAddress input2_x; Acir::MemoryAddress input2_y; - Acir::MemoryAddress input2_infinite; Acir::HeapArray result; friend bool operator==(const EmbeddedCurveAdd&, const EmbeddedCurveAdd&); void msgpack_pack(auto& packer) const { - packer.pack_array(7); + packer.pack_array(5); packer.pack(input1_x); packer.pack(input1_y); - packer.pack(input1_infinite); packer.pack(input2_x); packer.pack(input2_y); - packer.pack(input2_infinite); packer.pack(result); } @@ -1152,20 +1148,16 @@ struct BlackBoxOp { auto kvmap = Helpers::make_kvmap(o, name); Helpers::conv_fld_from_kvmap(kvmap, name, "input1_x", input1_x, false); Helpers::conv_fld_from_kvmap(kvmap, name, "input1_y", input1_y, false); - Helpers::conv_fld_from_kvmap(kvmap, name, "input1_infinite", input1_infinite, false); Helpers::conv_fld_from_kvmap(kvmap, name, "input2_x", input2_x, false); Helpers::conv_fld_from_kvmap(kvmap, name, "input2_y", input2_y, false); - Helpers::conv_fld_from_kvmap(kvmap, name, "input2_infinite", input2_infinite, false); Helpers::conv_fld_from_kvmap(kvmap, name, "result", result, false); } else if (o.type == msgpack::type::ARRAY) { auto array = o.via.array; Helpers::conv_fld_from_array(array, name, "input1_x", input1_x, 0); Helpers::conv_fld_from_array(array, name, "input1_y", input1_y, 1); - Helpers::conv_fld_from_array(array, name, "input1_infinite", input1_infinite, 2); - Helpers::conv_fld_from_array(array, name, "input2_x", input2_x, 3); - Helpers::conv_fld_from_array(array, name, "input2_y", input2_y, 4); - Helpers::conv_fld_from_array(array, name, "input2_infinite", input2_infinite, 5); - Helpers::conv_fld_from_array(array, name, "result", result, 6); + Helpers::conv_fld_from_array(array, name, "input2_x", input2_x, 2); + Helpers::conv_fld_from_array(array, name, "input2_y", input2_y, 3); + Helpers::conv_fld_from_array(array, name, "result", result, 4); } else { throw_or_abort("expected MAP or ARRAY for " + name); } @@ -3224,7 +3216,7 @@ struct BlackBoxFuncCall { std::vector points; std::vector scalars; Acir::FunctionInput predicate; - std::shared_ptr> outputs; + std::shared_ptr> outputs; friend bool operator==(const MultiScalarMul&, const MultiScalarMul&); @@ -3259,10 +3251,10 @@ struct BlackBoxFuncCall { }; struct EmbeddedCurveAdd { - std::shared_ptr> input1; - std::shared_ptr> input2; + std::shared_ptr> input1; + std::shared_ptr> input2; Acir::FunctionInput predicate; - std::shared_ptr> outputs; + std::shared_ptr> outputs; friend bool operator==(const EmbeddedCurveAdd&, const EmbeddedCurveAdd&); @@ -4141,16 +4133,16 @@ struct BrilligOutputs { }; struct MemOp { - Acir::Expression operation; - Acir::Expression index; - Acir::Expression value; + bool read; + Acir::Witness index; + Acir::Witness value; friend bool operator==(const MemOp&, const MemOp&); void msgpack_pack(auto& packer) const { packer.pack_array(3); - packer.pack(operation); + packer.pack(read); packer.pack(index); packer.pack(value); } @@ -4160,12 +4152,12 @@ struct MemOp { std::string name = "MemOp"; if (o.type == msgpack::type::MAP) { auto kvmap = Helpers::make_kvmap(o, name); - Helpers::conv_fld_from_kvmap(kvmap, name, "operation", operation, false); + Helpers::conv_fld_from_kvmap(kvmap, name, "read", read, false); Helpers::conv_fld_from_kvmap(kvmap, name, "index", index, false); Helpers::conv_fld_from_kvmap(kvmap, name, "value", value, false); } else if (o.type == msgpack::type::ARRAY) { auto array = o.via.array; - Helpers::conv_fld_from_array(array, name, "operation", operation, 0); + Helpers::conv_fld_from_array(array, name, "read", read, 0); Helpers::conv_fld_from_array(array, name, "index", index, 1); Helpers::conv_fld_from_array(array, name, "value", value, 2); } else { @@ -4792,7 +4784,6 @@ struct PublicInputs { struct Circuit { std::string function_name; - uint32_t current_witness_index; std::vector opcodes; std::vector private_parameters; Acir::PublicInputs public_parameters; @@ -4803,9 +4794,8 @@ struct Circuit { void msgpack_pack(auto& packer) const { - packer.pack_array(7); + packer.pack_array(6); packer.pack(function_name); - packer.pack(current_witness_index); packer.pack(opcodes); packer.pack(private_parameters); packer.pack(public_parameters); @@ -4819,7 +4809,6 @@ struct Circuit { if (o.type == msgpack::type::MAP) { auto kvmap = Helpers::make_kvmap(o, name); Helpers::conv_fld_from_kvmap(kvmap, name, "function_name", function_name, false); - Helpers::conv_fld_from_kvmap(kvmap, name, "current_witness_index", current_witness_index, false); Helpers::conv_fld_from_kvmap(kvmap, name, "opcodes", opcodes, false); Helpers::conv_fld_from_kvmap(kvmap, name, "private_parameters", private_parameters, false); Helpers::conv_fld_from_kvmap(kvmap, name, "public_parameters", public_parameters, false); @@ -4828,12 +4817,11 @@ struct Circuit { } else if (o.type == msgpack::type::ARRAY) { auto array = o.via.array; Helpers::conv_fld_from_array(array, name, "function_name", function_name, 0); - Helpers::conv_fld_from_array(array, name, "current_witness_index", current_witness_index, 1); - Helpers::conv_fld_from_array(array, name, "opcodes", opcodes, 2); - Helpers::conv_fld_from_array(array, name, "private_parameters", private_parameters, 3); - Helpers::conv_fld_from_array(array, name, "public_parameters", public_parameters, 4); - Helpers::conv_fld_from_array(array, name, "return_values", return_values, 5); - Helpers::conv_fld_from_array(array, name, "assert_messages", assert_messages, 6); + Helpers::conv_fld_from_array(array, name, "opcodes", opcodes, 1); + Helpers::conv_fld_from_array(array, name, "private_parameters", private_parameters, 2); + Helpers::conv_fld_from_array(array, name, "public_parameters", public_parameters, 3); + Helpers::conv_fld_from_array(array, name, "return_values", return_values, 4); + Helpers::conv_fld_from_array(array, name, "assert_messages", assert_messages, 5); } else { throw_or_abort("expected MAP or ARRAY for " + name); } @@ -6535,18 +6523,12 @@ inline bool operator==(const BlackBoxOp::EmbeddedCurveAdd& lhs, const BlackBoxOp if (!(lhs.input1_y == rhs.input1_y)) { return false; } - if (!(lhs.input1_infinite == rhs.input1_infinite)) { - return false; - } if (!(lhs.input2_x == rhs.input2_x)) { return false; } if (!(lhs.input2_y == rhs.input2_y)) { return false; } - if (!(lhs.input2_infinite == rhs.input2_infinite)) { - return false; - } if (!(lhs.result == rhs.result)) { return false; } @@ -6562,10 +6544,8 @@ void serde::Serializable::serialize(const Ac { serde::Serializable::serialize(obj.input1_x, serializer); serde::Serializable::serialize(obj.input1_y, serializer); - serde::Serializable::serialize(obj.input1_infinite, serializer); serde::Serializable::serialize(obj.input2_x, serializer); serde::Serializable::serialize(obj.input2_y, serializer); - serde::Serializable::serialize(obj.input2_infinite, serializer); serde::Serializable::serialize(obj.result, serializer); } @@ -6577,10 +6557,8 @@ Acir::BlackBoxOp::EmbeddedCurveAdd serde::Deserializable::deserialize(deserializer); obj.input1_y = serde::Deserializable::deserialize(deserializer); - obj.input1_infinite = serde::Deserializable::deserialize(deserializer); obj.input2_x = serde::Deserializable::deserialize(deserializer); obj.input2_y = serde::Deserializable::deserialize(deserializer); - obj.input2_infinite = serde::Deserializable::deserialize(deserializer); obj.result = serde::Deserializable::deserialize(deserializer); return obj; } @@ -7827,9 +7805,6 @@ inline bool operator==(const Circuit& lhs, const Circuit& rhs) if (!(lhs.function_name == rhs.function_name)) { return false; } - if (!(lhs.current_witness_index == rhs.current_witness_index)) { - return false; - } if (!(lhs.opcodes == rhs.opcodes)) { return false; } @@ -7856,7 +7831,6 @@ void serde::Serializable::serialize(const Acir::Circuit& obj, Ser { serializer.increase_container_depth(); serde::Serializable::serialize(obj.function_name, serializer); - serde::Serializable::serialize(obj.current_witness_index, serializer); serde::Serializable::serialize(obj.opcodes, serializer); serde::Serializable::serialize(obj.private_parameters, serializer); serde::Serializable::serialize(obj.public_parameters, serializer); @@ -7872,7 +7846,6 @@ Acir::Circuit serde::Deserializable::deserialize(Deserializer& de deserializer.increase_container_depth(); Acir::Circuit obj; obj.function_name = serde::Deserializable::deserialize(deserializer); - obj.current_witness_index = serde::Deserializable::deserialize(deserializer); obj.opcodes = serde::Deserializable::deserialize(deserializer); obj.private_parameters = serde::Deserializable::deserialize(deserializer); obj.public_parameters = serde::Deserializable::deserialize(deserializer); @@ -8481,7 +8454,7 @@ namespace Acir { inline bool operator==(const MemOp& lhs, const MemOp& rhs) { - if (!(lhs.operation == rhs.operation)) { + if (!(lhs.read == rhs.read)) { return false; } if (!(lhs.index == rhs.index)) { @@ -8500,7 +8473,7 @@ template void serde::Serializable::serialize(const Acir::MemOp& obj, Serializer& serializer) { serializer.increase_container_depth(); - serde::Serializable::serialize(obj.operation, serializer); + serde::Serializable::serialize(obj.read, serializer); serde::Serializable::serialize(obj.index, serializer); serde::Serializable::serialize(obj.value, serializer); serializer.decrease_container_depth(); @@ -8512,7 +8485,7 @@ Acir::MemOp serde::Deserializable::deserialize(Deserializer& deseri { deserializer.increase_container_depth(); Acir::MemOp obj; - obj.operation = serde::Deserializable::deserialize(deserializer); + obj.read = serde::Deserializable::deserialize(deserializer); obj.index = serde::Deserializable::deserialize(deserializer); obj.value = serde::Deserializable::deserialize(deserializer); deserializer.decrease_container_depth(); diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/test_class.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/test_class.hpp index 46e28314aee8..8f3a1d1470e9 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/test_class.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/test_class.hpp @@ -1,5 +1,6 @@ #pragma once +#include "barretenberg/common/assert.hpp" #include "barretenberg/dsl/acir_format/acir_format.hpp" #include "barretenberg/dsl/acir_format/acir_to_constraint_buf.hpp" #include "barretenberg/dsl/acir_format/serde/index.hpp" @@ -66,43 +67,16 @@ inline Acir::Expression witness_or_constant_to_expression(const WitnessOrConstan return expr; } -/** - * @brief Convert an AccessType to an Acir::Expression representing the operation type. - * - * @details Read operations are represented by Expression with constant 0, - * Write operations are represented by Expression with constant 1. - */ -inline Acir::Expression access_type_to_expression(AccessType access_type) -{ - bb::fr value = (access_type == AccessType::Write) ? bb::fr::one() : bb::fr::zero(); - return Acir::Expression{ - .mul_terms = {}, - .linear_combinations = {}, - .q_c = value.to_buffer(), - }; -} - -/** - * @brief Convert a witness index to an Acir::Expression representing a single unscaled witness term. - */ -inline Acir::Expression witness_to_expression(uint32_t witness_index) -{ - return Acir::Expression{ - .mul_terms = {}, - .linear_combinations = { std::make_tuple(bb::fr::one().to_buffer(), Acir::Witness{ .value = witness_index }) }, - .q_c = bb::fr::zero().to_buffer(), - }; -} - /** * @brief Convert an acir_format::MemOp to an Acir::MemOp. */ inline Acir::MemOp mem_op_to_acir_mem_op(const MemOp& mem_op) { return Acir::MemOp{ - .operation = access_type_to_expression(mem_op.access_type), - .index = witness_to_expression(mem_op.index), - .value = witness_to_expression(mem_op.value), + // Acir::MemOp::read is the serialized MemOpKind bool: false = Read, true = Write. + .read = (mem_op.access_type == AccessType::Write), + .index = Acir::Witness{ .value = mem_op.index }, + .value = Acir::Witness{ .value = mem_op.value }, }; } @@ -391,10 +365,9 @@ template std::vector constraint_to_acir_ for (const auto& sc : constraint.scalars) { scalars.push_back(witness_or_constant_to_function_input(sc)); } - auto outputs = std::make_shared>(); + auto outputs = std::make_shared>(); (*outputs)[0] = Acir::Witness{ .value = constraint.out_point_x }; (*outputs)[1] = Acir::Witness{ .value = constraint.out_point_y }; - (*outputs)[2] = Acir::Witness{ .value = constraint.out_point_is_infinite }; return { Acir::Opcode{ .value = Acir::Opcode::BlackBoxFuncCall{ .value = Acir::BlackBoxFuncCall{ .value = Acir::BlackBoxFuncCall::MultiScalarMul{ @@ -404,18 +377,15 @@ template std::vector constraint_to_acir_ .outputs = outputs, } } } } }; } else if constexpr (std::is_same_v) { - auto input1 = std::make_shared>(); + auto input1 = std::make_shared>(); (*input1)[0] = witness_or_constant_to_function_input(constraint.input1_x); (*input1)[1] = witness_or_constant_to_function_input(constraint.input1_y); - (*input1)[2] = witness_or_constant_to_function_input(constraint.input1_infinite); - auto input2 = std::make_shared>(); + auto input2 = std::make_shared>(); (*input2)[0] = witness_or_constant_to_function_input(constraint.input2_x); (*input2)[1] = witness_or_constant_to_function_input(constraint.input2_y); - (*input2)[2] = witness_or_constant_to_function_input(constraint.input2_infinite); - auto outputs = std::make_shared>(); + auto outputs = std::make_shared>(); (*outputs)[0] = Acir::Witness{ .value = constraint.result_x }; (*outputs)[1] = Acir::Witness{ .value = constraint.result_y }; - (*outputs)[2] = Acir::Witness{ .value = constraint.result_infinite }; return { Acir::Opcode{ .value = Acir::Opcode::BlackBoxFuncCall{ .value = Acir::BlackBoxFuncCall{ .value = Acir::BlackBoxFuncCall::EmbeddedCurveAdd{ diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/utils.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/utils.hpp index 505f4de368e9..904be8dbe27c 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/utils.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/utils.hpp @@ -96,8 +96,6 @@ std::vector add_to_witness_and_track_indices(std::vector& witn witness.emplace_back(input.x); indices.emplace_back(witness.size()); witness.emplace_back(input.y); - indices.emplace_back(witness.size()); - witness.emplace_back(input.is_point_at_infinity() ? bb::fr(1) : bb::fr(0)); } else if constexpr (requires { input.data(); input.size(); diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/witness_constant.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/witness_constant.cpp index 3d94d525db72..8f4360f9e192 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/witness_constant.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/witness_constant.cpp @@ -14,9 +14,8 @@ using namespace bb::stdlib; /** * @brief Convert inputs representing a Grumpkin point into a cycle_group element. - * @details Inputs x, y, and is_infinite are provided from the ACIR opcode. The cycle_group constructor - * auto-detects infinity from (0,0) coordinates; the is_infinite flag is constrained to agree with this - * auto-detected value, ensuring the external flag cannot be forged. + * @details Inputs x and y are provided from the ACIR opcode. The cycle_group constructor auto-detects + * infinity from (0,0) coordinates. * * We handle two special cases: * 1. write_vk scenario: we set the point to be the generator of Grumpkin to avoid circuit construction failures. @@ -26,70 +25,52 @@ using namespace bb::stdlib; * @tparam Builder * @param input_x x-coordinate of the point * @param input_y y-coordinate of the point - * @param input_infinite boolean from ACIR; constrained to agree with the infinity flag in cycle_group * @param predicate A relevant predicate used to conditionally assign the point to a valid value * @param builder * @return bb::stdlib::cycle_group - * - * TODO: remove input_infinite parameter once the ACIR format is updated to drop the is_infinite field for Grumpkin - * points. This requires a noir-side change. */ template bb::stdlib::cycle_group to_grumpkin_point(const WitnessOrConstant& input_x, const WitnessOrConstant& input_y, - const WitnessOrConstant& input_infinite, const bb::stdlib::bool_t& predicate, Builder& builder) { - using bool_ct = bb::stdlib::bool_t; using field_ct = bb::stdlib::field_t; bool constant_coordinates = input_x.is_constant && input_y.is_constant; auto point_x = to_field_ct(input_x, builder); auto point_y = to_field_ct(input_y, builder); - auto infinite = bool_ct(to_field_ct(input_infinite, builder)); // If a witness is not provided (we are in a write_vk scenario) we ensure the coordinates correspond to a valid // point to avoid erroneous failures during circuit construction. We set coordinates to the generator (a finite - // point) and the infinity flag to false for consistency. + // point). if (builder.is_write_vk_mode() && !constant_coordinates) { builder.set_variable(input_x.index, bb::grumpkin::g1::affine_one.x); builder.set_variable(input_y.index, bb::grumpkin::g1::affine_one.y); - if (!input_infinite.is_constant) { - builder.set_variable(input_infinite.index, bb::fr(0)); - } } // If the predicate is a non-constant witness, conditionally replace coordinates with a valid point. if (!predicate.is_constant()) { point_x = field_ct::conditional_assign(predicate, point_x, field_ct(bb::grumpkin::g1::affine_one.x)); point_y = field_ct::conditional_assign(predicate, point_y, field_ct(bb::grumpkin::g1::affine_one.y)); - infinite = bool_ct::conditional_assign(predicate, infinite, bool_ct(false)); } else { BB_ASSERT(predicate.get_value(), "Creating Grumpkin point with a constant predicate equal to false."); } // Use public constructor which auto-detects infinity from (0,0) coordinates. - cycle_group input_point(point_x, point_y, /*assert_on_curve=*/true); - - // The external infinity flag must agree with the auto-detected infinity from coordinates. - infinite.assert_equal(input_point.is_point_at_infinity()); - - return input_point; + return cycle_group(point_x, point_y, /*assert_on_curve=*/true); } template bb::stdlib::cycle_group to_grumpkin_point( const WitnessOrConstant& input_x, const WitnessOrConstant& input_y, - const WitnessOrConstant& input_infinite, const bb::stdlib::bool_t& predicate, UltraCircuitBuilder& builder); template bb::stdlib::cycle_group to_grumpkin_point( const WitnessOrConstant& input_x, const WitnessOrConstant& input_y, - const WitnessOrConstant& input_infinite, const bb::stdlib::bool_t& predicate, MegaCircuitBuilder& builder); diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/witness_constant.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/witness_constant.hpp index 32c033506634..eb9e78a48b6b 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/witness_constant.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/witness_constant.hpp @@ -48,7 +48,6 @@ bb::stdlib::field_t to_field_ct(const WitnessOrConstant bb::stdlib::cycle_group to_grumpkin_point(const WitnessOrConstant& input_x, const WitnessOrConstant& input_y, - const WitnessOrConstant& input_infinite, const bb::stdlib::bool_t& predicate, Builder& builder); diff --git a/barretenberg/cpp/src/barretenberg/vm2/common/avm_io.hpp b/barretenberg/cpp/src/barretenberg/vm2/common/avm_io.hpp index b503c573f12c..4378671f2521 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/common/avm_io.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/common/avm_io.hpp @@ -113,18 +113,16 @@ struct PublicInputs { //////////////////////////////////////////////////////////////////////////// // Hints (contracts) //////////////////////////////////////////////////////////////////////////// +// Only ivpk_m is sent as a point; the others are field-element hashes. struct PublicKeysHint { - AffinePoint master_nullifier_public_key; - AffinePoint master_incoming_viewing_public_key; - AffinePoint master_outgoing_viewing_public_key; - AffinePoint master_tagging_public_key; + FF npk_m_hash; + AffinePoint ivpk_m; + FF ovpk_m_hash; + FF tpk_m_hash; bool operator==(const PublicKeysHint& other) const = default; - MSGPACK_CAMEL_CASE_FIELDS(master_nullifier_public_key, - master_incoming_viewing_public_key, - master_outgoing_viewing_public_key, - master_tagging_public_key); + MSGPACK_CAMEL_CASE_FIELDS(npk_m_hash, ivpk_m, ovpk_m_hash, tpk_m_hash); }; struct ContractInstanceHint { @@ -135,6 +133,7 @@ struct ContractInstanceHint { ContractClassId current_contract_class_id; ContractClassId original_contract_class_id; FF initialization_hash; + FF immutables_hash; PublicKeysHint public_keys; bool operator==(const ContractInstanceHint& other) const = default; @@ -146,6 +145,7 @@ struct ContractInstanceHint { current_contract_class_id, original_contract_class_id, initialization_hash, + immutables_hash, public_keys); }; diff --git a/barretenberg/cpp/src/barretenberg/vm2/common/aztec_types.hpp b/barretenberg/cpp/src/barretenberg/vm2/common/aztec_types.hpp index 4f8ec3dc8a11..f7e7ef9ed09c 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/common/aztec_types.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/common/aztec_types.hpp @@ -77,23 +77,29 @@ enum class ContractInstanceMember : uint8_t { DEPLOYER = 0, CLASS_ID = 1, INIT_HASH = 2, - MAX = INIT_HASH, + IMMUTABLES_HASH = 3, + MAX = IMMUTABLES_HASH, }; //////////////////////////////////////////////////////////////////////////// // Keys, Instances, Classes //////////////////////////////////////////////////////////////////////////// +// Only `incoming_viewing_key` is exposed as a point (since address derivation +// needs the curve point in-circuit); the other three keys are exposed as their hashes. struct PublicKeys { - AffinePoint nullifier_key; + FF nullifier_key_hash; AffinePoint incoming_viewing_key; - AffinePoint outgoing_viewing_key; - AffinePoint tagging_key; + FF outgoing_viewing_key_hash; + FF tagging_key_hash; std::vector to_fields() const { - return { nullifier_key.x, nullifier_key.y, incoming_viewing_key.x, incoming_viewing_key.y, - outgoing_viewing_key.x, outgoing_viewing_key.y, tagging_key.x, tagging_key.y }; + return { nullifier_key_hash, + incoming_viewing_key.x, + incoming_viewing_key.y, + outgoing_viewing_key_hash, + tagging_key_hash }; } bool operator==(const PublicKeys& other) const = default; @@ -102,14 +108,14 @@ struct PublicKeys { // TODO(fcarreiro): solve with macro void msgpack(auto pack_fn) { - pack_fn("masterNullifierPublicKey", - nullifier_key, - "masterIncomingViewingPublicKey", + pack_fn("npkMHash", + nullifier_key_hash, + "ivpkM", incoming_viewing_key, - "masterOutgoingViewingPublicKey", - outgoing_viewing_key, - "masterTaggingPublicKey", - tagging_key); + "ovpkMHash", + outgoing_viewing_key_hash, + "tpkMHash", + tagging_key_hash); } }; @@ -119,7 +125,8 @@ struct ContractInstance { ContractClassId current_contract_class_id = 0; ContractClassId original_contract_class_id = 0; FF initialization_hash = 0; - PublicKeys public_keys; + FF immutables_hash = 0; + PublicKeys public_keys{}; bool operator==(const ContractInstance& other) const = default; @@ -136,6 +143,8 @@ struct ContractInstance { original_contract_class_id, "initializationHash", initialization_hash, + "immutablesHash", + immutables_hash, "publicKeys", public_keys); } diff --git a/barretenberg/cpp/src/barretenberg/vm2/common/instruction_spec.cpp b/barretenberg/cpp/src/barretenberg/vm2/common/instruction_spec.cpp index 112997b74b0d..3e6c7b6bb243 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/common/instruction_spec.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/common/instruction_spec.cpp @@ -99,7 +99,7 @@ const std::unordered_map>& { WireOpCode::POSEIDON2PERM, { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, { WireOpCode::SHA256COMPRESSION, { 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, { WireOpCode::KECCAKF1600, { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, - { WireOpCode::ECADD, { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, + { WireOpCode::ECADD, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, // Conversions { WireOpCode::TORADIXBE, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, }; @@ -420,7 +420,7 @@ const std::unordered_map& get_wire_instruction_ .op_dc_selectors = get_wire_opcode_dc_selectors().at(WireOpCode::KECCAKF1600) } }, { WireOpCode::ECADD, { .exec_opcode = ExecutionOpCode::ECADD, - .size_in_bytes = 17, + .size_in_bytes = 13, .op_dc_selectors = get_wire_opcode_dc_selectors().at(WireOpCode::ECADD) } }, // Conversions { WireOpCode::TORADIXBE, @@ -737,14 +737,12 @@ const std::unordered_map& get_exec_instruc { .num_addresses = 2, .gas_cost = { .opcode_gas = AVM_KECCAKF1600_BASE_L2_GAS, .base_da = 0, .dyn_l2 = 0, .dyn_da = 0 } } }, { ExecutionOpCode::ECADD, - { .num_addresses = 7, + { .num_addresses = 5, .gas_cost = { .opcode_gas = AVM_ECADD_BASE_L2_GAS, .base_da = 0, .dyn_l2 = 0, .dyn_da = 0 }, .register_info = RegisterInfo().add_inputs({ /*p_x=*/ValueTag::FF, /*p_y=*/ValueTag::FF, - /*p_inf*/ ValueTag::U1, /*q_x*/ ValueTag::FF, - /*q_y*/ ValueTag::FF, - /*q_inf*/ ValueTag::U1 }) } }, + /*q_y*/ ValueTag::FF }) } }, { ExecutionOpCode::TORADIXBE, { .num_addresses = 5, .gas_cost = { .opcode_gas = AVM_TORADIXBE_BASE_L2_GAS, diff --git a/barretenberg/cpp/src/barretenberg/vm2/common/standard_affine_point.hpp b/barretenberg/cpp/src/barretenberg/vm2/common/standard_affine_point.hpp index bbf2e6dbd9fb..680f318007a7 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/common/standard_affine_point.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/common/standard_affine_point.hpp @@ -6,16 +6,15 @@ namespace bb::avm2 { /** - * AVM bytecode expects the representation of points to be triplets, the two coordinates and an is_infinity boolean. - * Furthermore, its representation of infinity is inherited from noir's and is expected to be 0,0,true. - * BB, however, uses only the two coordinates to represent points. Infinity in barretenberg is represented as (P+1)/2,0. - * This class is a wrapper of the BB representation, needed to operate with points, that allows to extract the standard - * representation that AVM bytecode expects. - * NOTE: When constructing infinity from BB's two element representation, is_infinity() will be true but the coordinates - * will remain (P+1)/2,0. - * NOTE: When constructing infinity via BaseFields, input coordinates are maintained and can be any values, so may - * mismatch the underlying AffinePoint. Always check is_infinity() before ECC operations on coordinates. See test - * InfinityPreservesRawCoordinates for an example. + * The AVM's representation of infinity is inherited from noir's and is expected to be 0,0. + * BB, however, uses only the two coordinates to represent points. Infinity in barretenberg is represented as + * (P+1)/2,0,true. This class is a wrapper of the BB representation, needed to operate with points, that allows us to + * extract the standard representation that AVM bytecode expects. + * + * NOTE: When constructing infinity from BB's two element representation, we keep the original AffinePoint so operations + * can use it in the background, but set extractable coordinates to be our represention of (0,0). + * NOTE: When constructing infinity via BaseFields (equiv. inputting (0, 0), the underlying AffinePoint is set to BB's + * representation so operations can use it in the background. */ template class StandardAffinePoint { public: @@ -26,12 +25,12 @@ template class StandardAffinePoint { constexpr StandardAffinePoint(AffinePoint val) noexcept : point(val) - , x_coord(val.x) - , y_coord(val.y) + , x_coord(val.is_point_at_infinity() ? zero : val.x) + , y_coord(val.is_point_at_infinity() ? zero : val.y) {} - constexpr StandardAffinePoint(BaseField x, BaseField y, bool is_infinity) noexcept - : point(is_infinity ? AffinePoint::infinity() : AffinePoint(x, y)) + constexpr StandardAffinePoint(BaseField x, BaseField y) noexcept + : point((x.is_zero() && y.is_zero()) ? AffinePoint::infinity() : AffinePoint(x, y)) , x_coord(x) , y_coord(y) {} @@ -74,15 +73,15 @@ template class StandardAffinePoint { [[nodiscard]] constexpr bool on_curve() const noexcept { return point.on_curve(); } - // Always returns the raw coordinates, when an operation results in infinity these will be (0,0). - // If a point at infinity is constructed with non-zero coordinates, we likely want to preserve those. + // Always returns Noir standard coordinates. For the point at infinity this is always (0, 0). If that point was + // constructed via AffinePoint with a different representation, those non-zero coordinates are preserved in .point. constexpr const BaseField& x() const noexcept { return x_coord; } constexpr const BaseField& y() const noexcept { return y_coord; } static const StandardAffinePoint& infinity() { - static auto infinity = StandardAffinePoint(zero, zero, true); + static auto infinity = StandardAffinePoint(zero, zero); return infinity; } @@ -93,6 +92,7 @@ template class StandardAffinePoint { } private: + // TODO(MW): Clarify - docs here no longer true // The affine point for operations, this will always match the raw coordinates unless the point is infinity. // In that case, the point will be set to barretenberg's infinity representation - which is not (0,0). AffinePoint point; diff --git a/barretenberg/cpp/src/barretenberg/vm2/common/standard_affine_point.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/common/standard_affine_point.test.cpp index 6a9386842417..b8e79e2a1f50 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/common/standard_affine_point.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/common/standard_affine_point.test.cpp @@ -10,18 +10,17 @@ using EmbeddedCurvePoint = StandardAffinePoint; using Fr = grumpkin::fr; using Fq = grumpkin::fq; -TEST(StandardAffinePointTest, InfinityPreservesRawCoordinates) +TEST(StandardAffinePointTest, ConstructingInfinityNormalized) { - // When constructing an infinity point with non-zero coordinates, - // x() and y() should return the raw coordinates - Fq raw_x = 1; - Fq raw_y = 2; - - EmbeddedCurvePoint point(raw_x, raw_y, /*is_infinity=*/true); - - EXPECT_TRUE(point.is_infinity()); - EXPECT_EQ(point.x(), raw_x); - EXPECT_EQ(point.y(), raw_y); + // Constructing a point with (0,0) coordinates should result in infinity + EmbeddedCurvePoint inf(0, 0); + EXPECT_TRUE(inf.is_infinity()); + // Constructing a point with BB's inf should result in infinity with (0,0) coordinates + EmbeddedCurvePoint inf_bb(grumpkin::g1::affine_element::infinity()); + EXPECT_TRUE(inf_bb.is_infinity()); + EXPECT_TRUE(inf_bb.x().is_zero()); + EXPECT_TRUE(inf_bb.y().is_zero()); + EXPECT_EQ(inf, inf_bb); } TEST(StandardAffinePointTest, NormalPointCoordinates) @@ -72,7 +71,7 @@ TEST(StandardAffinePointTest, ScalarMultiplicationResultingInInfinityNormalized) TEST(StandardAffinePointTest, StaticInfinityHasZeroCoordinates) { - // The static infinity() method should return (0,0,true) + // The static infinity() method should return (0,0) auto& inf = EmbeddedCurvePoint::infinity(); EXPECT_TRUE(inf.is_infinity()); @@ -80,18 +79,14 @@ TEST(StandardAffinePointTest, StaticInfinityHasZeroCoordinates) EXPECT_TRUE(inf.y().is_zero()); } -TEST(StandardAffinePointTest, NegatingInfinityPreservesRawCoordinates) +TEST(StandardAffinePointTest, NegatingInfinity) { - // Negating an infinity point should preserve its raw coordinates - Fq raw_x = 1; - Fq raw_y = 2; - EmbeddedCurvePoint inf(raw_x, raw_y, /*is_infinity=*/true); - - auto neg_inf = -inf; + // Negating an infinity point should return (0,0) + auto neg_inf = -EmbeddedCurvePoint::infinity(); EXPECT_TRUE(neg_inf.is_infinity()); - EXPECT_EQ(neg_inf.x(), raw_x); - EXPECT_EQ(neg_inf.y(), raw_y); + EXPECT_TRUE(neg_inf.x().is_zero()); + EXPECT_TRUE(neg_inf.y().is_zero()); } } // namespace diff --git a/barretenberg/cpp/src/barretenberg/vm2/constraining/avm_fixed_vk.hpp b/barretenberg/cpp/src/barretenberg/vm2/constraining/avm_fixed_vk.hpp index c060244f6965..a3d2d285a8b3 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/constraining/avm_fixed_vk.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/constraining/avm_fixed_vk.hpp @@ -17,7 +17,7 @@ class AvmHardCodedVKAndHash { using FF = bb::curve::BN254::ScalarField; // Precomputed VK hash (hash of all commitments below). - static FF vk_hash() { return FF(uint256_t("0x23a03c6f87c465dbecc386b091e8123a8936597b5b0749f276d042a8964bd390")); } + static FF vk_hash() { return FF(uint256_t("0x07c6aee864d89db19813358d6b6ea4e41643f8e60ce88ab8974314313a0470e1")); } static constexpr std::array get_all() { @@ -71,9 +71,9 @@ class AvmHardCodedVKAndHash { uint256_t( "0x090dda25e7d64ab5cabe09fd80fbb731af2a98de7a608157dc10394b4fc022a4")), // precomputed_exec_opcode_dynamic_l2_gas Commitment( - uint256_t("0x26086b5fb31a24f236f0441d5b922b94ca141e861b9cc640184681c518cd68d3"), + uint256_t("0x1fbccee2ff656d845414c1a520adde56aa3625e29b6fff377044986493023e6d"), uint256_t( - "0x0bab134bb4e25ff33584c1094847e762ce6573054bae27715d0e4eb2b7278d80")), // precomputed_exec_opcode_opcode_gas + "0x05c88802d3174f1c7b3c9aa1abf4754ebdaf6409d1aaf1dfa3f551da1c10fa93")), // precomputed_exec_opcode_opcode_gas Commitment( uint256_t("0x296def9415d1c96b4d8ab91df5f59ad8522a726f98461b1ab5c4d4c5b22471a4"), uint256_t( @@ -83,18 +83,15 @@ class AvmHardCodedVKAndHash { uint256_t( "0x06ea9cd6f2a50e2156f80beebc721d11d24821fd4b723932da48d8750300fbaa")), // precomputed_expected_tag_reg_1_ Commitment( - uint256_t("0x1cb1c6d46ddf9f7bd7a87a5e7dca5ef92c8a44669ab0cbc557a0fcb8331d0d8d"), + uint256_t("0x034e06277dc6d6e4f2ddea6d71635693db1a2869d33b918f0f70efa0530ecaa6"), uint256_t( - "0x281a3e4b96e4f595db502ba69acda314bc335957ae605af17423b0ff3d0528c3")), // precomputed_expected_tag_reg_2_ + "0x2d3e564f6e8885163d356daec0387132097e73dbf8e04475675b715151ce3cb9")), // precomputed_expected_tag_reg_2_ Commitment( uint256_t("0x1a3c36c4933c956751e6ca5631077a9418cd0ba4ec29e965508eaf8bc1a7ffd4"), uint256_t( "0x1203bdd1aab5bfc5f3ed6abbefc30ab303770b847d022c1c9c0f8de202a76560")), // precomputed_expected_tag_reg_3_ Commitment::infinity(), // precomputed_expected_tag_reg_4_ - Commitment( - uint256_t("0x11b316123744c8602e394b9a558ed664a70d8a7e8f5a3138c9971302c193dd84"), - uint256_t( - "0x08a817c8ab332c7f8b478ec9bddb41a8ca1593c3b8fb85d6236d3eecc2df3b37")), // precomputed_expected_tag_reg_5_ + Commitment::infinity(), // precomputed_expected_tag_reg_5_ Commitment( uint256_t("0x0000000000000000000000000000000000000000000000000000000000000001"), uint256_t( @@ -103,9 +100,9 @@ class AvmHardCodedVKAndHash { uint256_t("0x14567e2c3e84fc1e3e69d81f6ce5808ca9a0451964a7bbabbd9e369db7556253"), uint256_t("0x0378926f150c30c760965df469ae6ed609c59feecf899f2b95aff519bbf3fb3c")), // precomputed_idx Commitment( - uint256_t("0x1e497723c3f95466c480f1ac1addb1e0dc68bb123cae27ee70d00e6d6fcc6896"), + uint256_t("0x2bef1e5de8c449d3cfa4cf9ab94e8b846755023b02e94dbbba1ffb3c73da0d1d"), uint256_t( - "0x24c9a31064fb5f18c18ac3ea4be1a10809765a43b06bcea177fbb171dd547ced")), // precomputed_instr_size + "0x06905ac3e0ae01f14b1bc598f9ba30af7eced70893019ca78b0e55668c38f3e0")), // precomputed_instr_size Commitment( uint256_t("0x11b710f896157a9557278a1f776cd6c7e1e7e256a572bd080797daaf1d6307d1"), uint256_t( @@ -134,6 +131,10 @@ class AvmHardCodedVKAndHash { uint256_t("0x0000000000000000000000000000000000000000000000000000000000000001"), uint256_t( "0x0000000000000000000000000000000000000000000000000000000000000002")), // precomputed_is_deployer + Commitment( + uint256_t("0x210bedcbb97a2e72905c082dd087be36c29c67e85b47de07b639e28a7dd78c76"), + uint256_t( + "0x18d1e431b83aa3ab2f6904bbbc452fee3472c01c0ceaf6d2fe6e37c4ff79e265")), // precomputed_is_immutables_hash Commitment( uint256_t("0x020ad6e43ccd48a6a39e43897cc85187bd364919be8a3b82d4809715cfe489db"), uint256_t( @@ -171,9 +172,9 @@ class AvmHardCodedVKAndHash { uint256_t( "0x23268ad7678b97fba97cc3e75da6cff9a3659c3b8a49046cce4062820e5c1116")), // precomputed_is_tree_padding Commitment( - uint256_t("0x210cdba7d0dae8d84cdd77a912060188657a0628905c0531fa63138ec3cbc9ea"), + uint256_t("0x00c43726f75b6fda0de22ce0e0dfab6bcc7a05ff95a96b289424c5f733670d96"), uint256_t( - "0x264f0d3eab260e5a20bdc5324e1ddcb3a0c0d811bb4a23b983417fd8c280486a")), // precomputed_is_valid_member_enum + "0x2f9b6e0b4e2c01968de5c32482aa7d1d0a09d7178ec93bad7858f96e64f0b48d")), // precomputed_is_valid_member_enum Commitment( uint256_t("0x057e5478fbad129bb84bfb618f6e7a747812510b4f6f70bd84d4688f760ecb62"), uint256_t( @@ -280,14 +281,8 @@ class AvmHardCodedVKAndHash { uint256_t("0x1530ccb47d1198320c163380a82ca8cbaf87b2d40ede856d21c60535e2251262"), uint256_t( "0x29dd7ccea05e6d47a7373ea950a7988caed0d20880612e046af575217a21652a")), // precomputed_sel_mem_op_reg_3_ - Commitment( - uint256_t("0x11b316123744c8602e394b9a558ed664a70d8a7e8f5a3138c9971302c193dd84"), - uint256_t( - "0x08a817c8ab332c7f8b478ec9bddb41a8ca1593c3b8fb85d6236d3eecc2df3b37")), // precomputed_sel_mem_op_reg_4_ - Commitment( - uint256_t("0x11b316123744c8602e394b9a558ed664a70d8a7e8f5a3138c9971302c193dd84"), - uint256_t( - "0x08a817c8ab332c7f8b478ec9bddb41a8ca1593c3b8fb85d6236d3eecc2df3b37")), // precomputed_sel_mem_op_reg_5_ + Commitment::infinity(), // precomputed_sel_mem_op_reg_4_ + Commitment::infinity(), // precomputed_sel_mem_op_reg_5_ Commitment( uint256_t("0x089cdab4e8e8381977b093cb267a1b7c8c60f4466c39a99af1247e37fe56ebfe"), uint256_t( @@ -296,10 +291,7 @@ class AvmHardCodedVKAndHash { uint256_t("0x0bf1970c2e92fee577ba15d063fa78fdd17752cafd19261ff0f176a1d3348769"), uint256_t( "0x21f1906edf2fe01e804774aa539abe8411cfda1731be99853f90253ed2652868")), // precomputed_sel_op_dc_0 - Commitment( - uint256_t("0x2ad6f77a7f7c14780d95de8bd1f5b2146fe71fb1b7e6d55016734664f10d653b"), - uint256_t( - "0x131ac1fc680fbc2584b74e5aece1f0d50afe030adf4289613e54935339829496")), // precomputed_sel_op_dc_1 + Commitment::infinity(), // precomputed_sel_op_dc_1 Commitment( uint256_t("0x225d208d9012b15a17b7dac26e737c0d2f9c8bf80de627bd13e1a9c042ede642"), uint256_t( @@ -380,14 +372,8 @@ class AvmHardCodedVKAndHash { uint256_t("0x1530ccb47d1198320c163380a82ca8cbaf87b2d40ede856d21c60535e2251262"), uint256_t( "0x29dd7ccea05e6d47a7373ea950a7988caed0d20880612e046af575217a21652a")), // precomputed_sel_op_is_address_4_ - Commitment( - uint256_t("0x11b316123744c8602e394b9a558ed664a70d8a7e8f5a3138c9971302c193dd84"), - uint256_t( - "0x08a817c8ab332c7f8b478ec9bddb41a8ca1593c3b8fb85d6236d3eecc2df3b37")), // precomputed_sel_op_is_address_5_ - Commitment( - uint256_t("0x11b316123744c8602e394b9a558ed664a70d8a7e8f5a3138c9971302c193dd84"), - uint256_t( - "0x08a817c8ab332c7f8b478ec9bddb41a8ca1593c3b8fb85d6236d3eecc2df3b37")), // precomputed_sel_op_is_address_6_ + Commitment::infinity(), // precomputed_sel_op_is_address_5_ + Commitment::infinity(), // precomputed_sel_op_is_address_6_ Commitment( uint256_t("0x1525ae740393f8dec3a1ea8f39f456861afece20561b5870db4291410d2f3429"), uint256_t( @@ -424,14 +410,8 @@ class AvmHardCodedVKAndHash { uint256_t("0x1530ccb47d1198320c163380a82ca8cbaf87b2d40ede856d21c60535e2251262"), uint256_t( "0x29dd7ccea05e6d47a7373ea950a7988caed0d20880612e046af575217a21652a")), // precomputed_sel_tag_check_reg_3_ - Commitment( - uint256_t("0x11b316123744c8602e394b9a558ed664a70d8a7e8f5a3138c9971302c193dd84"), - uint256_t( - "0x08a817c8ab332c7f8b478ec9bddb41a8ca1593c3b8fb85d6236d3eecc2df3b37")), // precomputed_sel_tag_check_reg_4_ - Commitment( - uint256_t("0x11b316123744c8602e394b9a558ed664a70d8a7e8f5a3138c9971302c193dd84"), - uint256_t( - "0x08a817c8ab332c7f8b478ec9bddb41a8ca1593c3b8fb85d6236d3eecc2df3b37")), // precomputed_sel_tag_check_reg_5_ + Commitment::infinity(), // precomputed_sel_tag_check_reg_4_ + Commitment::infinity(), // precomputed_sel_tag_check_reg_5_ Commitment( uint256_t("0x2b770f46bb0db9c1447e6010b3ca12f1dc2b2a237ff6d2390d9ddf5a056d09ad"), uint256_t( diff --git a/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/address_derivation.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/address_derivation.test.cpp index 8720e12efd4e..252c8793a4a2 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/address_derivation.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/address_derivation.test.cpp @@ -72,14 +72,17 @@ TEST(AddressDerivationConstrainingTest, Basic) auto instance = testing::random_contract_instance(); - FF salted_initialization_hash = poseidon2::hash( - { DOM_SEP__SALTED_INITIALIZATION_HASH, instance.salt, instance.initialization_hash, instance.deployer }); + FF salted_initialization_hash = poseidon2::hash({ DOM_SEP__SALTED_INITIALIZATION_HASH, + instance.salt, + instance.initialization_hash, + instance.deployer, + instance.immutables_hash }); FF partial_address = poseidon2::hash({ DOM_SEP__PARTIAL_ADDRESS, instance.original_contract_class_id, salted_initialization_hash }); FF public_keys_hash = hash_public_keys(instance.public_keys); - FF preaddress = poseidon2::hash({ DOM_SEP__CONTRACT_ADDRESS_V1, public_keys_hash, partial_address }); + FF preaddress = poseidon2::hash({ DOM_SEP__CONTRACT_ADDRESS_V2, public_keys_hash, partial_address }); EmbeddedCurvePoint g1 = EmbeddedCurvePoint::one(); EmbeddedCurvePoint preaddress_public_key = g1 * Fq(preaddress); @@ -215,6 +218,62 @@ TEST(AddressDerivationConstrainingTest, NegativeWithInteractions) "Failed.*PREADDRESS_SCALAR_MUL. Could not find tuple in destination."); } +TEST(AddressDerivationConstrainingTest, NegativeMutateImmutablesHash) +{ + EventEmitter ecadd_event_emitter; + EventEmitter scalar_mul_event_emitter; + NoopEventEmitter ecc_add_memory_event_emitter; + EventEmitter hash_event_emitter; + NoopEventEmitter perm_event_emitter; + NoopEventEmitter perm_mem_event_emitter; + EventEmitter address_derivation_event_emitter; + + StrictMock mock_exec_id_manager; + EXPECT_CALL(mock_exec_id_manager, get_execution_id).WillRepeatedly(Return(0)); + StrictMock mock_gt; + Poseidon2 poseidon2_simulator( + mock_exec_id_manager, mock_gt, hash_event_emitter, perm_event_emitter, perm_mem_event_emitter); + + PureToRadix to_radix_simulator; + Ecc ecc_simulator(mock_exec_id_manager, + mock_gt, + to_radix_simulator, + ecadd_event_emitter, + scalar_mul_event_emitter, + ecc_add_memory_event_emitter); + + AddressDerivation address_derivation(poseidon2_simulator, ecc_simulator, address_derivation_event_emitter); + + TestTraceContainer trace({ + { { C::precomputed_first_row, 1 } }, + }); + + AddressDerivationTraceBuilder builder; + Poseidon2TraceBuilder poseidon2_builder; + EccTraceBuilder ecc_builder; + + ContractInstance instance = testing::random_contract_instance(); + AztecAddress address = compute_contract_address(instance); + address_derivation.assert_derivation(address, instance); + + builder.process(address_derivation_event_emitter.dump_events(), trace); + poseidon2_builder.process_hash(hash_event_emitter.dump_events(), trace); + ecc_builder.process_add(ecadd_event_emitter.dump_events(), trace); + ecc_builder.process_scalar_mul(scalar_mul_event_emitter.dump_events(), trace); + + check_all_interactions(trace); + check_relation(trace); + + // Mutate immutables_hash (the second input of the second poseidon2 round). The salted-init-hash + // round-2 lookup into poseidon2 should now fail because (deployer, mutated_immutables_hash, 0, + // salted_init_hash) no longer exists in the poseidon2 trace. + trace.set(C::address_derivation_immutables_hash, 0, instance.immutables_hash + 1); + EXPECT_THROW_WITH_MESSAGE( + (check_interaction(trace)), + "Failed.*SALTED_INITIALIZATION_HASH_POSEIDON2_1. Could not find tuple in destination."); +} + TEST(AddressDerivationConstrainingTest, NegativeIVKNotOnCurve) { TestTraceContainer trace; @@ -232,7 +291,7 @@ TEST(AddressDerivationConstrainingTest, NegativeIVKNotOnCurve) poseidon2::hash({ DOM_SEP__PARTIAL_ADDRESS, instance.original_contract_class_id, salted_initialization_hash }); FF public_keys_hash = hash_public_keys(instance.public_keys); - FF preaddress = poseidon2::hash({ DOM_SEP__CONTRACT_ADDRESS_V1, public_keys_hash, partial_address }); + FF preaddress = poseidon2::hash({ DOM_SEP__CONTRACT_ADDRESS_V2, public_keys_hash, partial_address }); EmbeddedCurvePoint g1 = EmbeddedCurvePoint::one(); EmbeddedCurvePoint preaddress_public_key = g1 * Fq(preaddress); diff --git a/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/contract_instance_retrieval.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/contract_instance_retrieval.test.cpp index 793b2edc1488..10251ffaccc7 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/contract_instance_retrieval.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/contract_instance_retrieval.test.cpp @@ -45,12 +45,13 @@ ContractInstance create_test_contract_instance(uint32_t salt_value = 123) .current_contract_class_id = FF(0xdeadbeefULL), .original_contract_class_id = FF(0xcafebabeULL), .initialization_hash = FF(0x11111111ULL), + .immutables_hash = FF(0x22222222ULL), .public_keys = PublicKeys{ - .nullifier_key = { FF(0x100), FF(0x101) }, + .nullifier_key_hash = FF(0x100), .incoming_viewing_key = { FF(0x200), FF(0x201) }, - .outgoing_viewing_key = { FF(0x300), FF(0x301) }, - .tagging_key = { FF(0x400), FF(0x401) }, + .outgoing_viewing_key_hash = FF(0x300), + .tagging_key_hash = FF(0x400), }, }; } @@ -72,14 +73,12 @@ TEST(ContractInstanceRetrievalConstrainingTest, CompleteValidTrace) const auto current_class_id = FF(0xdeadbeefULL); const auto original_class_id = FF(0xcafebabeULL); const auto init_hash = FF(0x11111111ULL); - const auto nullifier_key_x = FF(0x100); - const auto nullifier_key_y = FF(0x101); + const auto immutables_hash = FF(0x22222222ULL); + const auto nullifier_key_hash = FF(0x100); const auto incoming_viewing_key_x = FF(0x200); const auto incoming_viewing_key_y = FF(0x201); - const auto outgoing_viewing_key_x = FF(0x300); - const auto outgoing_viewing_key_y = FF(0x301); - const auto tagging_key_x = FF(0x400); - const auto tagging_key_y = FF(0x401); + const auto outgoing_viewing_key_hash = FF(0x300); + const auto tagging_key_hash = FF(0x400); // Test complete valid trace with all constraints TestTraceContainer trace({ @@ -92,19 +91,17 @@ TEST(ContractInstanceRetrievalConstrainingTest, CompleteValidTrace) { C::contract_instance_retrieval_current_class_id, current_class_id }, { C::contract_instance_retrieval_original_class_id, original_class_id }, { C::contract_instance_retrieval_init_hash, init_hash }, + { C::contract_instance_retrieval_immutables_hash, immutables_hash }, { C::contract_instance_retrieval_public_data_tree_root, public_data_tree_root }, { C::contract_instance_retrieval_nullifier_tree_root, nullifier_tree_root }, { C::contract_instance_retrieval_nullifier_tree_height, NULLIFIER_TREE_HEIGHT }, { C::contract_instance_retrieval_nullifier_merkle_separator, DOM_SEP__NULLIFIER_MERKLE }, { C::contract_instance_retrieval_siloing_separator, DOM_SEP__SILOED_NULLIFIER }, - { C::contract_instance_retrieval_nullifier_key_x, nullifier_key_x }, - { C::contract_instance_retrieval_nullifier_key_y, nullifier_key_y }, + { C::contract_instance_retrieval_nullifier_key_hash, nullifier_key_hash }, { C::contract_instance_retrieval_incoming_viewing_key_x, incoming_viewing_key_x }, { C::contract_instance_retrieval_incoming_viewing_key_y, incoming_viewing_key_y }, - { C::contract_instance_retrieval_outgoing_viewing_key_x, outgoing_viewing_key_x }, - { C::contract_instance_retrieval_outgoing_viewing_key_y, outgoing_viewing_key_y }, - { C::contract_instance_retrieval_tagging_key_x, tagging_key_x }, - { C::contract_instance_retrieval_tagging_key_y, tagging_key_y }, + { C::contract_instance_retrieval_outgoing_viewing_key_hash, outgoing_viewing_key_hash }, + { C::contract_instance_retrieval_tagging_key_hash, tagging_key_hash }, { C::contract_instance_retrieval_deployer_protocol_contract_address, CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS }, // Protocol Contract conditionals @@ -147,23 +144,20 @@ TEST(ContractInstanceRetrievalConstrainingTest, MultipleInstancesTrace) { C::contract_instance_retrieval_current_class_id, contract_instance.current_contract_class_id }, { C::contract_instance_retrieval_original_class_id, contract_instance.original_contract_class_id }, { C::contract_instance_retrieval_init_hash, contract_instance.initialization_hash }, + { C::contract_instance_retrieval_immutables_hash, contract_instance.immutables_hash }, { C::contract_instance_retrieval_public_data_tree_root, FF(base_public_data_tree_root + i) }, { C::contract_instance_retrieval_nullifier_tree_root, FF(base_nullifier_tree_root + i) }, { C::contract_instance_retrieval_nullifier_tree_height, NULLIFIER_TREE_HEIGHT }, { C::contract_instance_retrieval_nullifier_merkle_separator, DOM_SEP__NULLIFIER_MERKLE }, { C::contract_instance_retrieval_siloing_separator, DOM_SEP__SILOED_NULLIFIER }, - { C::contract_instance_retrieval_nullifier_key_x, contract_instance.public_keys.nullifier_key.x }, - { C::contract_instance_retrieval_nullifier_key_y, contract_instance.public_keys.nullifier_key.y }, + { C::contract_instance_retrieval_nullifier_key_hash, contract_instance.public_keys.nullifier_key_hash }, { C::contract_instance_retrieval_incoming_viewing_key_x, contract_instance.public_keys.incoming_viewing_key.x }, { C::contract_instance_retrieval_incoming_viewing_key_y, contract_instance.public_keys.incoming_viewing_key.y }, - { C::contract_instance_retrieval_outgoing_viewing_key_x, - contract_instance.public_keys.outgoing_viewing_key.x }, - { C::contract_instance_retrieval_outgoing_viewing_key_y, - contract_instance.public_keys.outgoing_viewing_key.y }, - { C::contract_instance_retrieval_tagging_key_x, contract_instance.public_keys.tagging_key.x }, - { C::contract_instance_retrieval_tagging_key_y, contract_instance.public_keys.tagging_key.y }, + { C::contract_instance_retrieval_outgoing_viewing_key_hash, + contract_instance.public_keys.outgoing_viewing_key_hash }, + { C::contract_instance_retrieval_tagging_key_hash, contract_instance.public_keys.tagging_key_hash }, { C::contract_instance_retrieval_deployer_protocol_contract_address, CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS }, // Protocol Contract conditionals @@ -199,6 +193,7 @@ TEST(ContractInstanceRetrievalConstrainingTest, NonExistentInstanceTrace) { C::contract_instance_retrieval_current_class_id, 0 }, { C::contract_instance_retrieval_original_class_id, 0 }, { C::contract_instance_retrieval_init_hash, 0 }, + { C::contract_instance_retrieval_immutables_hash, 0 }, { C::contract_instance_retrieval_public_data_tree_root, public_data_tree_root }, { C::contract_instance_retrieval_nullifier_tree_root, nullifier_tree_root }, { C::contract_instance_retrieval_nullifier_tree_height, NULLIFIER_TREE_HEIGHT }, @@ -242,6 +237,12 @@ TEST(ContractInstanceRetrievalConstrainingTest, NonExistentInstanceTrace) "INSTANCE_MEMBER_INIT_HASH_IS_ZERO_IF_DNE"); // reset trace.set(C::contract_instance_retrieval_init_hash, 1, 0); + // mutate immutables_hash + trace.set(C::contract_instance_retrieval_immutables_hash, 1, 1); + EXPECT_THROW_WITH_MESSAGE(check_relation(trace), + "INSTANCE_MEMBER_IMMUTABLES_HASH_IS_ZERO_IF_DNE"); + // reset + trace.set(C::contract_instance_retrieval_immutables_hash, 1, 0); } TEST(ContractInstanceRetrievalConstrainingTest, MaximumFieldValuesTrace) @@ -260,19 +261,17 @@ TEST(ContractInstanceRetrievalConstrainingTest, MaximumFieldValuesTrace) { C::contract_instance_retrieval_current_class_id, max_field }, { C::contract_instance_retrieval_original_class_id, max_field }, { C::contract_instance_retrieval_init_hash, max_field }, + { C::contract_instance_retrieval_immutables_hash, max_field }, { C::contract_instance_retrieval_public_data_tree_root, max_field }, { C::contract_instance_retrieval_nullifier_tree_root, max_field }, { C::contract_instance_retrieval_nullifier_tree_height, NULLIFIER_TREE_HEIGHT }, { C::contract_instance_retrieval_nullifier_merkle_separator, DOM_SEP__NULLIFIER_MERKLE }, { C::contract_instance_retrieval_siloing_separator, DOM_SEP__SILOED_NULLIFIER }, - { C::contract_instance_retrieval_nullifier_key_x, max_field }, - { C::contract_instance_retrieval_nullifier_key_y, max_field }, + { C::contract_instance_retrieval_nullifier_key_hash, max_field }, { C::contract_instance_retrieval_incoming_viewing_key_x, max_field }, { C::contract_instance_retrieval_incoming_viewing_key_y, max_field }, - { C::contract_instance_retrieval_outgoing_viewing_key_x, max_field }, - { C::contract_instance_retrieval_outgoing_viewing_key_y, max_field }, - { C::contract_instance_retrieval_tagging_key_x, max_field }, - { C::contract_instance_retrieval_tagging_key_y, max_field }, + { C::contract_instance_retrieval_outgoing_viewing_key_hash, max_field }, + { C::contract_instance_retrieval_tagging_key_hash, max_field }, { C::contract_instance_retrieval_deployer_protocol_contract_address, CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS }, // Protocol Contract conditionals @@ -460,14 +459,13 @@ TEST(ContractInstanceRetrievalConstrainingTest, IntegrationTracegenValidInstance { C::address_derivation_deployer_addr, contract_instance_data.deployer }, { C::address_derivation_class_id, contract_instance_data.original_contract_class_id }, { C::address_derivation_init_hash, contract_instance_data.initialization_hash }, - { C::address_derivation_nullifier_key_x, contract_instance_data.public_keys.nullifier_key.x }, - { C::address_derivation_nullifier_key_y, contract_instance_data.public_keys.nullifier_key.y }, + { C::address_derivation_immutables_hash, contract_instance_data.immutables_hash }, + { C::address_derivation_nullifier_key_hash, contract_instance_data.public_keys.nullifier_key_hash }, { C::address_derivation_incoming_viewing_key_x, contract_instance_data.public_keys.incoming_viewing_key.x }, { C::address_derivation_incoming_viewing_key_y, contract_instance_data.public_keys.incoming_viewing_key.y }, - { C::address_derivation_outgoing_viewing_key_x, contract_instance_data.public_keys.outgoing_viewing_key.x }, - { C::address_derivation_outgoing_viewing_key_y, contract_instance_data.public_keys.outgoing_viewing_key.y }, - { C::address_derivation_tagging_key_x, contract_instance_data.public_keys.tagging_key.x }, - { C::address_derivation_tagging_key_y, contract_instance_data.public_keys.tagging_key.y }, + { C::address_derivation_outgoing_viewing_key_hash, + contract_instance_data.public_keys.outgoing_viewing_key_hash }, + { C::address_derivation_tagging_key_hash, contract_instance_data.public_keys.tagging_key_hash }, // For update check lookup { C::update_check_sel, 1 }, { C::update_check_address, contract_address }, @@ -535,18 +533,16 @@ TEST(ContractInstanceRetrievalConstrainingTest, IntegrationTracegenNonExistentIn // For address derivation lookup { C::address_derivation_sel, 0 }, // Not selected since nullifier doesn't exist { C::address_derivation_address, contract_address }, - { C::address_derivation_salt, 0 }, // zero since nullifier doesn't exist - { C::address_derivation_deployer_addr, 0 }, // zero since nullifier doesn't exist - { C::address_derivation_class_id, 0 }, // zero since nullifier doesn't exist - { C::address_derivation_init_hash, 0 }, // zero since nullifier doesn't exist - { C::address_derivation_nullifier_key_x, 0 }, - { C::address_derivation_nullifier_key_y, 0 }, + { C::address_derivation_salt, 0 }, // zero since nullifier doesn't exist + { C::address_derivation_deployer_addr, 0 }, // zero since nullifier doesn't exist + { C::address_derivation_class_id, 0 }, // zero since nullifier doesn't exist + { C::address_derivation_init_hash, 0 }, // zero since nullifier doesn't exist + { C::address_derivation_immutables_hash, 0 }, // zero since nullifier doesn't exist + { C::address_derivation_nullifier_key_hash, 0 }, { C::address_derivation_incoming_viewing_key_x, 0 }, { C::address_derivation_incoming_viewing_key_y, 0 }, - { C::address_derivation_outgoing_viewing_key_x, 0 }, - { C::address_derivation_outgoing_viewing_key_y, 0 }, - { C::address_derivation_tagging_key_x, 0 }, - { C::address_derivation_tagging_key_y, 0 }, + { C::address_derivation_outgoing_viewing_key_hash, 0 }, + { C::address_derivation_tagging_key_hash, 0 }, // For update check lookup (only populated when nullifier exists) { C::update_check_sel, 0 }, // Not selected since nullifier doesn't exist { C::update_check_address, contract_address }, @@ -616,18 +612,16 @@ TEST(ContractInstanceRetrievalConstrainingTest, IntegrationTracegenAddressZero) // For address derivation lookup { C::address_derivation_sel, 0 }, // Not selected since nullifier doesn't exist { C::address_derivation_address, contract_address }, - { C::address_derivation_salt, 0 }, // zero since nullifier doesn't exist - { C::address_derivation_deployer_addr, 0 }, // zero since nullifier doesn't exist - { C::address_derivation_class_id, 0 }, // zero since nullifier doesn't exist - { C::address_derivation_init_hash, 0 }, // zero since nullifier doesn't exist - { C::address_derivation_nullifier_key_x, 0 }, - { C::address_derivation_nullifier_key_y, 0 }, + { C::address_derivation_salt, 0 }, // zero since nullifier doesn't exist + { C::address_derivation_deployer_addr, 0 }, // zero since nullifier doesn't exist + { C::address_derivation_class_id, 0 }, // zero since nullifier doesn't exist + { C::address_derivation_init_hash, 0 }, // zero since nullifier doesn't exist + { C::address_derivation_immutables_hash, 0 }, // zero since nullifier doesn't exist + { C::address_derivation_nullifier_key_hash, 0 }, { C::address_derivation_incoming_viewing_key_x, 0 }, { C::address_derivation_incoming_viewing_key_y, 0 }, - { C::address_derivation_outgoing_viewing_key_x, 0 }, - { C::address_derivation_outgoing_viewing_key_y, 0 }, - { C::address_derivation_tagging_key_x, 0 }, - { C::address_derivation_tagging_key_y, 0 }, + { C::address_derivation_outgoing_viewing_key_hash, 0 }, + { C::address_derivation_tagging_key_hash, 0 }, // For update check lookup (only populated when nullifier exists) { C::update_check_sel, 0 }, // Not selected since nullifier doesn't exist { C::update_check_address, contract_address }, @@ -710,18 +704,15 @@ TEST(ContractInstanceRetrievalConstrainingTest, IntegrationTracegenMultipleInsta { C::address_derivation_deployer_addr, contract_instance_data.deployer }, { C::address_derivation_class_id, contract_instance_data.original_contract_class_id }, { C::address_derivation_init_hash, contract_instance_data.initialization_hash }, - { C::address_derivation_nullifier_key_x, contract_instance_data.public_keys.nullifier_key.x }, - { C::address_derivation_nullifier_key_y, contract_instance_data.public_keys.nullifier_key.y }, + { C::address_derivation_immutables_hash, contract_instance_data.immutables_hash }, + { C::address_derivation_nullifier_key_hash, contract_instance_data.public_keys.nullifier_key_hash }, { C::address_derivation_incoming_viewing_key_x, contract_instance_data.public_keys.incoming_viewing_key.x }, { C::address_derivation_incoming_viewing_key_y, contract_instance_data.public_keys.incoming_viewing_key.y }, - { C::address_derivation_outgoing_viewing_key_x, - contract_instance_data.public_keys.outgoing_viewing_key.x }, - { C::address_derivation_outgoing_viewing_key_y, - contract_instance_data.public_keys.outgoing_viewing_key.y }, - { C::address_derivation_tagging_key_x, contract_instance_data.public_keys.tagging_key.x }, - { C::address_derivation_tagging_key_y, contract_instance_data.public_keys.tagging_key.y }, + { C::address_derivation_outgoing_viewing_key_hash, + contract_instance_data.public_keys.outgoing_viewing_key_hash }, + { C::address_derivation_tagging_key_hash, contract_instance_data.public_keys.tagging_key_hash }, // For update check lookup (only when nullifier exists) { C::update_check_sel, 1 }, { C::update_check_address, FF(base_address + i) }, diff --git a/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/ecc.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/ecc.test.cpp index 50bb15ba3321..cfe37e518bda 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/ecc.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/ecc.test.cpp @@ -1,3 +1,4 @@ +#include #include #include @@ -63,11 +64,11 @@ using simulation::ToRadixMemoryEvent; // Known good points for P and Q FF p_x("0x04c95d1b26d63d46918a156cae92db1bcbc4072a27ec81dc82ea959abdbcf16a"); FF p_y("0x035b6dd9e63c1370462c74775765d07fc21fd1093cc988149d3aa763bb3dbb60"); -EmbeddedCurvePoint p(p_x, p_y, false); +EmbeddedCurvePoint p(p_x, p_y); FF q_x("0x009242167ec31949c00cbe441cd36757607406e87844fa2c8c4364a4403e66d7"); FF q_y("0x0fe3016d64cfa8045609f375284b6b739b5fa282e4cbb75cc7f1687ecc7420e3"); -EmbeddedCurvePoint q(q_x, q_y, false); +EmbeddedCurvePoint q(q_x, q_y); TEST(EccAddConstrainingTest, EccEmptyRow) { @@ -79,7 +80,7 @@ TEST(EccAddConstrainingTest, EccAdd) // R = P + Q; FF r_x("0x2b01df0ef6d941a826bea23bece8243cbcdc159d5e97fbaa2171f028e05ba9b6"); FF r_y("0x0cc4c71e882bc62b7b3d1964a8540cb5211339dfcddd2e095fd444bf1aed4f09"); - EmbeddedCurvePoint r(r_x, r_y, false); + EmbeddedCurvePoint r(r_x, r_y); auto trace = TestTraceContainer({ { { C::ecc_add_op, 1 }, @@ -102,7 +103,6 @@ TEST(EccAddConstrainingTest, EccAdd) { C::ecc_q_y, q.y() }, // Resulting Point - { C::ecc_r_is_inf, static_cast(r.is_infinity()) }, { C::ecc_r_x, r.x() }, { C::ecc_r_y, r.y() }, @@ -123,7 +123,7 @@ TEST(EccAddConstrainingTest, EccDouble) // R = P + P; FF r_x("0x088b996194bb5e6e8e5e49733bb671c3e660cf77254f743f366cc8e33534ee3b"); FF r_y("0x2807ffa01c0f522d0be1e1acfb6914ac8eabf1acf420c0629d37beee992e9a0e"); - EmbeddedCurvePoint r(r_x, r_y, false); + EmbeddedCurvePoint r(r_x, r_y); auto trace = TestTraceContainer({ { { C::ecc_add_op, 0 }, @@ -146,7 +146,6 @@ TEST(EccAddConstrainingTest, EccDouble) { C::ecc_q_y, p.y() }, // Resulting Point - { C::ecc_r_is_inf, static_cast(r.is_infinity()) }, { C::ecc_r_x, r.x() }, { C::ecc_r_y, r.y() }, @@ -173,13 +172,13 @@ TEST(EccAddConstrainingTest, EccAddSameYDifferentX) // Point P - known valid point on Grumpkin FF local_p_x("0x04c95d1b26d63d46918a156cae92db1bcbc4072a27ec81dc82ea959abdbcf16a"); FF local_p_y("0x035b6dd9e63c1370462c74775765d07fc21fd1093cc988149d3aa763bb3dbb60"); - EmbeddedCurvePoint local_p(local_p_x, local_p_y, false); + EmbeddedCurvePoint local_p(local_p_x, local_p_y); // Point Q - p_x * omega (cube root of unity), same y-coordinate! // omega = 0x0000000000000000b3c4d79d41a917585bfc41088d8daaa78b17ea66b99c90dd FF local_q_x("0x14dd39aa19e1c8b29e0c530a28106a7d64d2213486baba3c86dce51bdddf75bb"); FF local_q_y("0x035b6dd9e63c1370462c74775765d07fc21fd1093cc988149d3aa763bb3dbb60"); - EmbeddedCurvePoint local_q(local_q_x, local_q_y, false); + EmbeddedCurvePoint local_q(local_q_x, local_q_y); // Verify preconditions: same y, different x ASSERT_NE(local_p.x(), local_q.x()); @@ -188,7 +187,7 @@ TEST(EccAddConstrainingTest, EccAddSameYDifferentX) // Expected result R = P + Q (lambda = 0 since y's are equal) FF local_r_x("0x16bdb7ada0799a3088b9dd3faade12c3f79dbfe9cb1234783a1a7add546398dc"); FF local_r_y("0x2d08e098faf58cb97223d13f2a1b87dd6614173f3cefe87ca6a74e3034c244a1"); - EmbeddedCurvePoint local_r(local_r_x, local_r_y, false); + EmbeddedCurvePoint local_r(local_r_x, local_r_y); // Use simulation to generate events EventEmitter ecc_add_event_emitter; @@ -221,8 +220,8 @@ TEST(EccAddConstrainingTest, EccAddSameYDifferentX) TEST(EccAddConstrainingTest, EccAddResultingInInfinity) { // R = P + (-P) = O; , where O is the point at infinity - EmbeddedCurvePoint q(p.x(), -p.y(), false); - EmbeddedCurvePoint r(0, 0, true); + EmbeddedCurvePoint q(p.x(), -p.y()); + EmbeddedCurvePoint r(0, 0); auto trace = TestTraceContainer({ { { C::ecc_add_op, 0 }, @@ -245,7 +244,6 @@ TEST(EccAddConstrainingTest, EccAddResultingInInfinity) { C::ecc_q_y, q.y() }, // Resulting Point - { C::ecc_r_is_inf, static_cast(r.is_infinity()) }, { C::ecc_r_x, r.x() }, { C::ecc_r_y, r.y() }, @@ -261,11 +259,11 @@ TEST(EccAddConstrainingTest, EccAddResultingInInfinity) TEST(EccAddConstrainingTest, EccAddingToInfinity) { - EmbeddedCurvePoint p(0, 0, true); + EmbeddedCurvePoint p(0, 0); // R = O + Q = Q; , where O is the point at infinity - EmbeddedCurvePoint r(q.x(), q.y(), false); + EmbeddedCurvePoint r(q.x(), q.y()); auto trace = TestTraceContainer({ { { C::ecc_add_op, 1 }, @@ -288,7 +286,6 @@ TEST(EccAddConstrainingTest, EccAddingToInfinity) { C::ecc_q_y, q.y() }, // Resulting Point - { C::ecc_r_is_inf, static_cast(r.is_infinity()) }, { C::ecc_r_x, r.x() }, { C::ecc_r_y, r.y() }, @@ -304,10 +301,10 @@ TEST(EccAddConstrainingTest, EccAddingToInfinity) TEST(EccAddConstrainingTest, EccAddingInfinity) { - EmbeddedCurvePoint q(0, 0, true); + EmbeddedCurvePoint q(0, 0); // R = P + O = P; , where O is the point at infinity - EmbeddedCurvePoint r(p.x(), p.y(), false); + EmbeddedCurvePoint r(p.x(), p.y()); auto trace = TestTraceContainer({ { { C::ecc_add_op, 1 }, @@ -330,7 +327,6 @@ TEST(EccAddConstrainingTest, EccAddingInfinity) { C::ecc_q_y, q.y() }, // Resulting Point - { C::ecc_r_is_inf, static_cast(r.is_infinity()) }, { C::ecc_r_x, r.x() }, { C::ecc_r_y, r.y() }, @@ -347,10 +343,10 @@ TEST(EccAddConstrainingTest, EccAddingInfinity) TEST(EccAddConstrainingTest, EccDoublingInf) { - EmbeddedCurvePoint p(0, 0, true); + EmbeddedCurvePoint p(0, 0); // r = O + O = O; , where O is the point at infinity - EmbeddedCurvePoint r(0, 0, true); + EmbeddedCurvePoint r(0, 0); auto trace = TestTraceContainer({ { { C::ecc_add_op, 0 }, @@ -373,7 +369,6 @@ TEST(EccAddConstrainingTest, EccDoublingInf) { C::ecc_q_y, p.y() }, // Resulting Point - { C::ecc_r_is_inf, static_cast(r.is_infinity()) }, { C::ecc_r_x, r.x() }, { C::ecc_r_y, r.y() }, @@ -414,7 +409,6 @@ TEST(EccAddConstrainingTest, EccTwoOps) { C::ecc_q_y, q.y() }, // Resulting Point - { C::ecc_r_is_inf, static_cast(r1.is_infinity()) }, { C::ecc_r_x, r1.x() }, { C::ecc_r_y, r1.y() }, @@ -447,7 +441,6 @@ TEST(EccAddConstrainingTest, EccTwoOps) { C::ecc_q_y, r1.y() }, // Resulting Point - { C::ecc_r_is_inf, static_cast(r2.is_infinity()) }, { C::ecc_r_x, r2.x() }, { C::ecc_r_y, r2.y() }, @@ -469,7 +462,7 @@ TEST(EccAddConstrainingTest, EccNegativeBadAdd) FF r_x("0x20f096ae3de9aea007e0b94a0274b2443d6682d1901f6909f284ec967bc169be"); FF r_y("0x27948713833bb314e828f2b6f45f408da6564a3ac03b9e430a9c6634bb849ef2"); - EmbeddedCurvePoint r(r_x, r_y, false); + EmbeddedCurvePoint r(r_x, r_y); auto trace = TestTraceContainer({ { { C::ecc_add_op, 1 }, @@ -492,7 +485,6 @@ TEST(EccAddConstrainingTest, EccNegativeBadAdd) { C::ecc_q_y, q.y() }, // Resulting Point - { C::ecc_r_is_inf, static_cast(r.is_infinity()) }, { C::ecc_r_x, r.x() }, { C::ecc_r_y, r.y() }, @@ -513,7 +505,7 @@ TEST(EccAddConstrainingTest, EccNegativeBadDouble) FF r_x("0x2b01df0ef6d941a826bea23bece8243cbcdc159d5e97fbaa2171f028e05ba9b6"); FF r_y("0x0cc4c71e882bc62b7b3d1964a8540cb5211339dfcddd2e095fd444bf1aed4f09"); - EmbeddedCurvePoint r(r_x, r_y, false); + EmbeddedCurvePoint r(r_x, r_y); auto trace = TestTraceContainer({ { { C::ecc_add_op, 0 }, @@ -536,7 +528,6 @@ TEST(EccAddConstrainingTest, EccNegativeBadDouble) { C::ecc_q_y, p.y() }, // Resulting Point - { C::ecc_r_is_inf, static_cast(r.is_infinity()) }, { C::ecc_r_x, r.x() }, { C::ecc_r_y, r.y() }, @@ -771,40 +762,6 @@ TEST(ScalarMulConstrainingTest, MulAddInteractionsInfinity) EventEmitter scalar_mul_event_emitter; NoopEventEmitter ecc_add_memory_event_emitter; - StrictMock execution_id_manager; - StrictMock gt; - PureToRadix to_radix_simulator = PureToRadix(); - EccSimulator ecc_simulator(execution_id_manager, - gt, - to_radix_simulator, - ecc_add_event_emitter, - scalar_mul_event_emitter, - ecc_add_memory_event_emitter); - - EmbeddedCurvePoint result = ecc_simulator.scalar_mul(EmbeddedCurvePoint::infinity(), FF(10)); - ASSERT_TRUE(result.is_infinity()); - - TestTraceContainer trace({ - { { C::precomputed_first_row, 1 } }, - }); - - builder.process_scalar_mul(scalar_mul_event_emitter.dump_events(), trace); - builder.process_add(ecc_add_event_emitter.dump_events(), trace); - - check_interaction(trace); - - check_relation(trace); - check_relation(trace); -} - -TEST(ScalarMulConstrainingTest, MulAddInteractionsInfinityRep) -{ - EccTraceBuilder builder; - - EventEmitter ecc_add_event_emitter; - EventEmitter scalar_mul_event_emitter; - NoopEventEmitter ecc_add_memory_event_emitter; - StrictMock execution_id_manager; StrictMock gt; PureToRadix to_radix_simulator = PureToRadix(); @@ -816,14 +773,13 @@ TEST(ScalarMulConstrainingTest, MulAddInteractionsInfinityRep) ecc_add_memory_event_emitter); EmbeddedCurvePoint inf = EmbeddedCurvePoint::infinity(); - // EmbeddedCurvePoint preserves raw coordinates (see StandardAffinePointTest) + EmbeddedCurvePoint inf_bb = EmbeddedCurvePoint(avm2::AffinePoint::infinity()); - EmbeddedCurvePoint inf_alt = EmbeddedCurvePoint(1, 2, true); EmbeddedCurvePoint result = ecc_simulator.scalar_mul(inf_bb, FF(10)); ASSERT_TRUE(result.is_infinity()); - result = ecc_simulator.scalar_mul(inf_alt, FF(10)); - ASSERT_TRUE(result.is_infinity()); + EXPECT_EQ(result.x(), inf.x()); + EXPECT_EQ(result.y(), inf.y()); TestTraceContainer trace({ { { C::precomputed_first_row, 1 } }, @@ -1178,16 +1134,14 @@ TEST(EccAddMemoryConstrainingTest, EccAddMemoryInteractions) // Execution { C::execution_sel, 1 }, { C::execution_sel_exec_dispatch_ecc_add, 1 }, - { C::execution_rop_6_, dst_address }, + { C::execution_rop_4_, dst_address }, { C::execution_register_0_, p.x() }, { C::execution_register_1_, p.y() }, - { C::execution_register_2_, p.is_infinity() ? 1 : 0 }, - { C::execution_register_3_, q.x() }, - { C::execution_register_4_, q.y() }, - { C::execution_register_5_, q.is_infinity() ? 1 : 0 }, + { C::execution_register_2_, q.x() }, + { C::execution_register_3_, q.y() }, // GT - dst out of range check { C::gt_sel, 1 }, - { C::gt_input_a, dst_address + 2 }, // highest write address is dst_address + 2 + { C::gt_input_a, dst_address + 1 }, // highest write address is dst_address + 1 { C::gt_input_b, AVM_HIGHEST_MEM_ADDRESS }, { C::gt_res, 0 }, // Memory Writes @@ -1205,14 +1159,6 @@ TEST(EccAddMemoryConstrainingTest, EccAddMemoryInteractions) { C::memory_rw, 1 }, // write { C::memory_tag, static_cast(MemoryTag::FF) }, }, - { - // Memory Writes - { C::memory_address, dst_address + 2 }, - { C::memory_value, result.is_infinity() }, - { C::memory_sel, 1 }, - { C::memory_rw, 1 }, // write - { C::memory_tag, static_cast(MemoryTag::U1) }, - }, }); ecc_simulator.add(memory, p, q, dst_address); @@ -1237,7 +1183,7 @@ TEST(EccAddMemoryConstrainingTest, EccAddMemoryInvalidDstRange) StrictMock execution_id_manager; EXPECT_CALL(execution_id_manager, get_execution_id) - .WillRepeatedly(Return(0)); // Use a fixed execution IDfor the test + .WillRepeatedly(Return(0)); // Use a fixed execution ID for the test PureGreaterThan gt; PureToRadix to_radix_simulator = PureToRadix(); @@ -1248,7 +1194,7 @@ TEST(EccAddMemoryConstrainingTest, EccAddMemoryInvalidDstRange) scalar_mul_event_emitter, ecc_add_memory_event_emitter); - uint32_t dst_address = AVM_HIGHEST_MEM_ADDRESS - 1; // Invalid address, will result in out of range error + uint32_t dst_address = AVM_HIGHEST_MEM_ADDRESS; // Invalid address, will result in out of range error // Set the execution and gt traces TestTraceContainer trace = TestTraceContainer({ // Row 0 @@ -1256,17 +1202,15 @@ TEST(EccAddMemoryConstrainingTest, EccAddMemoryInvalidDstRange) // Execution { C::execution_sel, 1 }, { C::execution_sel_exec_dispatch_ecc_add, 1 }, - { C::execution_rop_6_, dst_address }, + { C::execution_rop_4_, dst_address }, { C::execution_register_0_, p.x() }, { C::execution_register_1_, p.y() }, - { C::execution_register_2_, p.is_infinity() ? 1 : 0 }, - { C::execution_register_3_, q.x() }, - { C::execution_register_4_, q.y() }, - { C::execution_register_5_, q.is_infinity() ? 1 : 0 }, + { C::execution_register_2_, q.x() }, + { C::execution_register_3_, q.y() }, { C::execution_sel_opcode_error, 1 }, // GT - dst out of range check { C::gt_sel, 1 }, - { C::gt_input_a, static_cast(dst_address) + 2 }, + { C::gt_input_a, static_cast(dst_address) + 1 }, { C::gt_input_b, AVM_HIGHEST_MEM_ADDRESS }, { C::gt_res, 1 }, }, @@ -1306,7 +1250,7 @@ TEST(EccAddMemoryConstrainingTest, EccAddMemoryPointError) // Point P is not on the curve FF p_x("0x0000000000063d46918a156cae92db1bcbc4072a27ec81dc82ea959abdbcf16a"); FF p_y("0x00000000000c1370462c74775765d07fc21fd1093cc988149d3aa763bb3dbb60"); - EmbeddedCurvePoint p(p_x, p_y, false); + EmbeddedCurvePoint p(p_x, p_y); uint32_t dst_address = 0x1000; @@ -1318,17 +1262,15 @@ TEST(EccAddMemoryConstrainingTest, EccAddMemoryPointError) // Execution { C::execution_sel, 1 }, { C::execution_sel_exec_dispatch_ecc_add, 1 }, - { C::execution_rop_6_, dst_address }, + { C::execution_rop_4_, dst_address }, { C::execution_register_0_, p.x() }, { C::execution_register_1_, p.y() }, - { C::execution_register_2_, p.is_infinity() ? 1 : 0 }, - { C::execution_register_3_, q.x() }, - { C::execution_register_4_, q.y() }, - { C::execution_register_5_, q.is_infinity() ? 1 : 0 }, + { C::execution_register_2_, q.x() }, + { C::execution_register_3_, q.y() }, { C::execution_sel_opcode_error, 1 }, // Indicate an error in the operation // GT - dst out of range check { C::gt_sel, 1 }, - { C::gt_input_a, dst_address + 2 }, // highest write address is dst_address + 2 + { C::gt_input_a, dst_address + 1 }, // highest write address is dst_address + 1 { C::gt_input_b, AVM_HIGHEST_MEM_ADDRESS }, { C::gt_res, 0 }, }, @@ -1368,42 +1310,23 @@ TEST(EccAddMemoryConstrainingTest, InfinityRepresentations) // Point P is infinity EmbeddedCurvePoint inf = EmbeddedCurvePoint::infinity(); - // EmbeddedCurvePoint preserves raw coordinates (see StandardAffinePointTest) + // EmbeddedCurvePoint always sets extractable coordinates as (0,0) and the underlying point as + // AffinePoint::infinity() for input infinity points. EmbeddedCurvePoint inf_bb = EmbeddedCurvePoint(avm2::AffinePoint::infinity()); - EmbeddedCurvePoint inf_alt = EmbeddedCurvePoint(1, 2, true); + EXPECT_EQ(inf_bb, inf); TestTraceContainer trace; - // Internal add() expects normalized points: - EXPECT_THROW_WITH_MESSAGE(ecc_simulator.add(inf, inf_alt), "normalized"); - - // Coordinates are normalized in tracegen, so even though inf_bb and inf_alt have different coordinates, the circuit - // correctly assigns double_op = true when doubling inf: - ecc_simulator.add(memory, inf, inf_alt, dst_address); - // As above for the noir (0, 0) and bb (x, 0) inf reps: - ecc_simulator.add(memory, inf, inf_bb, dst_address + 3); + // The circuit correctly assigns double_op = true when doubling inf: + ecc_simulator.add(memory, inf, inf_bb, dst_address); builder.process_add(ecc_add_event_emitter.dump_events(), trace); check_relation(trace); EXPECT_EQ(trace.get(C::ecc_double_op, 0), 1); + ecc_simulator.add(memory, inf, inf_bb, dst_address); + // Set memory reads: trace.set(0, - { { // Execution - { C::execution_sel, 1 }, - { C::execution_sel_exec_dispatch_ecc_add, 1 }, - { C::execution_rop_6_, dst_address }, - { C::execution_register_0_, inf.x() }, - { C::execution_register_1_, inf.y() }, - { C::execution_register_2_, inf.is_infinity() ? 1 : 0 }, - { C::execution_register_3_, inf_alt.x() }, - { C::execution_register_4_, inf_alt.y() }, - { C::execution_register_5_, inf_alt.is_infinity() ? 1 : 0 }, - // GT - dst out of range check - { C::gt_sel, 1 }, - { C::gt_input_a, dst_address + 2 }, // highest write address is dst_address + 2 - { C::gt_input_b, AVM_HIGHEST_MEM_ADDRESS }, - { C::gt_res, 0 } } }); - trace.set(1, { { // Execution { C::execution_sel, 1 }, { C::execution_sel_exec_dispatch_ecc_add, 1 }, @@ -1416,22 +1339,21 @@ TEST(EccAddMemoryConstrainingTest, InfinityRepresentations) { C::execution_register_5_, inf_bb.is_infinity() ? 1 : 0 }, // GT - dst out of range check { C::gt_sel, 1 }, - { C::gt_input_a, dst_address + 5 }, + { C::gt_input_a, dst_address + 2 }, { C::gt_input_b, AVM_HIGHEST_MEM_ADDRESS }, { C::gt_res, 0 } } }); builder.process_add_with_memory(ecc_add_memory_event_emitter.dump_events(), trace); - // The original coordinates are stored in memory for the read... - EXPECT_EQ(trace.get(C::ecc_add_mem_q_x, 1), inf_bb.x()); - EXPECT_EQ(trace.get(C::ecc_add_mem_q_y, 1), inf_bb.y()); - // ...but normalised coordinates are sent to the ecc subtrace: - EXPECT_EQ(trace.get(C::ecc_add_mem_q_x_n, 1), 0); - EXPECT_EQ(trace.get(C::ecc_add_mem_q_y_n, 1), 0); - check_relation(trace); - check_relation(trace); - check_all_interactions(trace); - check_interaction(trace); + // The derived is_inf column must be true if the coordinates are (0, 0): + trace.set(C::ecc_add_mem_p_is_inf, 0, 0); + EXPECT_THROW_WITH_MESSAGE(check_relation(trace, mem_aware_ecc::SR_P_CURVE_EQN), "P_CURVE_EQN"); + + // If is_inf is set, the coordinates must be (0, 0): + trace.set(C::ecc_add_mem_q_x, 0, 1); + trace.set(C::ecc_add_mem_q_y, 0, 2); + EXPECT_THROW_WITH_MESSAGE(check_relation(trace, mem_aware_ecc::SR_Q_INF_X_CHECK), "Q_INF_X_CHECK"); + EXPECT_THROW_WITH_MESSAGE(check_relation(trace, mem_aware_ecc::SR_Q_INF_Y_CHECK), "Q_INF_Y_CHECK"); } } // namespace diff --git a/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/get_contract_instance.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/get_contract_instance.test.cpp index 30337347c8de..3ac442fe3116 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/get_contract_instance.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/get_contract_instance.test.cpp @@ -141,6 +141,7 @@ TEST(GetContractInstanceConstrainingTest, SelectedMemberConstraint) const FF deployer_addr = 0x1234; const FF class_id = 0x5678; const FF init_hash = 0x9ABC; + const FF immutables_hash = 0xCAFE; const FF wrong_value = 0x1111; // Test selected member subrelation @@ -152,9 +153,11 @@ TEST(GetContractInstanceConstrainingTest, SelectedMemberConstraint) { C::get_contract_instance_is_deployer, 1 }, { C::get_contract_instance_is_class_id, 0 }, { C::get_contract_instance_is_init_hash, 0 }, + { C::get_contract_instance_is_immutables_hash, 0 }, { C::get_contract_instance_retrieved_deployer_addr, deployer_addr }, { C::get_contract_instance_retrieved_class_id, class_id }, - { C::get_contract_instance_retrieved_init_hash, init_hash } }, + { C::get_contract_instance_retrieved_init_hash, init_hash }, + { C::get_contract_instance_retrieved_immutables_hash, immutables_hash } }, }); check_relation(trace, get_contract_instance::SR_SELECTED_MEMBER); @@ -171,6 +174,12 @@ TEST(GetContractInstanceConstrainingTest, SelectedMemberConstraint) trace.set(C::get_contract_instance_is_init_hash, 1, 1); check_relation(trace, get_contract_instance::SR_SELECTED_MEMBER); + // Test IMMUTABLES_HASH selection + trace.set(C::get_contract_instance_selected_member, 1, immutables_hash); + trace.set(C::get_contract_instance_is_init_hash, 1, 0); + trace.set(C::get_contract_instance_is_immutables_hash, 1, 1); + check_relation(trace, get_contract_instance::SR_SELECTED_MEMBER); + // Negative test: wrong selected member trace.set(C::get_contract_instance_selected_member, 1, wrong_value); // Wrong value EXPECT_THROW_WITH_MESSAGE(check_relation(trace, get_contract_instance::SR_SELECTED_MEMBER), diff --git a/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/instr_fetching.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/instr_fetching.test.cpp index 3ab83cac013e..16b5e1b14b22 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/instr_fetching.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/constraining/relations/instr_fetching.test.cpp @@ -96,9 +96,7 @@ TEST(InstrFetchingConstrainingTest, EcaddWithTraceGen) Operand::from(0x127a), Operand::from(0x127b), Operand::from(0x127c), - Operand::from(0x127d), - Operand::from(0x127e), - Operand::from(0x127f) }, + Operand::from(0x127d), }, }; std::vector bytecode = ecadd_instruction.serialize(); diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/columns.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/columns.hpp index 3d1bfac00e40..55bf30c6aac7 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/columns.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/columns.hpp @@ -7,9 +7,9 @@ namespace bb::avm2 { // clang-format off -#define AVM2_PRECOMPUTED_ENTITIES_E(e) e precomputed_addressing_gas, e precomputed_bitwise_input_a, e precomputed_bitwise_input_b, e precomputed_bitwise_output_and, e precomputed_bitwise_output_or, e precomputed_bitwise_output_xor, e precomputed_dyn_gas_id, e precomputed_envvar_pi_row_idx, e precomputed_exec_opcode, e precomputed_exec_opcode_base_da_gas, e precomputed_exec_opcode_dynamic_da_gas, e precomputed_exec_opcode_dynamic_l2_gas, e precomputed_exec_opcode_opcode_gas, e precomputed_expected_tag_reg_0_, e precomputed_expected_tag_reg_1_, e precomputed_expected_tag_reg_2_, e precomputed_expected_tag_reg_3_, e precomputed_expected_tag_reg_4_, e precomputed_expected_tag_reg_5_, e precomputed_first_row, e precomputed_idx, e precomputed_instr_size, e precomputed_invalid_envvar_enum, e precomputed_is_address, e precomputed_is_class_id, e precomputed_is_cleanup, e precomputed_is_collect_fee, e precomputed_is_dagasleft, e precomputed_is_deployer, e precomputed_is_init_hash, e precomputed_is_isstaticcall, e precomputed_is_l2gasleft, e precomputed_is_public_call_request, e precomputed_is_revertible, e precomputed_is_sender, e precomputed_is_teardown, e precomputed_is_transactionfee, e precomputed_is_tree_padding, e precomputed_is_valid_member_enum, e precomputed_keccak_round_constant, e precomputed_next_phase_on_revert, e precomputed_opcode_out_of_range, e precomputed_out_tag, e precomputed_p_decomposition_limb, e precomputed_p_decomposition_limb_index, e precomputed_p_decomposition_radix, e precomputed_power_of_2, e precomputed_read_pi_length_offset, e precomputed_read_pi_start_offset, e precomputed_rw_reg_0_, e precomputed_rw_reg_1_, e precomputed_rw_reg_2_, e precomputed_rw_reg_3_, e precomputed_rw_reg_4_, e precomputed_rw_reg_5_, e precomputed_sel_addressing_gas, e precomputed_sel_append_l2_l1_msg, e precomputed_sel_append_note_hash, e precomputed_sel_append_nullifier, e precomputed_sel_envvar_pi_lookup_col0, e precomputed_sel_envvar_pi_lookup_col1, e precomputed_sel_exec_spec, e precomputed_sel_has_tag, e precomputed_sel_keccak, e precomputed_sel_mem_op_reg_0_, e precomputed_sel_mem_op_reg_1_, e precomputed_sel_mem_op_reg_2_, e precomputed_sel_mem_op_reg_3_, e precomputed_sel_mem_op_reg_4_, e precomputed_sel_mem_op_reg_5_, e precomputed_sel_mem_tag_out_of_range, e precomputed_sel_op_dc_0, e precomputed_sel_op_dc_1, e precomputed_sel_op_dc_10, e precomputed_sel_op_dc_11, e precomputed_sel_op_dc_12, e precomputed_sel_op_dc_13, e precomputed_sel_op_dc_14, e precomputed_sel_op_dc_15, e precomputed_sel_op_dc_16, e precomputed_sel_op_dc_2, e precomputed_sel_op_dc_3, e precomputed_sel_op_dc_4, e precomputed_sel_op_dc_5, e precomputed_sel_op_dc_6, e precomputed_sel_op_dc_7, e precomputed_sel_op_dc_8, e precomputed_sel_op_dc_9, e precomputed_sel_op_is_address_0_, e precomputed_sel_op_is_address_1_, e precomputed_sel_op_is_address_2_, e precomputed_sel_op_is_address_3_, e precomputed_sel_op_is_address_4_, e precomputed_sel_op_is_address_5_, e precomputed_sel_op_is_address_6_, e precomputed_sel_p_decomposition, e precomputed_sel_phase, e precomputed_sel_range_16, e precomputed_sel_range_8, e precomputed_sel_sha256_compression, e precomputed_sel_tag_check_reg_0_, e precomputed_sel_tag_check_reg_1_, e precomputed_sel_tag_check_reg_2_, e precomputed_sel_tag_check_reg_3_, e precomputed_sel_tag_check_reg_4_, e precomputed_sel_tag_check_reg_5_, e precomputed_sel_tag_is_op2, e precomputed_sel_tag_parameters, e precomputed_sel_to_radix_p_limb_counts, e precomputed_sha256_compression_round_constant, e precomputed_subtrace_id, e precomputed_subtrace_operation_id, e precomputed_tag_byte_length, e precomputed_tag_max_bits, e precomputed_tag_max_value, e precomputed_to_radix_num_limbs_for_p, e precomputed_to_radix_safe_limbs, e precomputed_zero, e public_inputs_sel -#define AVM2_WIRE_ENTITIES_E(e) e public_inputs_cols_0_, e public_inputs_cols_1_, e public_inputs_cols_2_, e public_inputs_cols_3_, e address_derivation_address, e address_derivation_address_y, e address_derivation_class_id, e address_derivation_const_four, e address_derivation_const_thirteen, e address_derivation_const_three, e address_derivation_const_two, e address_derivation_deployer_addr, e address_derivation_g1_x, e address_derivation_g1_y, e address_derivation_incoming_viewing_key_x, e address_derivation_incoming_viewing_key_y, e address_derivation_init_hash, e address_derivation_nullifier_key_x, e address_derivation_nullifier_key_y, e address_derivation_outgoing_viewing_key_x, e address_derivation_outgoing_viewing_key_y, e address_derivation_partial_address, e address_derivation_partial_address_domain_separator, e address_derivation_preaddress, e address_derivation_preaddress_domain_separator, e address_derivation_preaddress_public_key_x, e address_derivation_preaddress_public_key_y, e address_derivation_public_keys_hash, e address_derivation_public_keys_hash_domain_separator, e address_derivation_salt, e address_derivation_salted_init_hash, e address_derivation_salted_init_hash_domain_separator, e address_derivation_sel, e address_derivation_tagging_key_x, e address_derivation_tagging_key_y, e alu_a_hi, e alu_a_hi_bits, e alu_a_lo, e alu_a_lo_bits, e alu_ab_diff_inv, e alu_ab_tags_diff_inv, e alu_b_hi, e alu_b_inv, e alu_b_lo, e alu_c_hi, e alu_cf, e alu_constant_64, e alu_gt_input_a, e alu_gt_input_b, e alu_gt_result_c, e alu_helper1, e alu_ia, e alu_ia_tag, e alu_ib, e alu_ib_tag, e alu_ic, e alu_ic_tag, e alu_max_bits, e alu_max_value, e alu_mid, e alu_mid_bits, e alu_op_id, e alu_sel, e alu_sel_ab_tag_mismatch, e alu_sel_decompose_a, e alu_sel_div_0_err, e alu_sel_div_no_err, e alu_sel_err, e alu_sel_ff_gt, e alu_sel_int_gt, e alu_sel_is_ff, e alu_sel_is_u128, e alu_sel_mul_div_u128, e alu_sel_mul_no_err_non_ff, e alu_sel_op_add, e alu_sel_op_div, e alu_sel_op_eq, e alu_sel_op_fdiv, e alu_sel_op_lt, e alu_sel_op_lte, e alu_sel_op_mul, e alu_sel_op_not, e alu_sel_op_shl, e alu_sel_op_shr, e alu_sel_op_sub, e alu_sel_op_truncate, e alu_sel_shift_ops_no_overflow, e alu_sel_tag_err, e alu_sel_trunc_gte_128, e alu_sel_trunc_lt_128, e alu_sel_trunc_non_trivial, e alu_sel_trunc_trivial, e alu_shift_lo_bits, e alu_tag_ff_diff_inv, e alu_tag_u128_diff_inv, e alu_two_pow_shift_lo_bits, e bc_decomposition_bytes_pc_plus_36, e bc_decomposition_bytes_rem_inv, e bc_decomposition_bytes_rem_min_one_inv, e bc_decomposition_bytes_to_read, e bc_decomposition_last_of_contract, e bc_decomposition_next_packed_pc_min_pc_inv, e bc_decomposition_packed_field, e bc_decomposition_sel_packed, e bc_decomposition_sel_packed_read_0_, e bc_decomposition_sel_packed_read_1_, e bc_decomposition_sel_packed_read_2_, e bc_decomposition_sel_windows_eq_remaining, e bc_decomposition_windows_min_remaining_inv, e bc_hashing_end, e bc_hashing_input_len, e bc_hashing_packed_fields_0, e bc_hashing_packed_fields_1, e bc_hashing_packed_fields_2, e bc_hashing_pc_index, e bc_hashing_pc_index_2, e bc_hashing_sel_not_padding_1, e bc_hashing_sel_not_padding_2, e bc_hashing_size_in_bytes, e bc_retrieval_address, e bc_retrieval_artifact_hash, e bc_retrieval_bytecode_id, e bc_retrieval_current_class_id, e bc_retrieval_error, e bc_retrieval_instance_exists, e bc_retrieval_is_new_class, e bc_retrieval_next_retrieved_bytecodes_tree_root, e bc_retrieval_next_retrieved_bytecodes_tree_size, e bc_retrieval_no_remaining_bytecodes, e bc_retrieval_nullifier_tree_root, e bc_retrieval_prev_retrieved_bytecodes_tree_root, e bc_retrieval_prev_retrieved_bytecodes_tree_size, e bc_retrieval_private_functions_root, e bc_retrieval_public_data_tree_root, e bc_retrieval_remaining_bytecodes_inv, e bc_retrieval_retrieved_bytecodes_merkle_separator, e bc_retrieval_retrieved_bytecodes_tree_height, e bc_retrieval_sel, e bc_retrieval_should_retrieve, e bitwise_ctr_min_one_inv, e bitwise_end, e bitwise_err, e bitwise_ia_byte, e bitwise_ib_byte, e bitwise_ic_byte, e bitwise_output_and, e bitwise_output_or, e bitwise_output_xor, e bitwise_sel_and, e bitwise_sel_compute, e bitwise_sel_get_ctr, e bitwise_sel_or, e bitwise_sel_tag_ff_err, e bitwise_sel_tag_mismatch_err, e bitwise_sel_xor, e bitwise_start_keccak, e bitwise_start_sha256, e bitwise_tag_a, e bitwise_tag_a_inv, e bitwise_tag_ab_diff_inv, e bitwise_tag_b, e bitwise_tag_c, e calldata_end, e calldata_hashing_end, e calldata_hashing_index_1_, e calldata_hashing_index_2_, e calldata_hashing_input_0_, e calldata_hashing_input_1_, e calldata_hashing_input_2_, e calldata_hashing_input_len, e calldata_hashing_sel_end_not_empty, e calldata_hashing_sel_not_padding_1, e calldata_hashing_sel_not_padding_2, e calldata_hashing_sel_not_start, e calldata_value, e class_id_derivation_artifact_hash, e class_id_derivation_class_id, e class_id_derivation_const_four, e class_id_derivation_gen_index_contract_class_id, e class_id_derivation_private_functions_root, e class_id_derivation_public_bytecode_commitment, e class_id_derivation_sel, e context_stack_bytecode_id, e context_stack_context_id, e context_stack_contract_address, e context_stack_entered_context_id, e context_stack_internal_call_id, e context_stack_internal_call_return_id, e context_stack_is_static, e context_stack_msg_sender, e context_stack_next_internal_call_id, e context_stack_next_pc, e context_stack_note_hash_tree_root, e context_stack_note_hash_tree_size, e context_stack_nullifier_tree_root, e context_stack_nullifier_tree_size, e context_stack_num_l2_to_l1_messages, e context_stack_num_note_hashes_emitted, e context_stack_num_nullifiers_emitted, e context_stack_num_public_log_fields, e context_stack_parent_calldata_addr, e context_stack_parent_calldata_size, e context_stack_parent_da_gas_limit, e context_stack_parent_da_gas_used, e context_stack_parent_id, e context_stack_parent_l2_gas_limit, e context_stack_parent_l2_gas_used, e context_stack_public_data_tree_root, e context_stack_public_data_tree_size, e context_stack_sel, e context_stack_written_public_data_slots_tree_root, e context_stack_written_public_data_slots_tree_size, e contract_instance_retrieval_address, e contract_instance_retrieval_address_sub_one, e contract_instance_retrieval_current_class_id, e contract_instance_retrieval_deployer_addr, e contract_instance_retrieval_deployer_protocol_contract_address, e contract_instance_retrieval_derived_address, e contract_instance_retrieval_derived_address_pi_index, e contract_instance_retrieval_exists, e contract_instance_retrieval_incoming_viewing_key_x, e contract_instance_retrieval_incoming_viewing_key_y, e contract_instance_retrieval_init_hash, e contract_instance_retrieval_is_protocol_contract, e contract_instance_retrieval_max_protocol_contracts, e contract_instance_retrieval_nullifier_key_x, e contract_instance_retrieval_nullifier_key_y, e contract_instance_retrieval_nullifier_merkle_separator, e contract_instance_retrieval_nullifier_tree_height, e contract_instance_retrieval_nullifier_tree_root, e contract_instance_retrieval_original_class_id, e contract_instance_retrieval_outgoing_viewing_key_x, e contract_instance_retrieval_outgoing_viewing_key_y, e contract_instance_retrieval_protocol_contract_derived_address_inv, e contract_instance_retrieval_public_data_tree_root, e contract_instance_retrieval_salt, e contract_instance_retrieval_sel, e contract_instance_retrieval_should_check_for_update, e contract_instance_retrieval_should_check_nullifier, e contract_instance_retrieval_siloing_separator, e contract_instance_retrieval_tagging_key_x, e contract_instance_retrieval_tagging_key_y, e data_copy_cd_copy_col_read, e data_copy_clamped_read_index_upper_bound, e data_copy_dst_out_of_range_err, e data_copy_end, e data_copy_is_top_level, e data_copy_mem_size, e data_copy_offset, e data_copy_offset_plus_size, e data_copy_offset_plus_size_is_gt, e data_copy_parent_id_inv, e data_copy_read_addr_plus_one, e data_copy_read_addr_upper_bound, e data_copy_reads_left_inv, e data_copy_sel_cd_copy_start, e data_copy_sel_has_reads, e data_copy_sel_mem_read, e data_copy_sel_mem_write, e data_copy_sel_rd_copy_start, e data_copy_sel_write_count_is_zero, e data_copy_src_addr, e data_copy_src_data_size, e data_copy_src_reads_exceed_mem, e data_copy_start_no_err, e data_copy_tag, e data_copy_value, e data_copy_write_addr_upper_bound, e data_copy_write_count_minus_one_inv, e data_copy_write_count_zero_inv, e ecc_add_mem_dst_addr_0_, e ecc_add_mem_dst_addr_1_, e ecc_add_mem_dst_addr_2_, e ecc_add_mem_err, e ecc_add_mem_execution_clk, e ecc_add_mem_max_mem_addr, e ecc_add_mem_p_is_inf, e ecc_add_mem_p_is_on_curve_eqn, e ecc_add_mem_p_is_on_curve_eqn_inv, e ecc_add_mem_p_x, e ecc_add_mem_p_x_n, e ecc_add_mem_p_y, e ecc_add_mem_p_y_n, e ecc_add_mem_q_is_inf, e ecc_add_mem_q_is_on_curve_eqn, e ecc_add_mem_q_is_on_curve_eqn_inv, e ecc_add_mem_q_x, e ecc_add_mem_q_x_n, e ecc_add_mem_q_y, e ecc_add_mem_q_y_n, e ecc_add_mem_res_is_inf, e ecc_add_mem_res_x, e ecc_add_mem_res_y, e ecc_add_mem_sel, e ecc_add_mem_sel_dst_out_of_range_err, e ecc_add_mem_sel_p_not_on_curve_err, e ecc_add_mem_sel_q_not_on_curve_err, e ecc_add_mem_sel_should_exec, e ecc_add_mem_space_id, e ecc_add_op, e ecc_double_op, e ecc_inv_2_p_y, e ecc_inv_x_diff, e ecc_inv_y_diff, e ecc_lambda, e ecc_p_is_inf, e ecc_p_x, e ecc_p_y, e ecc_q_is_inf, e ecc_q_x, e ecc_q_y, e ecc_r_is_inf, e ecc_r_x, e ecc_r_y, e ecc_result_infinity, e ecc_sel, e ecc_use_computed_result, e ecc_x_match, e ecc_y_match, e emit_public_log_discard, e emit_public_log_end, e emit_public_log_end_log_address_upper_bound, e emit_public_log_error, e emit_public_log_error_too_many_log_fields, e emit_public_log_expected_next_log_fields, e emit_public_log_is_static, e emit_public_log_log_size, e emit_public_log_max_mem_size, e emit_public_log_max_public_logs_payload_length, e emit_public_log_next_num_public_log_fields, e emit_public_log_prev_num_public_log_fields, e emit_public_log_public_inputs_value, e emit_public_log_remaining_rows_inv, e emit_public_log_sel_read_memory, e emit_public_log_tag, e emit_public_log_tag_inv, e emit_public_log_value, e execution_addressing_error_collection_inv, e execution_addressing_gas, e execution_addressing_mode, e execution_base_address_tag, e execution_base_address_tag_diff_inv, e execution_base_address_val, e execution_base_da_gas, e execution_batched_tags_diff_inv, e execution_batched_tags_diff_inv_reg, e execution_da_gas_left, e execution_da_gas_used, e execution_dying_context_diff_inv, e execution_dying_context_id_inv, e execution_dyn_gas_id, e execution_dynamic_da_gas, e execution_dynamic_da_gas_factor, e execution_dynamic_l2_gas, e execution_dynamic_l2_gas_factor, e execution_enqueued_call_end, e execution_envvar_pi_row_idx, e execution_exec_opcode, e execution_expected_tag_reg_0_, e execution_expected_tag_reg_1_, e execution_expected_tag_reg_2_, e execution_expected_tag_reg_3_, e execution_expected_tag_reg_4_, e execution_expected_tag_reg_5_, e execution_has_parent_ctx, e execution_highest_address, e execution_instr_size, e execution_internal_call_return_id_inv, e execution_is_address, e execution_is_da_gas_left_gt_allocated, e execution_is_dagasleft, e execution_is_dying_context, e execution_is_isstaticcall, e execution_is_l2_gas_left_gt_allocated, e execution_is_l2gasleft, e execution_is_parent_id_inv, e execution_is_sender, e execution_is_transactionfee, e execution_l1_to_l2_msg_leaf_in_range, e execution_l1_to_l2_msg_tree_leaf_count, e execution_l2_gas_left, e execution_l2_gas_used, e execution_max_data_writes_reached, e execution_max_eth_address_value, e execution_mem_tag_reg_0_, e execution_mem_tag_reg_1_, e execution_mem_tag_reg_2_, e execution_mem_tag_reg_3_, e execution_mem_tag_reg_4_, e execution_mem_tag_reg_5_, e execution_nested_failure, e execution_nested_return, e execution_next_pc, e execution_note_hash_leaf_in_range, e execution_note_hash_tree_leaf_count, e execution_note_hash_tree_root, e execution_note_hash_tree_size, e execution_nullifier_merkle_separator, e execution_nullifier_pi_offset, e execution_nullifier_siloing_separator, e execution_nullifier_tree_height, e execution_nullifier_tree_root, e execution_nullifier_tree_size, e execution_num_l2_to_l1_messages, e execution_num_note_hashes_emitted, e execution_num_nullifiers_emitted, e execution_num_p_limbs, e execution_num_public_log_fields, e execution_num_relative_operands_inv, e execution_op_0_, e execution_op_1_, e execution_op_2_, e execution_op_3_, e execution_op_4_, e execution_op_5_, e execution_op_6_, e execution_op_after_relative_0_, e execution_op_after_relative_1_, e execution_op_after_relative_2_, e execution_op_after_relative_3_, e execution_op_after_relative_4_, e execution_op_after_relative_5_, e execution_op_after_relative_6_, e execution_opcode_gas, e execution_out_of_gas_da, e execution_out_of_gas_l2, e execution_public_data_tree_root, e execution_public_data_tree_size, e execution_public_inputs_index, e execution_register_0_, e execution_register_1_, e execution_register_2_, e execution_register_3_, e execution_register_4_, e execution_register_5_, e execution_remaining_data_writes_inv, e execution_remaining_l2_to_l1_msgs_inv, e execution_remaining_note_hashes_inv, e execution_remaining_nullifiers_inv, e execution_retrieved_bytecodes_tree_root, e execution_retrieved_bytecodes_tree_size, e execution_rop_0_, e execution_rop_1_, e execution_rop_2_, e execution_rop_3_, e execution_rop_4_, e execution_rop_5_, e execution_rop_6_, e execution_rop_tag_0_, e execution_rop_tag_1_, e execution_rop_tag_2_, e execution_rop_tag_3_, e execution_rop_tag_4_, e execution_rop_tag_5_, e execution_rop_tag_6_, e execution_rw_reg_0_, e execution_rw_reg_1_, e execution_rw_reg_2_, e execution_rw_reg_3_, e execution_rw_reg_4_, e execution_rw_reg_5_, e execution_sel_addressing_error, e execution_sel_apply_indirection_0_, e execution_sel_apply_indirection_1_, e execution_sel_apply_indirection_2_, e execution_sel_apply_indirection_3_, e execution_sel_apply_indirection_4_, e execution_sel_apply_indirection_5_, e execution_sel_apply_indirection_6_, e execution_sel_base_address_failure, e execution_sel_bytecode_retrieval_failure, e execution_sel_bytecode_retrieval_success, e execution_sel_check_gas, e execution_sel_do_base_check, e execution_sel_enter_call, e execution_sel_envvar_pi_lookup_col0, e execution_sel_envvar_pi_lookup_col1, e execution_sel_error, e execution_sel_exec_dispatch_alu, e execution_sel_exec_dispatch_bitwise, e execution_sel_exec_dispatch_calldata_copy, e execution_sel_exec_dispatch_cast, e execution_sel_exec_dispatch_ecc_add, e execution_sel_exec_dispatch_emit_public_log, e execution_sel_exec_dispatch_execution, e execution_sel_exec_dispatch_get_contract_instance, e execution_sel_exec_dispatch_keccakf1600, e execution_sel_exec_dispatch_poseidon2_perm, e execution_sel_exec_dispatch_returndata_copy, e execution_sel_exec_dispatch_set, e execution_sel_exec_dispatch_sha256_compression, e execution_sel_exec_dispatch_to_radix, e execution_sel_execute_call, e execution_sel_execute_debug_log, e execution_sel_execute_emit_notehash, e execution_sel_execute_emit_nullifier, e execution_sel_execute_get_env_var, e execution_sel_execute_internal_call, e execution_sel_execute_internal_return, e execution_sel_execute_jump, e execution_sel_execute_jumpi, e execution_sel_execute_l1_to_l2_message_exists, e execution_sel_execute_mov, e execution_sel_execute_notehash_exists, e execution_sel_execute_nullifier_exists, e execution_sel_execute_opcode, e execution_sel_execute_return, e execution_sel_execute_returndata_size, e execution_sel_execute_revert, e execution_sel_execute_send_l2_to_l1_msg, e execution_sel_execute_sload, e execution_sel_execute_sstore, e execution_sel_execute_static_call, e execution_sel_execute_success_copy, e execution_sel_exit_call, e execution_sel_failure, e execution_sel_gas_bitwise, e execution_sel_gas_calldata_copy, e execution_sel_gas_emit_public_log, e execution_sel_gas_returndata_copy, e execution_sel_gas_sstore, e execution_sel_gas_to_radix, e execution_sel_instruction_fetching_failure, e execution_sel_instruction_fetching_success, e execution_sel_l2_to_l1_msg_limit_error, e execution_sel_lookup_num_p_limbs, e execution_sel_mem_op_reg_0_, e execution_sel_mem_op_reg_1_, e execution_sel_mem_op_reg_2_, e execution_sel_mem_op_reg_3_, e execution_sel_mem_op_reg_4_, e execution_sel_mem_op_reg_5_, e execution_sel_op_do_overflow_check_0_, e execution_sel_op_do_overflow_check_1_, e execution_sel_op_do_overflow_check_2_, e execution_sel_op_do_overflow_check_3_, e execution_sel_op_do_overflow_check_4_, e execution_sel_op_do_overflow_check_5_, e execution_sel_op_do_overflow_check_6_, e execution_sel_op_is_address_0_, e execution_sel_op_is_address_1_, e execution_sel_op_is_address_2_, e execution_sel_op_is_address_3_, e execution_sel_op_is_address_4_, e execution_sel_op_is_address_5_, e execution_sel_op_is_address_6_, e execution_sel_op_is_indirect_wire_0_, e execution_sel_op_is_indirect_wire_1_, e execution_sel_op_is_indirect_wire_2_, e execution_sel_op_is_indirect_wire_3_, e execution_sel_op_is_indirect_wire_4_, e execution_sel_op_is_indirect_wire_5_, e execution_sel_op_is_indirect_wire_6_, e execution_sel_op_is_indirect_wire_7_, e execution_sel_op_is_relative_wire_0_, e execution_sel_op_is_relative_wire_1_, e execution_sel_op_is_relative_wire_2_, e execution_sel_op_is_relative_wire_3_, e execution_sel_op_is_relative_wire_4_, e execution_sel_op_is_relative_wire_5_, e execution_sel_op_is_relative_wire_6_, e execution_sel_op_is_relative_wire_7_, e execution_sel_op_reg_effective_0_, e execution_sel_op_reg_effective_1_, e execution_sel_op_reg_effective_2_, e execution_sel_op_reg_effective_3_, e execution_sel_op_reg_effective_4_, e execution_sel_op_reg_effective_5_, e execution_sel_opcode_error, e execution_sel_out_of_gas, e execution_sel_radix_gt_256, e execution_sel_reached_max_note_hashes, e execution_sel_reached_max_nullifiers, e execution_sel_read_registers, e execution_sel_read_unwind_call_stack, e execution_sel_register_read_error, e execution_sel_relative_overflow_0_, e execution_sel_relative_overflow_1_, e execution_sel_relative_overflow_2_, e execution_sel_relative_overflow_3_, e execution_sel_relative_overflow_4_, e execution_sel_relative_overflow_5_, e execution_sel_relative_overflow_6_, e execution_sel_some_final_check_failed, e execution_sel_tag_check_reg_0_, e execution_sel_tag_check_reg_1_, e execution_sel_tag_check_reg_2_, e execution_sel_tag_check_reg_3_, e execution_sel_tag_check_reg_4_, e execution_sel_tag_check_reg_5_, e execution_sel_too_large_recipient_error, e execution_sel_use_num_limbs, e execution_sel_write_l2_to_l1_msg, e execution_sel_write_note_hash, e execution_sel_write_nullifier, e execution_sel_write_public_data, e execution_sel_write_registers, e execution_subtrace_id, e execution_subtrace_operation_id, e execution_total_gas_da, e execution_total_gas_l2, e execution_two_five_six, e execution_value_from_pi, e execution_written_public_data_slots_tree_root, e execution_written_public_data_slots_tree_size, e execution_written_slots_merkle_separator, e execution_written_slots_tree_height, e execution_written_slots_tree_siloing_separator, e ff_gt_a, e ff_gt_b, e ff_gt_borrow, e ff_gt_constant_128, e ff_gt_end, e ff_gt_p_a_borrow, e ff_gt_p_b_borrow, e ff_gt_res_hi, e ff_gt_res_lo, e ff_gt_result, e get_contract_instance_clk, e get_contract_instance_contract_address, e get_contract_instance_dst_offset, e get_contract_instance_dst_offset_diff_max_inv, e get_contract_instance_exists_tag, e get_contract_instance_instance_exists, e get_contract_instance_is_class_id, e get_contract_instance_is_deployer, e get_contract_instance_is_init_hash, e get_contract_instance_is_valid_member_enum, e get_contract_instance_is_valid_writes_in_bounds, e get_contract_instance_member_enum, e get_contract_instance_member_tag, e get_contract_instance_member_write_offset, e get_contract_instance_nullifier_tree_root, e get_contract_instance_public_data_tree_root, e get_contract_instance_retrieved_class_id, e get_contract_instance_retrieved_deployer_addr, e get_contract_instance_retrieved_init_hash, e get_contract_instance_sel, e get_contract_instance_sel_error, e get_contract_instance_selected_member, e get_contract_instance_space_id, e gt_abs_diff, e gt_input_a, e gt_input_b, e gt_num_bits, e gt_res, e gt_sel, e gt_sel_addressing, e gt_sel_alu, e gt_sel_gas, e gt_sel_others, e gt_sel_sha256, e indexed_tree_check_address, e indexed_tree_check_const_three, e indexed_tree_check_discard, e indexed_tree_check_exists, e indexed_tree_check_intermediate_root, e indexed_tree_check_low_leaf_hash, e indexed_tree_check_low_leaf_index, e indexed_tree_check_low_leaf_next_index, e indexed_tree_check_low_leaf_next_value, e indexed_tree_check_low_leaf_value, e indexed_tree_check_merkle_hash_separator, e indexed_tree_check_new_leaf_hash, e indexed_tree_check_next_value_inv, e indexed_tree_check_next_value_is_nonzero, e indexed_tree_check_not_exists, e indexed_tree_check_public_inputs_index, e indexed_tree_check_root, e indexed_tree_check_sel, e indexed_tree_check_sel_insert, e indexed_tree_check_sel_silo, e indexed_tree_check_sel_write_to_public_inputs, e indexed_tree_check_siloed_value, e indexed_tree_check_siloing_separator, e indexed_tree_check_tree_height, e indexed_tree_check_tree_size_after_write, e indexed_tree_check_tree_size_before_write, e indexed_tree_check_updated_low_leaf_hash, e indexed_tree_check_updated_low_leaf_next_index, e indexed_tree_check_updated_low_leaf_next_value, e indexed_tree_check_value, e indexed_tree_check_value_low_leaf_value_diff_inv, e indexed_tree_check_write, e indexed_tree_check_write_root, e instr_fetching_addressing_mode, e instr_fetching_bd0, e instr_fetching_bd1, e instr_fetching_bd10, e instr_fetching_bd11, e instr_fetching_bd12, e instr_fetching_bd13, e instr_fetching_bd14, e instr_fetching_bd15, e instr_fetching_bd16, e instr_fetching_bd17, e instr_fetching_bd18, e instr_fetching_bd19, e instr_fetching_bd2, e instr_fetching_bd20, e instr_fetching_bd21, e instr_fetching_bd22, e instr_fetching_bd23, e instr_fetching_bd24, e instr_fetching_bd25, e instr_fetching_bd26, e instr_fetching_bd27, e instr_fetching_bd28, e instr_fetching_bd29, e instr_fetching_bd3, e instr_fetching_bd30, e instr_fetching_bd31, e instr_fetching_bd32, e instr_fetching_bd33, e instr_fetching_bd34, e instr_fetching_bd35, e instr_fetching_bd36, e instr_fetching_bd4, e instr_fetching_bd5, e instr_fetching_bd6, e instr_fetching_bd7, e instr_fetching_bd8, e instr_fetching_bd9, e instr_fetching_bytecode_id, e instr_fetching_bytecode_size, e instr_fetching_bytes_to_read, e instr_fetching_exec_opcode, e instr_fetching_instr_abs_diff, e instr_fetching_instr_out_of_range, e instr_fetching_instr_size, e instr_fetching_op1, e instr_fetching_op2, e instr_fetching_op3, e instr_fetching_op4, e instr_fetching_op5, e instr_fetching_op6, e instr_fetching_op7, e instr_fetching_opcode_out_of_range, e instr_fetching_pc, e instr_fetching_pc_abs_diff, e instr_fetching_pc_out_of_range, e instr_fetching_pc_size_in_bits, e instr_fetching_sel, e instr_fetching_sel_has_tag, e instr_fetching_sel_op_dc_0, e instr_fetching_sel_op_dc_1, e instr_fetching_sel_op_dc_10, e instr_fetching_sel_op_dc_11, e instr_fetching_sel_op_dc_12, e instr_fetching_sel_op_dc_13, e instr_fetching_sel_op_dc_14, e instr_fetching_sel_op_dc_15, e instr_fetching_sel_op_dc_16, e instr_fetching_sel_op_dc_2, e instr_fetching_sel_op_dc_3, e instr_fetching_sel_op_dc_4, e instr_fetching_sel_op_dc_5, e instr_fetching_sel_op_dc_6, e instr_fetching_sel_op_dc_7, e instr_fetching_sel_op_dc_8, e instr_fetching_sel_op_dc_9, e instr_fetching_sel_parsing_err, e instr_fetching_sel_pc_in_range, e instr_fetching_sel_tag_is_op2, e instr_fetching_tag_out_of_range, e instr_fetching_tag_value, e internal_call_stack_call_id, e internal_call_stack_context_id, e internal_call_stack_entered_call_id, e internal_call_stack_return_call_id, e internal_call_stack_return_pc, e internal_call_stack_sel, e keccak_memory_ctr_end, e keccak_memory_end, e keccak_memory_single_tag_error, e keccak_memory_state_size_min_ctr_inv, e keccak_memory_tag, e keccak_memory_tag_min_u64_inv, e keccak_memory_val_24_, e keccakf1600_bitwise_and_op_id, e keccakf1600_bitwise_xor_op_id, e keccakf1600_dst_out_of_range_error, e keccakf1600_end, e keccakf1600_error, e keccakf1600_highest_slice_address, e keccakf1600_rot_64_min_len_01, e keccakf1600_rot_64_min_len_03, e keccakf1600_rot_64_min_len_11, e keccakf1600_rot_64_min_len_13, e keccakf1600_rot_64_min_len_20, e keccakf1600_rot_64_min_len_22, e keccakf1600_rot_64_min_len_24, e keccakf1600_rot_64_min_len_31, e keccakf1600_rot_64_min_len_34, e keccakf1600_rot_64_min_len_42, e keccakf1600_rot_len_02, e keccakf1600_rot_len_04, e keccakf1600_rot_len_10, e keccakf1600_rot_len_12, e keccakf1600_rot_len_14, e keccakf1600_rot_len_21, e keccakf1600_rot_len_23, e keccakf1600_rot_len_30, e keccakf1600_rot_len_32, e keccakf1600_rot_len_33, e keccakf1600_rot_len_40, e keccakf1600_rot_len_41, e keccakf1600_rot_len_43, e keccakf1600_rot_len_44, e keccakf1600_round_cst, e keccakf1600_sel_slice_read, e keccakf1600_sel_slice_write, e keccakf1600_src_addr, e keccakf1600_src_out_of_range_error, e keccakf1600_state_chi_00, e keccakf1600_state_chi_01, e keccakf1600_state_chi_02, e keccakf1600_state_chi_03, e keccakf1600_state_chi_04, e keccakf1600_state_chi_10, e keccakf1600_state_chi_11, e keccakf1600_state_chi_12, e keccakf1600_state_chi_13, e keccakf1600_state_chi_14, e keccakf1600_state_chi_20, e keccakf1600_state_chi_21, e keccakf1600_state_chi_22, e keccakf1600_state_chi_23, e keccakf1600_state_chi_24, e keccakf1600_state_chi_30, e keccakf1600_state_chi_31, e keccakf1600_state_chi_32, e keccakf1600_state_chi_33, e keccakf1600_state_chi_34, e keccakf1600_state_chi_40, e keccakf1600_state_chi_41, e keccakf1600_state_chi_42, e keccakf1600_state_chi_43, e keccakf1600_state_chi_44, e keccakf1600_state_iota_00, e keccakf1600_state_pi_and_00, e keccakf1600_state_pi_and_01, e keccakf1600_state_pi_and_02, e keccakf1600_state_pi_and_03, e keccakf1600_state_pi_and_04, e keccakf1600_state_pi_and_10, e keccakf1600_state_pi_and_11, e keccakf1600_state_pi_and_12, e keccakf1600_state_pi_and_13, e keccakf1600_state_pi_and_14, e keccakf1600_state_pi_and_20, e keccakf1600_state_pi_and_21, e keccakf1600_state_pi_and_22, e keccakf1600_state_pi_and_23, e keccakf1600_state_pi_and_24, e keccakf1600_state_pi_and_30, e keccakf1600_state_pi_and_31, e keccakf1600_state_pi_and_32, e keccakf1600_state_pi_and_33, e keccakf1600_state_pi_and_34, e keccakf1600_state_pi_and_40, e keccakf1600_state_pi_and_41, e keccakf1600_state_pi_and_42, e keccakf1600_state_pi_and_43, e keccakf1600_state_pi_and_44, e keccakf1600_state_pi_not_00, e keccakf1600_state_pi_not_01, e keccakf1600_state_pi_not_02, e keccakf1600_state_pi_not_03, e keccakf1600_state_pi_not_04, e keccakf1600_state_pi_not_10, e keccakf1600_state_pi_not_11, e keccakf1600_state_pi_not_12, e keccakf1600_state_pi_not_13, e keccakf1600_state_pi_not_14, e keccakf1600_state_pi_not_20, e keccakf1600_state_pi_not_21, e keccakf1600_state_pi_not_22, e keccakf1600_state_pi_not_23, e keccakf1600_state_pi_not_24, e keccakf1600_state_pi_not_30, e keccakf1600_state_pi_not_31, e keccakf1600_state_pi_not_32, e keccakf1600_state_pi_not_33, e keccakf1600_state_pi_not_34, e keccakf1600_state_pi_not_40, e keccakf1600_state_pi_not_41, e keccakf1600_state_pi_not_42, e keccakf1600_state_pi_not_43, e keccakf1600_state_pi_not_44, e keccakf1600_state_rho_01, e keccakf1600_state_rho_02, e keccakf1600_state_rho_03, e keccakf1600_state_rho_04, e keccakf1600_state_rho_10, e keccakf1600_state_rho_11, e keccakf1600_state_rho_12, e keccakf1600_state_rho_13, e keccakf1600_state_rho_14, e keccakf1600_state_rho_20, e keccakf1600_state_rho_21, e keccakf1600_state_rho_22, e keccakf1600_state_rho_23, e keccakf1600_state_rho_24, e keccakf1600_state_rho_30, e keccakf1600_state_rho_31, e keccakf1600_state_rho_32, e keccakf1600_state_rho_33, e keccakf1600_state_rho_34, e keccakf1600_state_rho_40, e keccakf1600_state_rho_41, e keccakf1600_state_rho_42, e keccakf1600_state_rho_43, e keccakf1600_state_rho_44, e keccakf1600_state_theta_00, e keccakf1600_state_theta_01, e keccakf1600_state_theta_02, e keccakf1600_state_theta_03, e keccakf1600_state_theta_04, e keccakf1600_state_theta_10, e keccakf1600_state_theta_11, e keccakf1600_state_theta_12, e keccakf1600_state_theta_13, e keccakf1600_state_theta_14, e keccakf1600_state_theta_20, e keccakf1600_state_theta_21, e keccakf1600_state_theta_22, e keccakf1600_state_theta_23, e keccakf1600_state_theta_24, e keccakf1600_state_theta_30, e keccakf1600_state_theta_31, e keccakf1600_state_theta_32, e keccakf1600_state_theta_33, e keccakf1600_state_theta_34, e keccakf1600_state_theta_40, e keccakf1600_state_theta_41, e keccakf1600_state_theta_42, e keccakf1600_state_theta_43, e keccakf1600_state_theta_44, e keccakf1600_state_theta_hi_02, e keccakf1600_state_theta_hi_04, e keccakf1600_state_theta_hi_10, e keccakf1600_state_theta_hi_12, e keccakf1600_state_theta_hi_14, e keccakf1600_state_theta_hi_21, e keccakf1600_state_theta_hi_23, e keccakf1600_state_theta_hi_30, e keccakf1600_state_theta_hi_32, e keccakf1600_state_theta_hi_33, e keccakf1600_state_theta_hi_40, e keccakf1600_state_theta_hi_41, e keccakf1600_state_theta_hi_43, e keccakf1600_state_theta_hi_44, e keccakf1600_state_theta_low_01, e keccakf1600_state_theta_low_03, e keccakf1600_state_theta_low_11, e keccakf1600_state_theta_low_13, e keccakf1600_state_theta_low_20, e keccakf1600_state_theta_low_22, e keccakf1600_state_theta_low_24, e keccakf1600_state_theta_low_31, e keccakf1600_state_theta_low_34, e keccakf1600_state_theta_low_42, e keccakf1600_tag_error, e keccakf1600_tag_u64, e keccakf1600_theta_combined_xor_0, e keccakf1600_theta_combined_xor_1, e keccakf1600_theta_combined_xor_2, e keccakf1600_theta_combined_xor_3, e keccakf1600_theta_combined_xor_4, e keccakf1600_theta_xor_01, e keccakf1600_theta_xor_02, e keccakf1600_theta_xor_03, e keccakf1600_theta_xor_11, e keccakf1600_theta_xor_12, e keccakf1600_theta_xor_13, e keccakf1600_theta_xor_21, e keccakf1600_theta_xor_22, e keccakf1600_theta_xor_23, e keccakf1600_theta_xor_31, e keccakf1600_theta_xor_32, e keccakf1600_theta_xor_33, e keccakf1600_theta_xor_41, e keccakf1600_theta_xor_42, e keccakf1600_theta_xor_43, e keccakf1600_theta_xor_row_0, e keccakf1600_theta_xor_row_1, e keccakf1600_theta_xor_row_2, e keccakf1600_theta_xor_row_3, e keccakf1600_theta_xor_row_4, e keccakf1600_theta_xor_row_msb_0, e keccakf1600_theta_xor_row_msb_1, e keccakf1600_theta_xor_row_msb_2, e keccakf1600_theta_xor_row_msb_3, e keccakf1600_theta_xor_row_msb_4, e keccakf1600_theta_xor_row_rotl1_0, e keccakf1600_theta_xor_row_rotl1_1, e keccakf1600_theta_xor_row_rotl1_2, e keccakf1600_theta_xor_row_rotl1_3, e keccakf1600_theta_xor_row_rotl1_4, e l1_to_l2_message_tree_check_exists, e l1_to_l2_message_tree_check_l1_to_l2_message_tree_height, e l1_to_l2_message_tree_check_leaf_index, e l1_to_l2_message_tree_check_leaf_value, e l1_to_l2_message_tree_check_leaf_value_msg_hash_diff_inv, e l1_to_l2_message_tree_check_merkle_hash_separator, e l1_to_l2_message_tree_check_msg_hash, e l1_to_l2_message_tree_check_root, e l1_to_l2_message_tree_check_sel, e memory_diff, e memory_glob_addr_diff_inv, e memory_last_access, e memory_limb_0_, e memory_limb_1_, e memory_limb_2_, e memory_max_bits, e memory_sel_addressing_base, e memory_sel_addressing_indirect_0_, e memory_sel_addressing_indirect_1_, e memory_sel_addressing_indirect_2_, e memory_sel_addressing_indirect_3_, e memory_sel_addressing_indirect_4_, e memory_sel_addressing_indirect_5_, e memory_sel_addressing_indirect_6_, e memory_sel_data_copy_read, e memory_sel_data_copy_write, e memory_sel_ecc_write_0_, e memory_sel_ecc_write_1_, e memory_sel_ecc_write_2_, e memory_sel_get_contract_instance_exists_write, e memory_sel_get_contract_instance_member_write, e memory_sel_keccak, e memory_sel_poseidon2_read_0_, e memory_sel_poseidon2_read_1_, e memory_sel_poseidon2_read_2_, e memory_sel_poseidon2_read_3_, e memory_sel_poseidon2_write_0_, e memory_sel_poseidon2_write_1_, e memory_sel_poseidon2_write_2_, e memory_sel_poseidon2_write_3_, e memory_sel_public_log_read, e memory_sel_register_op_0_, e memory_sel_register_op_1_, e memory_sel_register_op_2_, e memory_sel_register_op_3_, e memory_sel_register_op_4_, e memory_sel_register_op_5_, e memory_sel_rng_chk, e memory_sel_rng_write, e memory_sel_sha256_op_0_, e memory_sel_sha256_op_1_, e memory_sel_sha256_op_2_, e memory_sel_sha256_op_3_, e memory_sel_sha256_op_4_, e memory_sel_sha256_op_5_, e memory_sel_sha256_op_6_, e memory_sel_sha256_op_7_, e memory_sel_sha256_read, e memory_sel_tag_is_ff, e memory_sel_to_radix_write, e memory_tag_ff_diff_inv, e merkle_check_const_three, e merkle_check_end, e merkle_check_index_is_even, e merkle_check_path_len_min_one_inv, e merkle_check_read_left_node, e merkle_check_read_output_hash, e merkle_check_read_right_node, e merkle_check_sibling, e merkle_check_write_left_node, e merkle_check_write_output_hash, e merkle_check_write_right_node, e note_hash_tree_check_address, e note_hash_tree_check_const_three, e note_hash_tree_check_discard, e note_hash_tree_check_exists, e note_hash_tree_check_first_nullifier, e note_hash_tree_check_first_nullifier_pi_index, e note_hash_tree_check_leaf_index, e note_hash_tree_check_merkle_hash_separator, e note_hash_tree_check_next_leaf_value, e note_hash_tree_check_next_root, e note_hash_tree_check_nonce, e note_hash_tree_check_nonce_separator, e note_hash_tree_check_note_hash, e note_hash_tree_check_note_hash_index, e note_hash_tree_check_note_hash_tree_height, e note_hash_tree_check_prev_leaf_value, e note_hash_tree_check_prev_leaf_value_unique_note_hash_diff_inv, e note_hash_tree_check_prev_root, e note_hash_tree_check_public_inputs_index, e note_hash_tree_check_sel, e note_hash_tree_check_sel_silo, e note_hash_tree_check_sel_unique, e note_hash_tree_check_sel_write_to_public_inputs, e note_hash_tree_check_siloed_note_hash, e note_hash_tree_check_siloing_separator, e note_hash_tree_check_unique_note_hash, e note_hash_tree_check_unique_note_hash_separator, e note_hash_tree_check_write, e poseidon2_hash_b_0, e poseidon2_hash_b_1, e poseidon2_hash_b_2, e poseidon2_hash_b_3, e poseidon2_hash_end, e poseidon2_hash_input_len, e poseidon2_hash_num_perm_rounds_rem_min_one_inv, e poseidon2_hash_padding, e poseidon2_perm_B_10_0, e poseidon2_perm_B_10_1, e poseidon2_perm_B_10_2, e poseidon2_perm_B_10_3, e poseidon2_perm_B_11_0, e poseidon2_perm_B_11_1, e poseidon2_perm_B_11_2, e poseidon2_perm_B_11_3, e poseidon2_perm_B_12_0, e poseidon2_perm_B_12_1, e poseidon2_perm_B_12_2, e poseidon2_perm_B_12_3, e poseidon2_perm_B_13_0, e poseidon2_perm_B_13_1, e poseidon2_perm_B_13_2, e poseidon2_perm_B_13_3, e poseidon2_perm_B_14_0, e poseidon2_perm_B_14_1, e poseidon2_perm_B_14_2, e poseidon2_perm_B_14_3, e poseidon2_perm_B_15_0, e poseidon2_perm_B_15_1, e poseidon2_perm_B_15_2, e poseidon2_perm_B_15_3, e poseidon2_perm_B_16_0, e poseidon2_perm_B_16_1, e poseidon2_perm_B_16_2, e poseidon2_perm_B_16_3, e poseidon2_perm_B_17_0, e poseidon2_perm_B_17_1, e poseidon2_perm_B_17_2, e poseidon2_perm_B_17_3, e poseidon2_perm_B_18_0, e poseidon2_perm_B_18_1, e poseidon2_perm_B_18_2, e poseidon2_perm_B_18_3, e poseidon2_perm_B_19_0, e poseidon2_perm_B_19_1, e poseidon2_perm_B_19_2, e poseidon2_perm_B_19_3, e poseidon2_perm_B_20_0, e poseidon2_perm_B_20_1, e poseidon2_perm_B_20_2, e poseidon2_perm_B_20_3, e poseidon2_perm_B_21_0, e poseidon2_perm_B_21_1, e poseidon2_perm_B_21_2, e poseidon2_perm_B_21_3, e poseidon2_perm_B_22_0, e poseidon2_perm_B_22_1, e poseidon2_perm_B_22_2, e poseidon2_perm_B_22_3, e poseidon2_perm_B_23_0, e poseidon2_perm_B_23_1, e poseidon2_perm_B_23_2, e poseidon2_perm_B_23_3, e poseidon2_perm_B_24_0, e poseidon2_perm_B_24_1, e poseidon2_perm_B_24_2, e poseidon2_perm_B_24_3, e poseidon2_perm_B_25_0, e poseidon2_perm_B_25_1, e poseidon2_perm_B_25_2, e poseidon2_perm_B_25_3, e poseidon2_perm_B_26_0, e poseidon2_perm_B_26_1, e poseidon2_perm_B_26_2, e poseidon2_perm_B_26_3, e poseidon2_perm_B_27_0, e poseidon2_perm_B_27_1, e poseidon2_perm_B_27_2, e poseidon2_perm_B_27_3, e poseidon2_perm_B_28_0, e poseidon2_perm_B_28_1, e poseidon2_perm_B_28_2, e poseidon2_perm_B_28_3, e poseidon2_perm_B_29_0, e poseidon2_perm_B_29_1, e poseidon2_perm_B_29_2, e poseidon2_perm_B_29_3, e poseidon2_perm_B_30_0, e poseidon2_perm_B_30_1, e poseidon2_perm_B_30_2, e poseidon2_perm_B_30_3, e poseidon2_perm_B_31_0, e poseidon2_perm_B_31_1, e poseidon2_perm_B_31_2, e poseidon2_perm_B_31_3, e poseidon2_perm_B_32_0, e poseidon2_perm_B_32_1, e poseidon2_perm_B_32_2, e poseidon2_perm_B_32_3, e poseidon2_perm_B_33_0, e poseidon2_perm_B_33_1, e poseidon2_perm_B_33_2, e poseidon2_perm_B_33_3, e poseidon2_perm_B_34_0, e poseidon2_perm_B_34_1, e poseidon2_perm_B_34_2, e poseidon2_perm_B_34_3, e poseidon2_perm_B_35_0, e poseidon2_perm_B_35_1, e poseidon2_perm_B_35_2, e poseidon2_perm_B_35_3, e poseidon2_perm_B_36_0, e poseidon2_perm_B_36_1, e poseidon2_perm_B_36_2, e poseidon2_perm_B_36_3, e poseidon2_perm_B_37_0, e poseidon2_perm_B_37_1, e poseidon2_perm_B_37_2, e poseidon2_perm_B_37_3, e poseidon2_perm_B_38_0, e poseidon2_perm_B_38_1, e poseidon2_perm_B_38_2, e poseidon2_perm_B_38_3, e poseidon2_perm_B_39_0, e poseidon2_perm_B_39_1, e poseidon2_perm_B_39_2, e poseidon2_perm_B_39_3, e poseidon2_perm_B_40_0, e poseidon2_perm_B_40_1, e poseidon2_perm_B_40_2, e poseidon2_perm_B_40_3, e poseidon2_perm_B_41_0, e poseidon2_perm_B_41_1, e poseidon2_perm_B_41_2, e poseidon2_perm_B_41_3, e poseidon2_perm_B_42_0, e poseidon2_perm_B_42_1, e poseidon2_perm_B_42_2, e poseidon2_perm_B_42_3, e poseidon2_perm_B_43_0, e poseidon2_perm_B_43_1, e poseidon2_perm_B_43_2, e poseidon2_perm_B_43_3, e poseidon2_perm_B_44_0, e poseidon2_perm_B_44_1, e poseidon2_perm_B_44_2, e poseidon2_perm_B_44_3, e poseidon2_perm_B_45_0, e poseidon2_perm_B_45_1, e poseidon2_perm_B_45_2, e poseidon2_perm_B_45_3, e poseidon2_perm_B_46_0, e poseidon2_perm_B_46_1, e poseidon2_perm_B_46_2, e poseidon2_perm_B_46_3, e poseidon2_perm_B_47_0, e poseidon2_perm_B_47_1, e poseidon2_perm_B_47_2, e poseidon2_perm_B_47_3, e poseidon2_perm_B_48_0, e poseidon2_perm_B_48_1, e poseidon2_perm_B_48_2, e poseidon2_perm_B_48_3, e poseidon2_perm_B_49_0, e poseidon2_perm_B_49_1, e poseidon2_perm_B_49_2, e poseidon2_perm_B_49_3, e poseidon2_perm_B_4_0, e poseidon2_perm_B_4_1, e poseidon2_perm_B_4_2, e poseidon2_perm_B_4_3, e poseidon2_perm_B_50_0, e poseidon2_perm_B_50_1, e poseidon2_perm_B_50_2, e poseidon2_perm_B_50_3, e poseidon2_perm_B_51_0, e poseidon2_perm_B_51_1, e poseidon2_perm_B_51_2, e poseidon2_perm_B_51_3, e poseidon2_perm_B_52_0, e poseidon2_perm_B_52_1, e poseidon2_perm_B_52_2, e poseidon2_perm_B_52_3, e poseidon2_perm_B_53_0, e poseidon2_perm_B_53_1, e poseidon2_perm_B_53_2, e poseidon2_perm_B_53_3, e poseidon2_perm_B_54_0, e poseidon2_perm_B_54_1, e poseidon2_perm_B_54_2, e poseidon2_perm_B_54_3, e poseidon2_perm_B_55_0, e poseidon2_perm_B_55_1, e poseidon2_perm_B_55_2, e poseidon2_perm_B_55_3, e poseidon2_perm_B_56_0, e poseidon2_perm_B_56_1, e poseidon2_perm_B_56_2, e poseidon2_perm_B_56_3, e poseidon2_perm_B_57_0, e poseidon2_perm_B_57_1, e poseidon2_perm_B_57_2, e poseidon2_perm_B_57_3, e poseidon2_perm_B_58_0, e poseidon2_perm_B_58_1, e poseidon2_perm_B_58_2, e poseidon2_perm_B_58_3, e poseidon2_perm_B_59_0, e poseidon2_perm_B_59_1, e poseidon2_perm_B_59_2, e poseidon2_perm_B_59_3, e poseidon2_perm_B_5_0, e poseidon2_perm_B_5_1, e poseidon2_perm_B_5_2, e poseidon2_perm_B_5_3, e poseidon2_perm_B_6_0, e poseidon2_perm_B_6_1, e poseidon2_perm_B_6_2, e poseidon2_perm_B_6_3, e poseidon2_perm_B_7_0, e poseidon2_perm_B_7_1, e poseidon2_perm_B_7_2, e poseidon2_perm_B_7_3, e poseidon2_perm_B_8_0, e poseidon2_perm_B_8_1, e poseidon2_perm_B_8_2, e poseidon2_perm_B_8_3, e poseidon2_perm_B_9_0, e poseidon2_perm_B_9_1, e poseidon2_perm_B_9_2, e poseidon2_perm_B_9_3, e poseidon2_perm_EXT_LAYER_4, e poseidon2_perm_EXT_LAYER_5, e poseidon2_perm_EXT_LAYER_6, e poseidon2_perm_EXT_LAYER_7, e poseidon2_perm_T_0_4, e poseidon2_perm_T_0_5, e poseidon2_perm_T_0_6, e poseidon2_perm_T_0_7, e poseidon2_perm_T_1_4, e poseidon2_perm_T_1_5, e poseidon2_perm_T_1_6, e poseidon2_perm_T_1_7, e poseidon2_perm_T_2_4, e poseidon2_perm_T_2_5, e poseidon2_perm_T_2_6, e poseidon2_perm_T_2_7, e poseidon2_perm_T_3_4, e poseidon2_perm_T_3_5, e poseidon2_perm_T_3_6, e poseidon2_perm_T_3_7, e poseidon2_perm_T_60_4, e poseidon2_perm_T_60_5, e poseidon2_perm_T_60_6, e poseidon2_perm_T_60_7, e poseidon2_perm_T_61_4, e poseidon2_perm_T_61_5, e poseidon2_perm_T_61_6, e poseidon2_perm_T_61_7, e poseidon2_perm_T_62_4, e poseidon2_perm_T_62_5, e poseidon2_perm_T_62_6, e poseidon2_perm_T_62_7, e poseidon2_perm_T_63_4, e poseidon2_perm_T_63_5, e poseidon2_perm_T_63_6, e poseidon2_perm_T_63_7, e poseidon2_perm_a_0, e poseidon2_perm_a_1, e poseidon2_perm_a_2, e poseidon2_perm_a_3, e poseidon2_perm_b_0, e poseidon2_perm_b_1, e poseidon2_perm_b_2, e poseidon2_perm_b_3, e poseidon2_perm_mem_batch_tag_inv, e poseidon2_perm_mem_err, e poseidon2_perm_mem_execution_clk, e poseidon2_perm_mem_input_0_, e poseidon2_perm_mem_input_1_, e poseidon2_perm_mem_input_2_, e poseidon2_perm_mem_input_3_, e poseidon2_perm_mem_input_tag_0_, e poseidon2_perm_mem_input_tag_1_, e poseidon2_perm_mem_input_tag_2_, e poseidon2_perm_mem_input_tag_3_, e poseidon2_perm_mem_max_mem_addr, e poseidon2_perm_mem_output_0_, e poseidon2_perm_mem_output_1_, e poseidon2_perm_mem_output_2_, e poseidon2_perm_mem_output_3_, e poseidon2_perm_mem_read_address_0_, e poseidon2_perm_mem_read_address_1_, e poseidon2_perm_mem_read_address_2_, e poseidon2_perm_mem_read_address_3_, e poseidon2_perm_mem_sel, e poseidon2_perm_mem_sel_dst_out_of_range_err, e poseidon2_perm_mem_sel_invalid_tag_err, e poseidon2_perm_mem_sel_should_exec, e poseidon2_perm_mem_sel_should_read_mem, e poseidon2_perm_mem_sel_src_out_of_range_err, e poseidon2_perm_mem_space_id, e poseidon2_perm_mem_write_address_0_, e poseidon2_perm_mem_write_address_1_, e poseidon2_perm_mem_write_address_2_, e poseidon2_perm_mem_write_address_3_, e poseidon2_perm_sel, e public_data_check_address, e public_data_check_clk_diff_hi, e public_data_check_clk_diff_lo, e public_data_check_const_four, e public_data_check_const_three, e public_data_check_discard, e public_data_check_end, e public_data_check_final_value, e public_data_check_intermediate_root, e public_data_check_leaf_not_exists, e public_data_check_leaf_slot, e public_data_check_leaf_slot_low_leaf_slot_diff_inv, e public_data_check_length_pi_idx, e public_data_check_low_leaf_hash, e public_data_check_low_leaf_index, e public_data_check_low_leaf_next_index, e public_data_check_low_leaf_next_slot, e public_data_check_low_leaf_slot, e public_data_check_low_leaf_value, e public_data_check_merkle_hash_separator, e public_data_check_new_leaf_hash, e public_data_check_next_slot_inv, e public_data_check_next_slot_is_nonzero, e public_data_check_non_discarded_write, e public_data_check_non_protocol_write, e public_data_check_not_end, e public_data_check_protocol_write, e public_data_check_public_data_writes_length, e public_data_check_root, e public_data_check_sel_write_to_public_inputs, e public_data_check_should_insert, e public_data_check_siloing_separator, e public_data_check_slot, e public_data_check_tree_height, e public_data_check_tree_size_after_write, e public_data_check_tree_size_before_write, e public_data_check_updated_low_leaf_hash, e public_data_check_updated_low_leaf_next_index, e public_data_check_updated_low_leaf_next_slot, e public_data_check_updated_low_leaf_value, e public_data_check_value, e public_data_check_write, e public_data_check_write_root, e public_data_squash_check_clock, e public_data_squash_clk_diff_hi, e public_data_squash_clk_diff_lo, e public_data_squash_leaf_slot_increase, e public_data_squash_value, e range_check_dyn_diff, e range_check_dyn_rng_chk_bits, e range_check_dyn_rng_chk_pow_2, e range_check_is_lte_u112, e range_check_is_lte_u128, e range_check_is_lte_u16, e range_check_is_lte_u32, e range_check_is_lte_u48, e range_check_is_lte_u64, e range_check_is_lte_u80, e range_check_is_lte_u96, e range_check_rng_chk_bits, e range_check_sel, e range_check_sel_alu, e range_check_sel_gt, e range_check_sel_keccak, e range_check_sel_memory, e range_check_sel_r0_16_bit_rng_lookup, e range_check_sel_r1_16_bit_rng_lookup, e range_check_sel_r2_16_bit_rng_lookup, e range_check_sel_r3_16_bit_rng_lookup, e range_check_sel_r4_16_bit_rng_lookup, e range_check_sel_r5_16_bit_rng_lookup, e range_check_sel_r6_16_bit_rng_lookup, e range_check_u16_r0, e range_check_u16_r1, e range_check_u16_r2, e range_check_u16_r3, e range_check_u16_r4, e range_check_u16_r5, e range_check_u16_r6, e range_check_u16_r7, e range_check_value, e scalar_mul_bit, e scalar_mul_const_two, e scalar_mul_end, e scalar_mul_sel_not_end, e scalar_mul_should_add, e sha256_a_and_b, e sha256_a_and_b_xor_a_and_c, e sha256_a_and_c, e sha256_a_rotr_13, e sha256_a_rotr_2, e sha256_a_rotr_22, e sha256_a_rotr_2_xor_a_rotr_13, e sha256_and_op_id, e sha256_b_and_c, e sha256_batch_tag_inv, e sha256_ch, e sha256_computed_w_lhs, e sha256_computed_w_rhs, e sha256_e_and_f, e sha256_e_rotr_11, e sha256_e_rotr_25, e sha256_e_rotr_6, e sha256_e_rotr_6_xor_e_rotr_11, e sha256_end, e sha256_err, e sha256_input, e sha256_input_rounds_rem_inv, e sha256_input_tag, e sha256_input_tag_diff_inv, e sha256_last, e sha256_lhs_w_10, e sha256_lhs_w_3, e sha256_maj, e sha256_max_input_addr, e sha256_max_mem_addr, e sha256_max_output_addr, e sha256_max_state_addr, e sha256_mem_out_of_range_err, e sha256_memory_address_0_, e sha256_memory_address_1_, e sha256_memory_address_2_, e sha256_memory_address_3_, e sha256_memory_address_4_, e sha256_memory_address_5_, e sha256_memory_address_6_, e sha256_memory_address_7_, e sha256_memory_register_0_, e sha256_memory_register_1_, e sha256_memory_register_2_, e sha256_memory_register_3_, e sha256_memory_register_4_, e sha256_memory_register_5_, e sha256_memory_register_6_, e sha256_memory_register_7_, e sha256_memory_tag_0_, e sha256_memory_tag_1_, e sha256_memory_tag_2_, e sha256_memory_tag_3_, e sha256_memory_tag_4_, e sha256_memory_tag_5_, e sha256_memory_tag_6_, e sha256_memory_tag_7_, e sha256_next_a_lhs, e sha256_next_a_rhs, e sha256_next_e_lhs, e sha256_next_e_rhs, e sha256_not_e, e sha256_not_e_and_g, e sha256_output_a_lhs, e sha256_output_a_rhs, e sha256_output_b_lhs, e sha256_output_b_rhs, e sha256_output_c_lhs, e sha256_output_c_rhs, e sha256_output_d_lhs, e sha256_output_d_rhs, e sha256_output_e_lhs, e sha256_output_e_rhs, e sha256_output_f_lhs, e sha256_output_f_rhs, e sha256_output_g_lhs, e sha256_output_g_rhs, e sha256_output_h_lhs, e sha256_output_h_rhs, e sha256_perform_round, e sha256_rhs_a_13, e sha256_rhs_a_2, e sha256_rhs_a_22, e sha256_rhs_e_11, e sha256_rhs_e_25, e sha256_rhs_e_6, e sha256_rhs_w_10, e sha256_rhs_w_17, e sha256_rhs_w_18, e sha256_rhs_w_19, e sha256_rhs_w_3, e sha256_rhs_w_7, e sha256_round_constant, e sha256_round_count, e sha256_rounds_remaining_inv, e sha256_rw, e sha256_s_0, e sha256_s_1, e sha256_sel_compute_w, e sha256_sel_input_out_of_range_err, e sha256_sel_invalid_input_row_tag_err, e sha256_sel_invalid_state_tag_err, e sha256_sel_is_input_round, e sha256_sel_mem_state_or_output, e sha256_sel_output_out_of_range_err, e sha256_sel_read_input_from_memory, e sha256_sel_state_out_of_range_err, e sha256_state_addr, e sha256_two_pow_10, e sha256_two_pow_11, e sha256_two_pow_13, e sha256_two_pow_17, e sha256_two_pow_18, e sha256_two_pow_19, e sha256_two_pow_2, e sha256_two_pow_22, e sha256_two_pow_25, e sha256_two_pow_3, e sha256_two_pow_32, e sha256_two_pow_6, e sha256_two_pow_7, e sha256_u32_tag, e sha256_w, e sha256_w_15_rotr_18, e sha256_w_15_rotr_7, e sha256_w_15_rotr_7_xor_w_15_rotr_18, e sha256_w_2_rotr_17, e sha256_w_2_rotr_17_xor_w_2_rotr_19, e sha256_w_2_rotr_19, e sha256_w_s_0, e sha256_w_s_1, e sha256_xor_op_id, e to_radix_end, e to_radix_found, e to_radix_is_unsafe_limb, e to_radix_limb_p_diff, e to_radix_limb_radix_diff, e to_radix_mem_err, e to_radix_mem_input_validation_error, e to_radix_mem_last, e to_radix_mem_limb_index_to_lookup, e to_radix_mem_limb_value, e to_radix_mem_max_mem_size, e to_radix_mem_num_limbs_inv, e to_radix_mem_num_limbs_minus_one_inv, e to_radix_mem_output_tag, e to_radix_mem_radix_min_two_inv, e to_radix_mem_sel_dst_out_of_range_err, e to_radix_mem_sel_invalid_bitwise_radix, e to_radix_mem_sel_num_limbs_is_zero, e to_radix_mem_sel_radix_eq_2, e to_radix_mem_sel_radix_gt_256_err, e to_radix_mem_sel_radix_lt_2_err, e to_radix_mem_sel_value_is_zero, e to_radix_mem_two, e to_radix_mem_two_five_six, e to_radix_mem_value_found, e to_radix_mem_value_inv, e to_radix_mem_write_addr_upper_bound, e to_radix_p_limb, e to_radix_rem_inverse, e to_radix_safety_diff_inverse, e tx_array_length_l2_to_l1_messages_pi_offset, e tx_array_length_note_hashes_pi_offset, e tx_array_length_nullifiers_pi_offset, e tx_calldata_hash, e tx_calldata_size, e tx_const_three, e tx_contract_addr, e tx_dom_sep_public_storage_map_slot, e tx_effective_fee_per_da_gas, e tx_effective_fee_per_l2_gas, e tx_end_phase, e tx_fee_juice_balance_slot, e tx_fee_juice_balances_slot_constant, e tx_fee_juice_contract_address, e tx_fee_payer, e tx_fee_payer_balance, e tx_fee_payer_new_balance, e tx_fee_payer_pi_offset, e tx_fields_length_public_logs_pi_offset, e tx_gas_limit_pi_offset, e tx_gas_used_pi_offset, e tx_is_cleanup, e tx_is_collect_fee, e tx_is_padded, e tx_is_public_call_request, e tx_is_static, e tx_is_tree_insert_phase, e tx_is_tree_padding, e tx_l1_l2_pi_offset, e tx_l2_l1_msg_content, e tx_l2_l1_msg_contract_address, e tx_l2_l1_msg_recipient, e tx_leaf_value, e tx_msg_sender, e tx_next_da_gas_used, e tx_next_da_gas_used_sent_to_enqueued_call, e tx_next_l2_gas_used, e tx_next_l2_gas_used_sent_to_enqueued_call, e tx_next_note_hash_tree_root, e tx_next_note_hash_tree_size, e tx_next_nullifier_tree_root, e tx_next_nullifier_tree_size, e tx_next_num_l2_to_l1_messages, e tx_next_num_note_hashes_emitted, e tx_next_num_nullifiers_emitted, e tx_next_num_public_log_fields, e tx_next_phase_on_revert, e tx_next_public_data_tree_root, e tx_next_public_data_tree_size, e tx_next_retrieved_bytecodes_tree_root, e tx_next_retrieved_bytecodes_tree_size, e tx_next_written_public_data_slots_tree_root, e tx_next_written_public_data_slots_tree_size, e tx_note_hash_pi_offset, e tx_nullifier_limit_error, e tx_nullifier_merkle_separator, e tx_nullifier_pi_offset, e tx_nullifier_tree_height, e tx_prev_da_gas_used_sent_to_enqueued_call, e tx_prev_l2_gas_used_sent_to_enqueued_call, e tx_public_data_pi_offset, e tx_read_pi_length_offset, e tx_read_pi_start_offset, e tx_remaining_phase_inv, e tx_remaining_phase_minus_one_inv, e tx_remaining_side_effects_inv, e tx_reverted_pi_offset, e tx_sel_append_l2_l1_msg, e tx_sel_append_note_hash, e tx_sel_append_nullifier, e tx_sel_l2_l1_msg_append, e tx_sel_note_hash_append, e tx_sel_nullifier_append, e tx_sel_process_call_request, e tx_sel_read_phase_length, e tx_sel_read_trees_and_gas_used, e tx_sel_try_l2_l1_msg_append, e tx_sel_try_note_hash_append, e tx_sel_try_nullifier_append, e tx_setup_phase_value, e tx_should_read_gas_limit, e tx_uint32_max, e tx_write_nullifier_pi_offset, e tx_write_pi_offset, e update_check_address, e update_check_const_three, e update_check_contract_instance_registry_address, e update_check_current_class_id, e update_check_delayed_public_mutable_hash_slot, e update_check_delayed_public_mutable_slot, e update_check_dom_sep_public_storage_map_slot, e update_check_hash_not_zero, e update_check_original_class_id, e update_check_public_data_tree_root, e update_check_sel, e update_check_timestamp, e update_check_timestamp_is_lt_timestamp_of_change, e update_check_timestamp_of_change, e update_check_timestamp_of_change_bit_size, e update_check_timestamp_pi_offset, e update_check_update_hash, e update_check_update_hash_inv, e update_check_update_hi_metadata, e update_check_update_hi_metadata_bit_size, e update_check_update_post_class_id_is_zero, e update_check_update_post_class_inv, e update_check_update_pre_class_id_is_zero, e update_check_update_pre_class_inv, e update_check_update_preimage_metadata, e update_check_update_preimage_post_class_id, e update_check_update_preimage_pre_class_id, e update_check_updated_class_ids_slot, e lookup_range_check_dyn_rng_chk_pow_2_counts, e lookup_range_check_dyn_diff_is_u16_counts, e lookup_range_check_r0_is_u16_counts, e lookup_range_check_r1_is_u16_counts, e lookup_range_check_r2_is_u16_counts, e lookup_range_check_r3_is_u16_counts, e lookup_range_check_r4_is_u16_counts, e lookup_range_check_r5_is_u16_counts, e lookup_range_check_r6_is_u16_counts, e lookup_range_check_r7_is_u16_counts, e lookup_ff_gt_a_lo_range_counts, e lookup_ff_gt_a_hi_range_counts, e lookup_gt_gt_range_counts, e lookup_alu_tag_max_bits_value_counts, e lookup_alu_range_check_decomposition_a_lo_counts, e lookup_alu_range_check_decomposition_a_hi_counts, e lookup_alu_range_check_decomposition_b_lo_counts, e lookup_alu_range_check_decomposition_b_hi_counts, e lookup_alu_range_check_mul_c_hi_counts, e lookup_alu_range_check_div_remainder_counts, e lookup_alu_ff_gt_counts, e lookup_alu_int_gt_counts, e lookup_alu_shifts_two_pow_counts, e lookup_alu_large_trunc_canonical_dec_counts, e lookup_alu_range_check_trunc_mid_counts, e lookup_bitwise_integral_tag_length_counts, e lookup_bitwise_byte_operations_counts, e lookup_memory_range_check_limb_0_counts, e lookup_memory_range_check_limb_1_counts, e lookup_memory_range_check_limb_2_counts, e lookup_memory_tag_max_bits_counts, e lookup_memory_range_check_write_tagged_value_counts, e lookup_data_copy_offset_plus_size_is_gt_data_size_counts, e lookup_data_copy_check_src_addr_in_range_counts, e lookup_data_copy_check_dst_addr_in_range_counts, e lookup_data_copy_sel_has_reads_counts, e lookup_data_copy_col_read_counts, e lookup_ecc_mem_check_dst_addr_in_range_counts, e lookup_ecc_mem_input_output_ecc_add_counts, e lookup_keccakf1600_theta_xor_01_counts, e lookup_keccakf1600_theta_xor_02_counts, e lookup_keccakf1600_theta_xor_03_counts, e lookup_keccakf1600_theta_xor_row_0_counts, e lookup_keccakf1600_theta_xor_11_counts, e lookup_keccakf1600_theta_xor_12_counts, e lookup_keccakf1600_theta_xor_13_counts, e lookup_keccakf1600_theta_xor_row_1_counts, e lookup_keccakf1600_theta_xor_21_counts, e lookup_keccakf1600_theta_xor_22_counts, e lookup_keccakf1600_theta_xor_23_counts, e lookup_keccakf1600_theta_xor_row_2_counts, e lookup_keccakf1600_theta_xor_31_counts, e lookup_keccakf1600_theta_xor_32_counts, e lookup_keccakf1600_theta_xor_33_counts, e lookup_keccakf1600_theta_xor_row_3_counts, e lookup_keccakf1600_theta_xor_41_counts, e lookup_keccakf1600_theta_xor_42_counts, e lookup_keccakf1600_theta_xor_43_counts, e lookup_keccakf1600_theta_xor_row_4_counts, e lookup_keccakf1600_theta_combined_xor_0_counts, e lookup_keccakf1600_theta_combined_xor_1_counts, e lookup_keccakf1600_theta_combined_xor_2_counts, e lookup_keccakf1600_theta_combined_xor_3_counts, e lookup_keccakf1600_theta_combined_xor_4_counts, e lookup_keccakf1600_state_theta_00_counts, e lookup_keccakf1600_state_theta_01_counts, e lookup_keccakf1600_state_theta_02_counts, e lookup_keccakf1600_state_theta_03_counts, e lookup_keccakf1600_state_theta_04_counts, e lookup_keccakf1600_state_theta_10_counts, e lookup_keccakf1600_state_theta_11_counts, e lookup_keccakf1600_state_theta_12_counts, e lookup_keccakf1600_state_theta_13_counts, e lookup_keccakf1600_state_theta_14_counts, e lookup_keccakf1600_state_theta_20_counts, e lookup_keccakf1600_state_theta_21_counts, e lookup_keccakf1600_state_theta_22_counts, e lookup_keccakf1600_state_theta_23_counts, e lookup_keccakf1600_state_theta_24_counts, e lookup_keccakf1600_state_theta_30_counts, e lookup_keccakf1600_state_theta_31_counts, e lookup_keccakf1600_state_theta_32_counts, e lookup_keccakf1600_state_theta_33_counts, e lookup_keccakf1600_state_theta_34_counts, e lookup_keccakf1600_state_theta_40_counts, e lookup_keccakf1600_state_theta_41_counts, e lookup_keccakf1600_state_theta_42_counts, e lookup_keccakf1600_state_theta_43_counts, e lookup_keccakf1600_state_theta_44_counts, e lookup_keccakf1600_theta_limb_02_range_counts, e lookup_keccakf1600_theta_limb_04_range_counts, e lookup_keccakf1600_theta_limb_10_range_counts, e lookup_keccakf1600_theta_limb_12_range_counts, e lookup_keccakf1600_theta_limb_14_range_counts, e lookup_keccakf1600_theta_limb_21_range_counts, e lookup_keccakf1600_theta_limb_23_range_counts, e lookup_keccakf1600_theta_limb_30_range_counts, e lookup_keccakf1600_theta_limb_32_range_counts, e lookup_keccakf1600_theta_limb_33_range_counts, e lookup_keccakf1600_theta_limb_40_range_counts, e lookup_keccakf1600_theta_limb_41_range_counts, e lookup_keccakf1600_theta_limb_43_range_counts, e lookup_keccakf1600_theta_limb_44_range_counts, e lookup_keccakf1600_theta_limb_01_range_counts, e lookup_keccakf1600_theta_limb_03_range_counts, e lookup_keccakf1600_theta_limb_11_range_counts, e lookup_keccakf1600_theta_limb_13_range_counts, e lookup_keccakf1600_theta_limb_20_range_counts, e lookup_keccakf1600_theta_limb_22_range_counts, e lookup_keccakf1600_theta_limb_24_range_counts, e lookup_keccakf1600_theta_limb_31_range_counts, e lookup_keccakf1600_theta_limb_34_range_counts, e lookup_keccakf1600_theta_limb_42_range_counts, e lookup_keccakf1600_state_pi_and_00_counts, e lookup_keccakf1600_state_pi_and_01_counts, e lookup_keccakf1600_state_pi_and_02_counts, e lookup_keccakf1600_state_pi_and_03_counts, e lookup_keccakf1600_state_pi_and_04_counts, e lookup_keccakf1600_state_pi_and_10_counts, e lookup_keccakf1600_state_pi_and_11_counts, e lookup_keccakf1600_state_pi_and_12_counts, e lookup_keccakf1600_state_pi_and_13_counts, e lookup_keccakf1600_state_pi_and_14_counts, e lookup_keccakf1600_state_pi_and_20_counts, e lookup_keccakf1600_state_pi_and_21_counts, e lookup_keccakf1600_state_pi_and_22_counts, e lookup_keccakf1600_state_pi_and_23_counts, e lookup_keccakf1600_state_pi_and_24_counts, e lookup_keccakf1600_state_pi_and_30_counts, e lookup_keccakf1600_state_pi_and_31_counts, e lookup_keccakf1600_state_pi_and_32_counts, e lookup_keccakf1600_state_pi_and_33_counts, e lookup_keccakf1600_state_pi_and_34_counts, e lookup_keccakf1600_state_pi_and_40_counts, e lookup_keccakf1600_state_pi_and_41_counts, e lookup_keccakf1600_state_pi_and_42_counts, e lookup_keccakf1600_state_pi_and_43_counts, e lookup_keccakf1600_state_pi_and_44_counts, e lookup_keccakf1600_state_chi_00_counts, e lookup_keccakf1600_state_chi_01_counts, e lookup_keccakf1600_state_chi_02_counts, e lookup_keccakf1600_state_chi_03_counts, e lookup_keccakf1600_state_chi_04_counts, e lookup_keccakf1600_state_chi_10_counts, e lookup_keccakf1600_state_chi_11_counts, e lookup_keccakf1600_state_chi_12_counts, e lookup_keccakf1600_state_chi_13_counts, e lookup_keccakf1600_state_chi_14_counts, e lookup_keccakf1600_state_chi_20_counts, e lookup_keccakf1600_state_chi_21_counts, e lookup_keccakf1600_state_chi_22_counts, e lookup_keccakf1600_state_chi_23_counts, e lookup_keccakf1600_state_chi_24_counts, e lookup_keccakf1600_state_chi_30_counts, e lookup_keccakf1600_state_chi_31_counts, e lookup_keccakf1600_state_chi_32_counts, e lookup_keccakf1600_state_chi_33_counts, e lookup_keccakf1600_state_chi_34_counts, e lookup_keccakf1600_state_chi_40_counts, e lookup_keccakf1600_state_chi_41_counts, e lookup_keccakf1600_state_chi_42_counts, e lookup_keccakf1600_state_chi_43_counts, e lookup_keccakf1600_state_chi_44_counts, e lookup_keccakf1600_round_cst_counts, e lookup_keccakf1600_state_iota_00_counts, e lookup_keccakf1600_src_out_of_range_toggle_counts, e lookup_keccakf1600_dst_out_of_range_toggle_counts, e lookup_poseidon2_mem_check_src_addr_in_range_counts, e lookup_poseidon2_mem_check_dst_addr_in_range_counts, e lookup_poseidon2_mem_input_output_poseidon2_perm_counts, e lookup_to_radix_limb_range_counts, e lookup_to_radix_limb_less_than_radix_range_counts, e lookup_to_radix_fetch_safe_limbs_counts, e lookup_to_radix_fetch_p_limb_counts, e lookup_to_radix_limb_p_diff_range_counts, e lookup_scalar_mul_to_radix_counts, e lookup_scalar_mul_double_counts, e lookup_scalar_mul_add_counts, e lookup_sha256_range_comp_w_lhs_counts, e lookup_sha256_range_comp_w_rhs_counts, e lookup_sha256_range_rhs_w_7_counts, e lookup_sha256_range_rhs_w_18_counts, e lookup_sha256_range_rhs_w_3_counts, e lookup_sha256_w_s_0_xor_0_counts, e lookup_sha256_w_s_0_xor_1_counts, e lookup_sha256_range_rhs_w_17_counts, e lookup_sha256_range_rhs_w_19_counts, e lookup_sha256_range_rhs_w_10_counts, e lookup_sha256_w_s_1_xor_0_counts, e lookup_sha256_w_s_1_xor_1_counts, e lookup_sha256_range_rhs_e_6_counts, e lookup_sha256_range_rhs_e_11_counts, e lookup_sha256_range_rhs_e_25_counts, e lookup_sha256_s_1_xor_0_counts, e lookup_sha256_s_1_xor_1_counts, e lookup_sha256_ch_and_0_counts, e lookup_sha256_ch_and_1_counts, e lookup_sha256_ch_xor_counts, e lookup_sha256_round_constant_counts, e lookup_sha256_range_rhs_a_2_counts, e lookup_sha256_range_rhs_a_13_counts, e lookup_sha256_range_rhs_a_22_counts, e lookup_sha256_s_0_xor_0_counts, e lookup_sha256_s_0_xor_1_counts, e lookup_sha256_maj_and_0_counts, e lookup_sha256_maj_and_1_counts, e lookup_sha256_maj_and_2_counts, e lookup_sha256_maj_xor_0_counts, e lookup_sha256_maj_xor_1_counts, e lookup_sha256_range_comp_next_a_lhs_counts, e lookup_sha256_range_comp_next_a_rhs_counts, e lookup_sha256_range_comp_next_e_lhs_counts, e lookup_sha256_range_comp_next_e_rhs_counts, e lookup_sha256_range_comp_a_rhs_counts, e lookup_sha256_range_comp_b_rhs_counts, e lookup_sha256_range_comp_c_rhs_counts, e lookup_sha256_range_comp_d_rhs_counts, e lookup_sha256_range_comp_e_rhs_counts, e lookup_sha256_range_comp_f_rhs_counts, e lookup_sha256_range_comp_g_rhs_counts, e lookup_sha256_range_comp_h_rhs_counts, e lookup_sha256_mem_check_state_addr_in_range_counts, e lookup_sha256_mem_check_input_addr_in_range_counts, e lookup_sha256_mem_check_output_addr_in_range_counts, e lookup_to_radix_mem_check_dst_addr_in_range_counts, e lookup_to_radix_mem_check_radix_lt_2_counts, e lookup_to_radix_mem_check_radix_gt_256_counts, e lookup_to_radix_mem_input_output_to_radix_counts, e lookup_poseidon2_hash_poseidon2_perm_counts, e lookup_address_derivation_salted_initialization_hash_poseidon2_0_counts, e lookup_address_derivation_salted_initialization_hash_poseidon2_1_counts, e lookup_address_derivation_partial_address_poseidon2_counts, e lookup_address_derivation_public_keys_hash_poseidon2_0_counts, e lookup_address_derivation_public_keys_hash_poseidon2_1_counts, e lookup_address_derivation_public_keys_hash_poseidon2_2_counts, e lookup_address_derivation_public_keys_hash_poseidon2_3_counts, e lookup_address_derivation_public_keys_hash_poseidon2_4_counts, e lookup_address_derivation_preaddress_poseidon2_counts, e lookup_address_derivation_preaddress_scalar_mul_counts, e lookup_address_derivation_address_ecadd_counts, e lookup_bc_decomposition_bytes_are_bytes_counts, e lookup_bc_hashing_poseidon2_hash_counts, e lookup_merkle_check_merkle_poseidon2_read_counts, e lookup_merkle_check_merkle_poseidon2_write_counts, e lookup_indexed_tree_check_silo_poseidon2_counts, e lookup_indexed_tree_check_low_leaf_value_validation_counts, e lookup_indexed_tree_check_low_leaf_next_value_validation_counts, e lookup_indexed_tree_check_low_leaf_poseidon2_counts, e lookup_indexed_tree_check_updated_low_leaf_poseidon2_counts, e lookup_indexed_tree_check_low_leaf_merkle_check_counts, e lookup_indexed_tree_check_new_leaf_poseidon2_counts, e lookup_indexed_tree_check_new_leaf_merkle_check_counts, e lookup_indexed_tree_check_write_value_to_public_inputs_counts, e lookup_public_data_squash_leaf_slot_increase_ff_gt_counts, e lookup_public_data_squash_clk_diff_range_lo_counts, e lookup_public_data_squash_clk_diff_range_hi_counts, e lookup_public_data_check_clk_diff_range_lo_counts, e lookup_public_data_check_clk_diff_range_hi_counts, e lookup_public_data_check_silo_poseidon2_counts, e lookup_public_data_check_low_leaf_slot_validation_counts, e lookup_public_data_check_low_leaf_next_slot_validation_counts, e lookup_public_data_check_low_leaf_poseidon2_0_counts, e lookup_public_data_check_low_leaf_poseidon2_1_counts, e lookup_public_data_check_updated_low_leaf_poseidon2_0_counts, e lookup_public_data_check_updated_low_leaf_poseidon2_1_counts, e lookup_public_data_check_low_leaf_merkle_check_counts, e lookup_public_data_check_new_leaf_poseidon2_0_counts, e lookup_public_data_check_new_leaf_poseidon2_1_counts, e lookup_public_data_check_new_leaf_merkle_check_counts, e lookup_public_data_check_write_public_data_to_public_inputs_counts, e lookup_public_data_check_write_writes_length_to_public_inputs_counts, e lookup_update_check_timestamp_from_public_inputs_counts, e lookup_update_check_delayed_public_mutable_slot_poseidon2_counts, e lookup_update_check_update_hash_public_data_read_counts, e lookup_update_check_update_hash_poseidon2_counts, e lookup_update_check_update_hi_metadata_range_counts, e lookup_update_check_update_lo_metadata_range_counts, e lookup_update_check_timestamp_is_lt_timestamp_of_change_counts, e lookup_contract_instance_retrieval_check_protocol_address_range_counts, e lookup_contract_instance_retrieval_read_derived_address_from_public_inputs_counts, e lookup_contract_instance_retrieval_deployment_nullifier_read_counts, e lookup_contract_instance_retrieval_address_derivation_counts, e lookup_contract_instance_retrieval_update_check_counts, e lookup_class_id_derivation_class_id_poseidon2_0_counts, e lookup_class_id_derivation_class_id_poseidon2_1_counts, e lookup_bc_retrieval_contract_instance_retrieval_counts, e lookup_bc_retrieval_class_id_derivation_counts, e lookup_bc_retrieval_is_new_class_check_counts, e lookup_bc_retrieval_retrieved_bytecodes_insertion_counts, e lookup_instr_fetching_pc_abs_diff_positive_counts, e lookup_instr_fetching_instr_abs_diff_positive_counts, e lookup_instr_fetching_tag_value_validation_counts, e lookup_instr_fetching_bytecode_size_from_bc_dec_counts, e lookup_instr_fetching_bytes_from_bc_dec_counts, e lookup_instr_fetching_wire_instruction_info_counts, e lookup_emit_public_log_check_memory_out_of_bounds_counts, e lookup_emit_public_log_check_log_fields_count_counts, e lookup_emit_public_log_write_data_to_public_inputs_counts, e lookup_get_contract_instance_precomputed_info_counts, e lookup_get_contract_instance_contract_instance_retrieval_counts, e lookup_l1_to_l2_message_tree_check_merkle_check_counts, e lookup_internal_call_unwind_call_stack_counts, e lookup_context_ctx_stack_rollback_counts, e lookup_context_ctx_stack_return_counts, e lookup_addressing_relative_overflow_result_0_counts, e lookup_addressing_relative_overflow_result_1_counts, e lookup_addressing_relative_overflow_result_2_counts, e lookup_addressing_relative_overflow_result_3_counts, e lookup_addressing_relative_overflow_result_4_counts, e lookup_addressing_relative_overflow_result_5_counts, e lookup_addressing_relative_overflow_result_6_counts, e lookup_gas_addressing_gas_read_counts, e lookup_gas_is_out_of_gas_l2_counts, e lookup_gas_is_out_of_gas_da_counts, e lookup_note_hash_tree_check_silo_poseidon2_counts, e lookup_note_hash_tree_check_read_first_nullifier_counts, e lookup_note_hash_tree_check_nonce_computation_poseidon2_counts, e lookup_note_hash_tree_check_unique_note_hash_poseidon2_counts, e lookup_note_hash_tree_check_merkle_check_counts, e lookup_note_hash_tree_check_write_note_hash_to_public_inputs_counts, e lookup_emit_notehash_notehash_tree_write_counts, e lookup_emit_nullifier_write_nullifier_counts, e lookup_external_call_is_l2_gas_left_gt_allocated_counts, e lookup_external_call_is_da_gas_left_gt_allocated_counts, e lookup_get_env_var_precomputed_info_counts, e lookup_get_env_var_read_from_public_inputs_col0_counts, e lookup_get_env_var_read_from_public_inputs_col1_counts, e lookup_l1_to_l2_message_exists_l1_to_l2_msg_leaf_index_in_range_counts, e lookup_l1_to_l2_message_exists_l1_to_l2_msg_read_counts, e lookup_notehash_exists_note_hash_leaf_index_in_range_counts, e lookup_notehash_exists_note_hash_read_counts, e lookup_nullifier_exists_nullifier_exists_check_counts, e lookup_send_l2_to_l1_msg_recipient_check_counts, e lookup_send_l2_to_l1_msg_write_l2_to_l1_msg_counts, e lookup_sload_storage_read_counts, e lookup_sstore_record_written_storage_slot_counts, e lookup_execution_bytecode_retrieval_result_counts, e lookup_execution_instruction_fetching_result_counts, e lookup_execution_instruction_fetching_body_counts, e lookup_execution_exec_spec_read_counts, e lookup_execution_dyn_l2_factor_bitwise_counts, e lookup_execution_check_radix_gt_256_counts, e lookup_execution_get_p_limbs_counts, e lookup_execution_get_max_limbs_counts, e lookup_execution_check_written_storage_slot_counts, e lookup_execution_dispatch_to_alu_counts, e lookup_execution_dispatch_to_bitwise_counts, e lookup_execution_dispatch_to_cast_counts, e lookup_execution_dispatch_to_set_counts, e lookup_calldata_hashing_get_calldata_field_0_counts, e lookup_calldata_hashing_get_calldata_field_1_counts, e lookup_calldata_hashing_get_calldata_field_2_counts, e lookup_calldata_hashing_poseidon2_hash_counts, e lookup_tx_context_public_inputs_note_hash_tree_counts, e lookup_tx_context_public_inputs_nullifier_tree_counts, e lookup_tx_context_public_inputs_public_data_tree_counts, e lookup_tx_context_public_inputs_l1_l2_tree_counts, e lookup_tx_context_public_inputs_gas_used_counts, e lookup_tx_context_public_inputs_read_gas_limit_counts, e lookup_tx_context_public_inputs_read_reverted_counts, e lookup_tx_context_restore_state_on_revert_counts, e lookup_tx_context_public_inputs_write_note_hash_count_counts, e lookup_tx_context_public_inputs_write_nullifier_count_counts, e lookup_tx_context_public_inputs_write_l2_to_l1_message_count_counts, e lookup_tx_context_public_inputs_write_public_log_count_counts, e lookup_tx_read_phase_spec_counts, e lookup_tx_read_phase_length_counts, e lookup_tx_read_public_call_request_phase_counts, e lookup_tx_read_tree_insert_value_counts, e lookup_tx_note_hash_append_counts, e lookup_tx_nullifier_append_counts, e lookup_tx_read_l2_l1_msg_counts, e lookup_tx_write_l2_l1_msg_counts, e lookup_tx_read_effective_fee_public_inputs_counts, e lookup_tx_read_fee_payer_public_inputs_counts, e lookup_tx_balance_slot_poseidon2_counts, e lookup_tx_balance_read_counts, e lookup_tx_balance_validation_counts, e lookup_tx_write_fee_public_inputs_counts, e bc_decomposition_bytes, e bc_decomposition_bytes_pc_plus_1, e bc_decomposition_bytes_pc_plus_10, e bc_decomposition_bytes_pc_plus_11, e bc_decomposition_bytes_pc_plus_12, e bc_decomposition_bytes_pc_plus_13, e bc_decomposition_bytes_pc_plus_14, e bc_decomposition_bytes_pc_plus_15, e bc_decomposition_bytes_pc_plus_16, e bc_decomposition_bytes_pc_plus_17, e bc_decomposition_bytes_pc_plus_18, e bc_decomposition_bytes_pc_plus_19, e bc_decomposition_bytes_pc_plus_2, e bc_decomposition_bytes_pc_plus_20, e bc_decomposition_bytes_pc_plus_21, e bc_decomposition_bytes_pc_plus_22, e bc_decomposition_bytes_pc_plus_23, e bc_decomposition_bytes_pc_plus_24, e bc_decomposition_bytes_pc_plus_25, e bc_decomposition_bytes_pc_plus_26, e bc_decomposition_bytes_pc_plus_27, e bc_decomposition_bytes_pc_plus_28, e bc_decomposition_bytes_pc_plus_29, e bc_decomposition_bytes_pc_plus_3, e bc_decomposition_bytes_pc_plus_30, e bc_decomposition_bytes_pc_plus_31, e bc_decomposition_bytes_pc_plus_32, e bc_decomposition_bytes_pc_plus_33, e bc_decomposition_bytes_pc_plus_34, e bc_decomposition_bytes_pc_plus_35, e bc_decomposition_bytes_pc_plus_4, e bc_decomposition_bytes_pc_plus_5, e bc_decomposition_bytes_pc_plus_6, e bc_decomposition_bytes_pc_plus_7, e bc_decomposition_bytes_pc_plus_8, e bc_decomposition_bytes_pc_plus_9, e bc_decomposition_bytes_remaining, e bc_decomposition_id, e bc_decomposition_next_packed_pc, e bc_decomposition_pc, e bc_decomposition_sel, e bc_decomposition_sel_windows_gt_remaining, e bc_decomposition_start, e bc_hashing_bytecode_id, e bc_hashing_padding, e bc_hashing_pc_index_1, e bc_hashing_rounds_rem, e bc_hashing_sel, e bc_hashing_sel_not_start, e bc_hashing_start, e bitwise_acc_ia, e bitwise_acc_ib, e bitwise_acc_ic, e bitwise_ctr, e bitwise_op_id, e bitwise_sel, e bitwise_start, e calldata_context_id, e calldata_hashing_calldata_size, e calldata_hashing_context_id, e calldata_hashing_index_0_, e calldata_hashing_output_hash, e calldata_hashing_rounds_rem, e calldata_hashing_sel, e calldata_hashing_start, e calldata_index, e calldata_sel, e data_copy_clk, e data_copy_copy_size, e data_copy_dst_addr, e data_copy_dst_context_id, e data_copy_padding, e data_copy_read_addr, e data_copy_reads_left, e data_copy_sel, e data_copy_sel_cd_copy, e data_copy_src_context_id, e data_copy_start, e emit_public_log_contract_address, e emit_public_log_correct_tag, e emit_public_log_error_out_of_bounds, e emit_public_log_error_tag_mismatch, e emit_public_log_execution_clk, e emit_public_log_is_write_contract_address, e emit_public_log_is_write_memory_value, e emit_public_log_log_address, e emit_public_log_public_inputs_index, e emit_public_log_remaining_rows, e emit_public_log_seen_wrong_tag, e emit_public_log_sel, e emit_public_log_sel_write_to_public_inputs, e emit_public_log_space_id, e emit_public_log_start, e execution_bytecode_id, e execution_clk, e execution_context_id, e execution_contract_address, e execution_da_gas_limit, e execution_discard, e execution_dying_context_id, e execution_enqueued_call_start, e execution_internal_call_id, e execution_internal_call_return_id, e execution_is_static, e execution_l1_l2_tree_root, e execution_l2_gas_limit, e execution_last_child_id, e execution_last_child_returndata_addr, e execution_last_child_returndata_size, e execution_last_child_success, e execution_msg_sender, e execution_next_context_id, e execution_next_internal_call_id, e execution_parent_calldata_addr, e execution_parent_calldata_size, e execution_parent_da_gas_limit, e execution_parent_da_gas_used, e execution_parent_id, e execution_parent_l2_gas_limit, e execution_parent_l2_gas_used, e execution_pc, e execution_prev_da_gas_used, e execution_prev_l2_gas_used, e execution_prev_note_hash_tree_root, e execution_prev_note_hash_tree_size, e execution_prev_nullifier_tree_root, e execution_prev_nullifier_tree_size, e execution_prev_num_l2_to_l1_messages, e execution_prev_num_note_hashes_emitted, e execution_prev_num_nullifiers_emitted, e execution_prev_num_public_log_fields, e execution_prev_public_data_tree_root, e execution_prev_public_data_tree_size, e execution_prev_retrieved_bytecodes_tree_root, e execution_prev_retrieved_bytecodes_tree_size, e execution_prev_written_public_data_slots_tree_root, e execution_prev_written_public_data_slots_tree_size, e execution_sel, e execution_sel_first_row_in_context, e execution_transaction_fee, e ff_gt_a_hi, e ff_gt_a_lo, e ff_gt_b_hi, e ff_gt_b_lo, e ff_gt_cmp_rng_ctr, e ff_gt_p_sub_a_hi, e ff_gt_p_sub_a_lo, e ff_gt_p_sub_b_hi, e ff_gt_p_sub_b_lo, e ff_gt_sel, e ff_gt_sel_dec, e ff_gt_sel_gt, e keccak_memory_addr, e keccak_memory_clk, e keccak_memory_ctr, e keccak_memory_rw, e keccak_memory_sel, e keccak_memory_space_id, e keccak_memory_start_read, e keccak_memory_start_write, e keccak_memory_tag_error, e keccak_memory_val_0_, e keccak_memory_val_10_, e keccak_memory_val_11_, e keccak_memory_val_12_, e keccak_memory_val_13_, e keccak_memory_val_14_, e keccak_memory_val_15_, e keccak_memory_val_16_, e keccak_memory_val_17_, e keccak_memory_val_18_, e keccak_memory_val_19_, e keccak_memory_val_1_, e keccak_memory_val_20_, e keccak_memory_val_21_, e keccak_memory_val_22_, e keccak_memory_val_23_, e keccak_memory_val_2_, e keccak_memory_val_3_, e keccak_memory_val_4_, e keccak_memory_val_5_, e keccak_memory_val_6_, e keccak_memory_val_7_, e keccak_memory_val_8_, e keccak_memory_val_9_, e keccakf1600_clk, e keccakf1600_dst_addr, e keccakf1600_round, e keccakf1600_sel, e keccakf1600_sel_no_error, e keccakf1600_space_id, e keccakf1600_start, e keccakf1600_state_in_00, e keccakf1600_state_in_01, e keccakf1600_state_in_02, e keccakf1600_state_in_03, e keccakf1600_state_in_04, e keccakf1600_state_in_10, e keccakf1600_state_in_11, e keccakf1600_state_in_12, e keccakf1600_state_in_13, e keccakf1600_state_in_14, e keccakf1600_state_in_20, e keccakf1600_state_in_21, e keccakf1600_state_in_22, e keccakf1600_state_in_23, e keccakf1600_state_in_24, e keccakf1600_state_in_30, e keccakf1600_state_in_31, e keccakf1600_state_in_32, e keccakf1600_state_in_33, e keccakf1600_state_in_34, e keccakf1600_state_in_40, e keccakf1600_state_in_41, e keccakf1600_state_in_42, e keccakf1600_state_in_43, e keccakf1600_state_in_44, e memory_address, e memory_clk, e memory_rw, e memory_sel, e memory_space_id, e memory_tag, e memory_value, e merkle_check_index, e merkle_check_merkle_hash_separator, e merkle_check_path_len, e merkle_check_read_node, e merkle_check_read_root, e merkle_check_sel, e merkle_check_start, e merkle_check_write, e merkle_check_write_node, e merkle_check_write_root, e poseidon2_hash_a_0, e poseidon2_hash_a_1, e poseidon2_hash_a_2, e poseidon2_hash_a_3, e poseidon2_hash_input_0, e poseidon2_hash_input_1, e poseidon2_hash_input_2, e poseidon2_hash_num_perm_rounds_rem, e poseidon2_hash_output, e poseidon2_hash_sel, e poseidon2_hash_start, e public_data_check_clk, e public_data_check_sel, e public_data_check_write_idx, e public_data_squash_clk, e public_data_squash_final_value, e public_data_squash_leaf_slot, e public_data_squash_sel, e public_data_squash_write_to_public_inputs, e scalar_mul_bit_idx, e scalar_mul_point_inf, e scalar_mul_point_x, e scalar_mul_point_y, e scalar_mul_res_inf, e scalar_mul_res_x, e scalar_mul_res_y, e scalar_mul_scalar, e scalar_mul_sel, e scalar_mul_start, e scalar_mul_temp_inf, e scalar_mul_temp_x, e scalar_mul_temp_y, e sha256_a, e sha256_b, e sha256_c, e sha256_d, e sha256_e, e sha256_execution_clk, e sha256_f, e sha256_g, e sha256_h, e sha256_helper_w0, e sha256_helper_w1, e sha256_helper_w10, e sha256_helper_w11, e sha256_helper_w12, e sha256_helper_w13, e sha256_helper_w14, e sha256_helper_w15, e sha256_helper_w2, e sha256_helper_w3, e sha256_helper_w4, e sha256_helper_w5, e sha256_helper_w6, e sha256_helper_w7, e sha256_helper_w8, e sha256_helper_w9, e sha256_init_a, e sha256_init_b, e sha256_init_c, e sha256_init_d, e sha256_init_e, e sha256_init_f, e sha256_init_g, e sha256_init_h, e sha256_input_addr, e sha256_input_rounds_rem, e sha256_output_addr, e sha256_rounds_remaining, e sha256_sel, e sha256_sel_invalid_input_tag_err, e sha256_space_id, e sha256_start, e to_radix_acc, e to_radix_acc_under_p, e to_radix_limb, e to_radix_limb_eq_p, e to_radix_limb_index, e to_radix_limb_lt_p, e to_radix_mem_dst_addr, e to_radix_mem_execution_clk, e to_radix_mem_is_output_bits, e to_radix_mem_num_limbs, e to_radix_mem_radix, e to_radix_mem_sel, e to_radix_mem_sel_should_decompose, e to_radix_mem_sel_should_write_mem, e to_radix_mem_space_id, e to_radix_mem_start, e to_radix_mem_value_to_decompose, e to_radix_not_padding_limb, e to_radix_power, e to_radix_radix, e to_radix_safe_limbs, e to_radix_sel, e to_radix_start, e to_radix_value, e tx_da_gas_limit, e tx_discard, e tx_fee, e tx_is_revertible, e tx_is_teardown, e tx_l1_l2_tree_root, e tx_l1_l2_tree_size, e tx_l2_gas_limit, e tx_next_context_id, e tx_phase_value, e tx_prev_da_gas_used, e tx_prev_l2_gas_used, e tx_prev_note_hash_tree_root, e tx_prev_note_hash_tree_size, e tx_prev_nullifier_tree_root, e tx_prev_nullifier_tree_size, e tx_prev_num_l2_to_l1_messages, e tx_prev_num_note_hashes_emitted, e tx_prev_num_nullifiers_emitted, e tx_prev_num_public_log_fields, e tx_prev_public_data_tree_root, e tx_prev_public_data_tree_size, e tx_prev_retrieved_bytecodes_tree_root, e tx_prev_retrieved_bytecodes_tree_size, e tx_prev_written_public_data_slots_tree_root, e tx_prev_written_public_data_slots_tree_size, e tx_read_pi_offset, e tx_remaining_phase_counter, e tx_reverted, e tx_sel, e tx_start_phase, e tx_start_tx, e tx_tx_reverted -#define AVM2_DERIVED_WITNESS_ENTITIES_E(e) e perm_data_copy_mem_write_inv, e perm_data_copy_mem_read_inv, e perm_ecc_mem_write_mem_0_inv, e perm_ecc_mem_write_mem_1_inv, e perm_ecc_mem_write_mem_2_inv, e perm_keccak_memory_slice_to_mem_inv, e perm_keccakf1600_read_to_slice_inv, e perm_keccakf1600_write_to_slice_inv, e perm_poseidon2_mem_pos_read_mem_0_inv, e perm_poseidon2_mem_pos_read_mem_1_inv, e perm_poseidon2_mem_pos_read_mem_2_inv, e perm_poseidon2_mem_pos_read_mem_3_inv, e perm_poseidon2_mem_pos_write_mem_0_inv, e perm_poseidon2_mem_pos_write_mem_1_inv, e perm_poseidon2_mem_pos_write_mem_2_inv, e perm_poseidon2_mem_pos_write_mem_3_inv, e perm_sha256_mem_mem_op_0_inv, e perm_sha256_mem_mem_op_1_inv, e perm_sha256_mem_mem_op_2_inv, e perm_sha256_mem_mem_op_3_inv, e perm_sha256_mem_mem_op_4_inv, e perm_sha256_mem_mem_op_5_inv, e perm_sha256_mem_mem_op_6_inv, e perm_sha256_mem_mem_op_7_inv, e perm_sha256_mem_mem_input_read_inv, e perm_to_radix_mem_write_mem_inv, e perm_bc_hashing_bytecode_length_bytes_inv, e perm_bc_hashing_get_packed_field_0_inv, e perm_bc_hashing_get_packed_field_1_inv, e perm_bc_hashing_get_packed_field_2_inv, e perm_public_data_check_squashing_inv, e perm_emit_public_log_read_mem_inv, e perm_get_contract_instance_mem_write_contract_instance_exists_inv, e perm_get_contract_instance_mem_write_contract_instance_member_inv, e perm_internal_call_push_call_stack_inv, e perm_context_ctx_stack_call_inv, e perm_addressing_base_address_from_memory_inv, e perm_addressing_indirect_from_memory_0_inv, e perm_addressing_indirect_from_memory_1_inv, e perm_addressing_indirect_from_memory_2_inv, e perm_addressing_indirect_from_memory_3_inv, e perm_addressing_indirect_from_memory_4_inv, e perm_addressing_indirect_from_memory_5_inv, e perm_addressing_indirect_from_memory_6_inv, e perm_registers_mem_op_0_inv, e perm_registers_mem_op_1_inv, e perm_registers_mem_op_2_inv, e perm_registers_mem_op_3_inv, e perm_registers_mem_op_4_inv, e perm_registers_mem_op_5_inv, e perm_sstore_storage_write_inv, e perm_execution_dispatch_to_cd_copy_inv, e perm_execution_dispatch_to_rd_copy_inv, e perm_execution_dispatch_to_get_contract_instance_inv, e perm_execution_dispatch_to_emit_public_log_inv, e perm_execution_dispatch_to_poseidon2_perm_inv, e perm_execution_dispatch_to_sha256_compression_inv, e perm_execution_dispatch_to_keccakf1600_inv, e perm_execution_dispatch_to_ecc_add_inv, e perm_execution_dispatch_to_to_radix_inv, e perm_calldata_hashing_check_final_size_inv, e perm_tx_read_calldata_hash_inv, e perm_tx_dispatch_exec_start_inv, e perm_tx_dispatch_exec_end_inv, e perm_tx_balance_update_inv, e lookup_range_check_dyn_rng_chk_pow_2_inv, e lookup_range_check_dyn_diff_is_u16_inv, e lookup_range_check_r0_is_u16_inv, e lookup_range_check_r1_is_u16_inv, e lookup_range_check_r2_is_u16_inv, e lookup_range_check_r3_is_u16_inv, e lookup_range_check_r4_is_u16_inv, e lookup_range_check_r5_is_u16_inv, e lookup_range_check_r6_is_u16_inv, e lookup_range_check_r7_is_u16_inv, e lookup_ff_gt_a_lo_range_inv, e lookup_ff_gt_a_hi_range_inv, e lookup_gt_gt_range_inv, e lookup_alu_tag_max_bits_value_inv, e lookup_alu_range_check_decomposition_a_lo_inv, e lookup_alu_range_check_decomposition_a_hi_inv, e lookup_alu_range_check_decomposition_b_lo_inv, e lookup_alu_range_check_decomposition_b_hi_inv, e lookup_alu_range_check_mul_c_hi_inv, e lookup_alu_range_check_div_remainder_inv, e lookup_alu_ff_gt_inv, e lookup_alu_int_gt_inv, e lookup_alu_shifts_two_pow_inv, e lookup_alu_large_trunc_canonical_dec_inv, e lookup_alu_range_check_trunc_mid_inv, e lookup_bitwise_integral_tag_length_inv, e lookup_bitwise_byte_operations_inv, e lookup_memory_range_check_limb_0_inv, e lookup_memory_range_check_limb_1_inv, e lookup_memory_range_check_limb_2_inv, e lookup_memory_tag_max_bits_inv, e lookup_memory_range_check_write_tagged_value_inv, e lookup_data_copy_offset_plus_size_is_gt_data_size_inv, e lookup_data_copy_check_src_addr_in_range_inv, e lookup_data_copy_check_dst_addr_in_range_inv, e lookup_data_copy_sel_has_reads_inv, e lookup_data_copy_col_read_inv, e lookup_ecc_mem_check_dst_addr_in_range_inv, e lookup_ecc_mem_input_output_ecc_add_inv, e lookup_keccakf1600_theta_xor_01_inv, e lookup_keccakf1600_theta_xor_02_inv, e lookup_keccakf1600_theta_xor_03_inv, e lookup_keccakf1600_theta_xor_row_0_inv, e lookup_keccakf1600_theta_xor_11_inv, e lookup_keccakf1600_theta_xor_12_inv, e lookup_keccakf1600_theta_xor_13_inv, e lookup_keccakf1600_theta_xor_row_1_inv, e lookup_keccakf1600_theta_xor_21_inv, e lookup_keccakf1600_theta_xor_22_inv, e lookup_keccakf1600_theta_xor_23_inv, e lookup_keccakf1600_theta_xor_row_2_inv, e lookup_keccakf1600_theta_xor_31_inv, e lookup_keccakf1600_theta_xor_32_inv, e lookup_keccakf1600_theta_xor_33_inv, e lookup_keccakf1600_theta_xor_row_3_inv, e lookup_keccakf1600_theta_xor_41_inv, e lookup_keccakf1600_theta_xor_42_inv, e lookup_keccakf1600_theta_xor_43_inv, e lookup_keccakf1600_theta_xor_row_4_inv, e lookup_keccakf1600_theta_combined_xor_0_inv, e lookup_keccakf1600_theta_combined_xor_1_inv, e lookup_keccakf1600_theta_combined_xor_2_inv, e lookup_keccakf1600_theta_combined_xor_3_inv, e lookup_keccakf1600_theta_combined_xor_4_inv, e lookup_keccakf1600_state_theta_00_inv, e lookup_keccakf1600_state_theta_01_inv, e lookup_keccakf1600_state_theta_02_inv, e lookup_keccakf1600_state_theta_03_inv, e lookup_keccakf1600_state_theta_04_inv, e lookup_keccakf1600_state_theta_10_inv, e lookup_keccakf1600_state_theta_11_inv, e lookup_keccakf1600_state_theta_12_inv, e lookup_keccakf1600_state_theta_13_inv, e lookup_keccakf1600_state_theta_14_inv, e lookup_keccakf1600_state_theta_20_inv, e lookup_keccakf1600_state_theta_21_inv, e lookup_keccakf1600_state_theta_22_inv, e lookup_keccakf1600_state_theta_23_inv, e lookup_keccakf1600_state_theta_24_inv, e lookup_keccakf1600_state_theta_30_inv, e lookup_keccakf1600_state_theta_31_inv, e lookup_keccakf1600_state_theta_32_inv, e lookup_keccakf1600_state_theta_33_inv, e lookup_keccakf1600_state_theta_34_inv, e lookup_keccakf1600_state_theta_40_inv, e lookup_keccakf1600_state_theta_41_inv, e lookup_keccakf1600_state_theta_42_inv, e lookup_keccakf1600_state_theta_43_inv, e lookup_keccakf1600_state_theta_44_inv, e lookup_keccakf1600_theta_limb_02_range_inv, e lookup_keccakf1600_theta_limb_04_range_inv, e lookup_keccakf1600_theta_limb_10_range_inv, e lookup_keccakf1600_theta_limb_12_range_inv, e lookup_keccakf1600_theta_limb_14_range_inv, e lookup_keccakf1600_theta_limb_21_range_inv, e lookup_keccakf1600_theta_limb_23_range_inv, e lookup_keccakf1600_theta_limb_30_range_inv, e lookup_keccakf1600_theta_limb_32_range_inv, e lookup_keccakf1600_theta_limb_33_range_inv, e lookup_keccakf1600_theta_limb_40_range_inv, e lookup_keccakf1600_theta_limb_41_range_inv, e lookup_keccakf1600_theta_limb_43_range_inv, e lookup_keccakf1600_theta_limb_44_range_inv, e lookup_keccakf1600_theta_limb_01_range_inv, e lookup_keccakf1600_theta_limb_03_range_inv, e lookup_keccakf1600_theta_limb_11_range_inv, e lookup_keccakf1600_theta_limb_13_range_inv, e lookup_keccakf1600_theta_limb_20_range_inv, e lookup_keccakf1600_theta_limb_22_range_inv, e lookup_keccakf1600_theta_limb_24_range_inv, e lookup_keccakf1600_theta_limb_31_range_inv, e lookup_keccakf1600_theta_limb_34_range_inv, e lookup_keccakf1600_theta_limb_42_range_inv, e lookup_keccakf1600_state_pi_and_00_inv, e lookup_keccakf1600_state_pi_and_01_inv, e lookup_keccakf1600_state_pi_and_02_inv, e lookup_keccakf1600_state_pi_and_03_inv, e lookup_keccakf1600_state_pi_and_04_inv, e lookup_keccakf1600_state_pi_and_10_inv, e lookup_keccakf1600_state_pi_and_11_inv, e lookup_keccakf1600_state_pi_and_12_inv, e lookup_keccakf1600_state_pi_and_13_inv, e lookup_keccakf1600_state_pi_and_14_inv, e lookup_keccakf1600_state_pi_and_20_inv, e lookup_keccakf1600_state_pi_and_21_inv, e lookup_keccakf1600_state_pi_and_22_inv, e lookup_keccakf1600_state_pi_and_23_inv, e lookup_keccakf1600_state_pi_and_24_inv, e lookup_keccakf1600_state_pi_and_30_inv, e lookup_keccakf1600_state_pi_and_31_inv, e lookup_keccakf1600_state_pi_and_32_inv, e lookup_keccakf1600_state_pi_and_33_inv, e lookup_keccakf1600_state_pi_and_34_inv, e lookup_keccakf1600_state_pi_and_40_inv, e lookup_keccakf1600_state_pi_and_41_inv, e lookup_keccakf1600_state_pi_and_42_inv, e lookup_keccakf1600_state_pi_and_43_inv, e lookup_keccakf1600_state_pi_and_44_inv, e lookup_keccakf1600_state_chi_00_inv, e lookup_keccakf1600_state_chi_01_inv, e lookup_keccakf1600_state_chi_02_inv, e lookup_keccakf1600_state_chi_03_inv, e lookup_keccakf1600_state_chi_04_inv, e lookup_keccakf1600_state_chi_10_inv, e lookup_keccakf1600_state_chi_11_inv, e lookup_keccakf1600_state_chi_12_inv, e lookup_keccakf1600_state_chi_13_inv, e lookup_keccakf1600_state_chi_14_inv, e lookup_keccakf1600_state_chi_20_inv, e lookup_keccakf1600_state_chi_21_inv, e lookup_keccakf1600_state_chi_22_inv, e lookup_keccakf1600_state_chi_23_inv, e lookup_keccakf1600_state_chi_24_inv, e lookup_keccakf1600_state_chi_30_inv, e lookup_keccakf1600_state_chi_31_inv, e lookup_keccakf1600_state_chi_32_inv, e lookup_keccakf1600_state_chi_33_inv, e lookup_keccakf1600_state_chi_34_inv, e lookup_keccakf1600_state_chi_40_inv, e lookup_keccakf1600_state_chi_41_inv, e lookup_keccakf1600_state_chi_42_inv, e lookup_keccakf1600_state_chi_43_inv, e lookup_keccakf1600_state_chi_44_inv, e lookup_keccakf1600_round_cst_inv, e lookup_keccakf1600_state_iota_00_inv, e lookup_keccakf1600_src_out_of_range_toggle_inv, e lookup_keccakf1600_dst_out_of_range_toggle_inv, e lookup_poseidon2_mem_check_src_addr_in_range_inv, e lookup_poseidon2_mem_check_dst_addr_in_range_inv, e lookup_poseidon2_mem_input_output_poseidon2_perm_inv, e lookup_to_radix_limb_range_inv, e lookup_to_radix_limb_less_than_radix_range_inv, e lookup_to_radix_fetch_safe_limbs_inv, e lookup_to_radix_fetch_p_limb_inv, e lookup_to_radix_limb_p_diff_range_inv, e lookup_scalar_mul_to_radix_inv, e lookup_scalar_mul_double_inv, e lookup_scalar_mul_add_inv, e lookup_sha256_range_comp_w_lhs_inv, e lookup_sha256_range_comp_w_rhs_inv, e lookup_sha256_range_rhs_w_7_inv, e lookup_sha256_range_rhs_w_18_inv, e lookup_sha256_range_rhs_w_3_inv, e lookup_sha256_w_s_0_xor_0_inv, e lookup_sha256_w_s_0_xor_1_inv, e lookup_sha256_range_rhs_w_17_inv, e lookup_sha256_range_rhs_w_19_inv, e lookup_sha256_range_rhs_w_10_inv, e lookup_sha256_w_s_1_xor_0_inv, e lookup_sha256_w_s_1_xor_1_inv, e lookup_sha256_range_rhs_e_6_inv, e lookup_sha256_range_rhs_e_11_inv, e lookup_sha256_range_rhs_e_25_inv, e lookup_sha256_s_1_xor_0_inv, e lookup_sha256_s_1_xor_1_inv, e lookup_sha256_ch_and_0_inv, e lookup_sha256_ch_and_1_inv, e lookup_sha256_ch_xor_inv, e lookup_sha256_round_constant_inv, e lookup_sha256_range_rhs_a_2_inv, e lookup_sha256_range_rhs_a_13_inv, e lookup_sha256_range_rhs_a_22_inv, e lookup_sha256_s_0_xor_0_inv, e lookup_sha256_s_0_xor_1_inv, e lookup_sha256_maj_and_0_inv, e lookup_sha256_maj_and_1_inv, e lookup_sha256_maj_and_2_inv, e lookup_sha256_maj_xor_0_inv, e lookup_sha256_maj_xor_1_inv, e lookup_sha256_range_comp_next_a_lhs_inv, e lookup_sha256_range_comp_next_a_rhs_inv, e lookup_sha256_range_comp_next_e_lhs_inv, e lookup_sha256_range_comp_next_e_rhs_inv, e lookup_sha256_range_comp_a_rhs_inv, e lookup_sha256_range_comp_b_rhs_inv, e lookup_sha256_range_comp_c_rhs_inv, e lookup_sha256_range_comp_d_rhs_inv, e lookup_sha256_range_comp_e_rhs_inv, e lookup_sha256_range_comp_f_rhs_inv, e lookup_sha256_range_comp_g_rhs_inv, e lookup_sha256_range_comp_h_rhs_inv, e lookup_sha256_mem_check_state_addr_in_range_inv, e lookup_sha256_mem_check_input_addr_in_range_inv, e lookup_sha256_mem_check_output_addr_in_range_inv, e lookup_to_radix_mem_check_dst_addr_in_range_inv, e lookup_to_radix_mem_check_radix_lt_2_inv, e lookup_to_radix_mem_check_radix_gt_256_inv, e lookup_to_radix_mem_input_output_to_radix_inv, e lookup_poseidon2_hash_poseidon2_perm_inv, e lookup_address_derivation_salted_initialization_hash_poseidon2_0_inv, e lookup_address_derivation_salted_initialization_hash_poseidon2_1_inv, e lookup_address_derivation_partial_address_poseidon2_inv, e lookup_address_derivation_public_keys_hash_poseidon2_0_inv, e lookup_address_derivation_public_keys_hash_poseidon2_1_inv, e lookup_address_derivation_public_keys_hash_poseidon2_2_inv, e lookup_address_derivation_public_keys_hash_poseidon2_3_inv, e lookup_address_derivation_public_keys_hash_poseidon2_4_inv, e lookup_address_derivation_preaddress_poseidon2_inv, e lookup_address_derivation_preaddress_scalar_mul_inv, e lookup_address_derivation_address_ecadd_inv, e lookup_bc_decomposition_bytes_are_bytes_inv, e lookup_bc_hashing_poseidon2_hash_inv, e lookup_merkle_check_merkle_poseidon2_read_inv, e lookup_merkle_check_merkle_poseidon2_write_inv, e lookup_indexed_tree_check_silo_poseidon2_inv, e lookup_indexed_tree_check_low_leaf_value_validation_inv, e lookup_indexed_tree_check_low_leaf_next_value_validation_inv, e lookup_indexed_tree_check_low_leaf_poseidon2_inv, e lookup_indexed_tree_check_updated_low_leaf_poseidon2_inv, e lookup_indexed_tree_check_low_leaf_merkle_check_inv, e lookup_indexed_tree_check_new_leaf_poseidon2_inv, e lookup_indexed_tree_check_new_leaf_merkle_check_inv, e lookup_indexed_tree_check_write_value_to_public_inputs_inv, e lookup_public_data_squash_leaf_slot_increase_ff_gt_inv, e lookup_public_data_squash_clk_diff_range_lo_inv, e lookup_public_data_squash_clk_diff_range_hi_inv, e lookup_public_data_check_clk_diff_range_lo_inv, e lookup_public_data_check_clk_diff_range_hi_inv, e lookup_public_data_check_silo_poseidon2_inv, e lookup_public_data_check_low_leaf_slot_validation_inv, e lookup_public_data_check_low_leaf_next_slot_validation_inv, e lookup_public_data_check_low_leaf_poseidon2_0_inv, e lookup_public_data_check_low_leaf_poseidon2_1_inv, e lookup_public_data_check_updated_low_leaf_poseidon2_0_inv, e lookup_public_data_check_updated_low_leaf_poseidon2_1_inv, e lookup_public_data_check_low_leaf_merkle_check_inv, e lookup_public_data_check_new_leaf_poseidon2_0_inv, e lookup_public_data_check_new_leaf_poseidon2_1_inv, e lookup_public_data_check_new_leaf_merkle_check_inv, e lookup_public_data_check_write_public_data_to_public_inputs_inv, e lookup_public_data_check_write_writes_length_to_public_inputs_inv, e lookup_update_check_timestamp_from_public_inputs_inv, e lookup_update_check_delayed_public_mutable_slot_poseidon2_inv, e lookup_update_check_update_hash_public_data_read_inv, e lookup_update_check_update_hash_poseidon2_inv, e lookup_update_check_update_hi_metadata_range_inv, e lookup_update_check_update_lo_metadata_range_inv, e lookup_update_check_timestamp_is_lt_timestamp_of_change_inv, e lookup_contract_instance_retrieval_check_protocol_address_range_inv, e lookup_contract_instance_retrieval_read_derived_address_from_public_inputs_inv, e lookup_contract_instance_retrieval_deployment_nullifier_read_inv, e lookup_contract_instance_retrieval_address_derivation_inv, e lookup_contract_instance_retrieval_update_check_inv, e lookup_class_id_derivation_class_id_poseidon2_0_inv, e lookup_class_id_derivation_class_id_poseidon2_1_inv, e lookup_bc_retrieval_contract_instance_retrieval_inv, e lookup_bc_retrieval_class_id_derivation_inv, e lookup_bc_retrieval_is_new_class_check_inv, e lookup_bc_retrieval_retrieved_bytecodes_insertion_inv, e lookup_instr_fetching_pc_abs_diff_positive_inv, e lookup_instr_fetching_instr_abs_diff_positive_inv, e lookup_instr_fetching_tag_value_validation_inv, e lookup_instr_fetching_bytecode_size_from_bc_dec_inv, e lookup_instr_fetching_bytes_from_bc_dec_inv, e lookup_instr_fetching_wire_instruction_info_inv, e lookup_emit_public_log_check_memory_out_of_bounds_inv, e lookup_emit_public_log_check_log_fields_count_inv, e lookup_emit_public_log_write_data_to_public_inputs_inv, e lookup_get_contract_instance_precomputed_info_inv, e lookup_get_contract_instance_contract_instance_retrieval_inv, e lookup_l1_to_l2_message_tree_check_merkle_check_inv, e lookup_internal_call_unwind_call_stack_inv, e lookup_context_ctx_stack_rollback_inv, e lookup_context_ctx_stack_return_inv, e lookup_addressing_relative_overflow_result_0_inv, e lookup_addressing_relative_overflow_result_1_inv, e lookup_addressing_relative_overflow_result_2_inv, e lookup_addressing_relative_overflow_result_3_inv, e lookup_addressing_relative_overflow_result_4_inv, e lookup_addressing_relative_overflow_result_5_inv, e lookup_addressing_relative_overflow_result_6_inv, e lookup_gas_addressing_gas_read_inv, e lookup_gas_is_out_of_gas_l2_inv, e lookup_gas_is_out_of_gas_da_inv, e lookup_note_hash_tree_check_silo_poseidon2_inv, e lookup_note_hash_tree_check_read_first_nullifier_inv, e lookup_note_hash_tree_check_nonce_computation_poseidon2_inv, e lookup_note_hash_tree_check_unique_note_hash_poseidon2_inv, e lookup_note_hash_tree_check_merkle_check_inv, e lookup_note_hash_tree_check_write_note_hash_to_public_inputs_inv, e lookup_emit_notehash_notehash_tree_write_inv, e lookup_emit_nullifier_write_nullifier_inv, e lookup_external_call_is_l2_gas_left_gt_allocated_inv, e lookup_external_call_is_da_gas_left_gt_allocated_inv, e lookup_get_env_var_precomputed_info_inv, e lookup_get_env_var_read_from_public_inputs_col0_inv, e lookup_get_env_var_read_from_public_inputs_col1_inv, e lookup_l1_to_l2_message_exists_l1_to_l2_msg_leaf_index_in_range_inv, e lookup_l1_to_l2_message_exists_l1_to_l2_msg_read_inv, e lookup_notehash_exists_note_hash_leaf_index_in_range_inv, e lookup_notehash_exists_note_hash_read_inv, e lookup_nullifier_exists_nullifier_exists_check_inv, e lookup_send_l2_to_l1_msg_recipient_check_inv, e lookup_send_l2_to_l1_msg_write_l2_to_l1_msg_inv, e lookup_sload_storage_read_inv, e lookup_sstore_record_written_storage_slot_inv, e lookup_execution_bytecode_retrieval_result_inv, e lookup_execution_instruction_fetching_result_inv, e lookup_execution_instruction_fetching_body_inv, e lookup_execution_exec_spec_read_inv, e lookup_execution_dyn_l2_factor_bitwise_inv, e lookup_execution_check_radix_gt_256_inv, e lookup_execution_get_p_limbs_inv, e lookup_execution_get_max_limbs_inv, e lookup_execution_check_written_storage_slot_inv, e lookup_execution_dispatch_to_alu_inv, e lookup_execution_dispatch_to_bitwise_inv, e lookup_execution_dispatch_to_cast_inv, e lookup_execution_dispatch_to_set_inv, e lookup_calldata_hashing_get_calldata_field_0_inv, e lookup_calldata_hashing_get_calldata_field_1_inv, e lookup_calldata_hashing_get_calldata_field_2_inv, e lookup_calldata_hashing_poseidon2_hash_inv, e lookup_tx_context_public_inputs_note_hash_tree_inv, e lookup_tx_context_public_inputs_nullifier_tree_inv, e lookup_tx_context_public_inputs_public_data_tree_inv, e lookup_tx_context_public_inputs_l1_l2_tree_inv, e lookup_tx_context_public_inputs_gas_used_inv, e lookup_tx_context_public_inputs_read_gas_limit_inv, e lookup_tx_context_public_inputs_read_reverted_inv, e lookup_tx_context_restore_state_on_revert_inv, e lookup_tx_context_public_inputs_write_note_hash_count_inv, e lookup_tx_context_public_inputs_write_nullifier_count_inv, e lookup_tx_context_public_inputs_write_l2_to_l1_message_count_inv, e lookup_tx_context_public_inputs_write_public_log_count_inv, e lookup_tx_read_phase_spec_inv, e lookup_tx_read_phase_length_inv, e lookup_tx_read_public_call_request_phase_inv, e lookup_tx_read_tree_insert_value_inv, e lookup_tx_note_hash_append_inv, e lookup_tx_nullifier_append_inv, e lookup_tx_read_l2_l1_msg_inv, e lookup_tx_write_l2_l1_msg_inv, e lookup_tx_read_effective_fee_public_inputs_inv, e lookup_tx_read_fee_payer_public_inputs_inv, e lookup_tx_balance_slot_poseidon2_inv, e lookup_tx_balance_read_inv, e lookup_tx_balance_validation_inv, e lookup_tx_write_fee_public_inputs_inv +#define AVM2_PRECOMPUTED_ENTITIES_E(e) e precomputed_addressing_gas, e precomputed_bitwise_input_a, e precomputed_bitwise_input_b, e precomputed_bitwise_output_and, e precomputed_bitwise_output_or, e precomputed_bitwise_output_xor, e precomputed_dyn_gas_id, e precomputed_envvar_pi_row_idx, e precomputed_exec_opcode, e precomputed_exec_opcode_base_da_gas, e precomputed_exec_opcode_dynamic_da_gas, e precomputed_exec_opcode_dynamic_l2_gas, e precomputed_exec_opcode_opcode_gas, e precomputed_expected_tag_reg_0_, e precomputed_expected_tag_reg_1_, e precomputed_expected_tag_reg_2_, e precomputed_expected_tag_reg_3_, e precomputed_expected_tag_reg_4_, e precomputed_expected_tag_reg_5_, e precomputed_first_row, e precomputed_idx, e precomputed_instr_size, e precomputed_invalid_envvar_enum, e precomputed_is_address, e precomputed_is_class_id, e precomputed_is_cleanup, e precomputed_is_collect_fee, e precomputed_is_dagasleft, e precomputed_is_deployer, e precomputed_is_immutables_hash, e precomputed_is_init_hash, e precomputed_is_isstaticcall, e precomputed_is_l2gasleft, e precomputed_is_public_call_request, e precomputed_is_revertible, e precomputed_is_sender, e precomputed_is_teardown, e precomputed_is_transactionfee, e precomputed_is_tree_padding, e precomputed_is_valid_member_enum, e precomputed_keccak_round_constant, e precomputed_next_phase_on_revert, e precomputed_opcode_out_of_range, e precomputed_out_tag, e precomputed_p_decomposition_limb, e precomputed_p_decomposition_limb_index, e precomputed_p_decomposition_radix, e precomputed_power_of_2, e precomputed_read_pi_length_offset, e precomputed_read_pi_start_offset, e precomputed_rw_reg_0_, e precomputed_rw_reg_1_, e precomputed_rw_reg_2_, e precomputed_rw_reg_3_, e precomputed_rw_reg_4_, e precomputed_rw_reg_5_, e precomputed_sel_addressing_gas, e precomputed_sel_append_l2_l1_msg, e precomputed_sel_append_note_hash, e precomputed_sel_append_nullifier, e precomputed_sel_envvar_pi_lookup_col0, e precomputed_sel_envvar_pi_lookup_col1, e precomputed_sel_exec_spec, e precomputed_sel_has_tag, e precomputed_sel_keccak, e precomputed_sel_mem_op_reg_0_, e precomputed_sel_mem_op_reg_1_, e precomputed_sel_mem_op_reg_2_, e precomputed_sel_mem_op_reg_3_, e precomputed_sel_mem_op_reg_4_, e precomputed_sel_mem_op_reg_5_, e precomputed_sel_mem_tag_out_of_range, e precomputed_sel_op_dc_0, e precomputed_sel_op_dc_1, e precomputed_sel_op_dc_10, e precomputed_sel_op_dc_11, e precomputed_sel_op_dc_12, e precomputed_sel_op_dc_13, e precomputed_sel_op_dc_14, e precomputed_sel_op_dc_15, e precomputed_sel_op_dc_16, e precomputed_sel_op_dc_2, e precomputed_sel_op_dc_3, e precomputed_sel_op_dc_4, e precomputed_sel_op_dc_5, e precomputed_sel_op_dc_6, e precomputed_sel_op_dc_7, e precomputed_sel_op_dc_8, e precomputed_sel_op_dc_9, e precomputed_sel_op_is_address_0_, e precomputed_sel_op_is_address_1_, e precomputed_sel_op_is_address_2_, e precomputed_sel_op_is_address_3_, e precomputed_sel_op_is_address_4_, e precomputed_sel_op_is_address_5_, e precomputed_sel_op_is_address_6_, e precomputed_sel_p_decomposition, e precomputed_sel_phase, e precomputed_sel_range_16, e precomputed_sel_range_8, e precomputed_sel_sha256_compression, e precomputed_sel_tag_check_reg_0_, e precomputed_sel_tag_check_reg_1_, e precomputed_sel_tag_check_reg_2_, e precomputed_sel_tag_check_reg_3_, e precomputed_sel_tag_check_reg_4_, e precomputed_sel_tag_check_reg_5_, e precomputed_sel_tag_is_op2, e precomputed_sel_tag_parameters, e precomputed_sel_to_radix_p_limb_counts, e precomputed_sha256_compression_round_constant, e precomputed_subtrace_id, e precomputed_subtrace_operation_id, e precomputed_tag_byte_length, e precomputed_tag_max_bits, e precomputed_tag_max_value, e precomputed_to_radix_num_limbs_for_p, e precomputed_to_radix_safe_limbs, e precomputed_zero, e public_inputs_sel +#define AVM2_WIRE_ENTITIES_E(e) e public_inputs_cols_0_, e public_inputs_cols_1_, e public_inputs_cols_2_, e public_inputs_cols_3_, e address_derivation_address, e address_derivation_address_y, e address_derivation_class_id, e address_derivation_const_five, e address_derivation_const_three, e address_derivation_deployer_addr, e address_derivation_g1_x, e address_derivation_g1_y, e address_derivation_immutables_hash, e address_derivation_incoming_viewing_key_hash, e address_derivation_incoming_viewing_key_x, e address_derivation_incoming_viewing_key_y, e address_derivation_init_hash, e address_derivation_nullifier_key_hash, e address_derivation_outgoing_viewing_key_hash, e address_derivation_partial_address, e address_derivation_partial_address_domain_separator, e address_derivation_preaddress, e address_derivation_preaddress_domain_separator, e address_derivation_preaddress_public_key_x, e address_derivation_preaddress_public_key_y, e address_derivation_public_keys_hash, e address_derivation_public_keys_hash_domain_separator, e address_derivation_salt, e address_derivation_salted_init_hash, e address_derivation_salted_init_hash_domain_separator, e address_derivation_sel, e address_derivation_single_public_key_hash_domain_separator, e address_derivation_tagging_key_hash, e alu_a_hi, e alu_a_hi_bits, e alu_a_lo, e alu_a_lo_bits, e alu_ab_diff_inv, e alu_ab_tags_diff_inv, e alu_b_hi, e alu_b_inv, e alu_b_lo, e alu_c_hi, e alu_cf, e alu_constant_64, e alu_gt_input_a, e alu_gt_input_b, e alu_gt_result_c, e alu_helper1, e alu_ia, e alu_ia_tag, e alu_ib, e alu_ib_tag, e alu_ic, e alu_ic_tag, e alu_max_bits, e alu_max_value, e alu_mid, e alu_mid_bits, e alu_op_id, e alu_sel, e alu_sel_ab_tag_mismatch, e alu_sel_decompose_a, e alu_sel_div_0_err, e alu_sel_div_no_err, e alu_sel_err, e alu_sel_ff_gt, e alu_sel_int_gt, e alu_sel_is_ff, e alu_sel_is_u128, e alu_sel_mul_div_u128, e alu_sel_mul_no_err_non_ff, e alu_sel_op_add, e alu_sel_op_div, e alu_sel_op_eq, e alu_sel_op_fdiv, e alu_sel_op_lt, e alu_sel_op_lte, e alu_sel_op_mul, e alu_sel_op_not, e alu_sel_op_shl, e alu_sel_op_shr, e alu_sel_op_sub, e alu_sel_op_truncate, e alu_sel_shift_ops_no_overflow, e alu_sel_tag_err, e alu_sel_trunc_gte_128, e alu_sel_trunc_lt_128, e alu_sel_trunc_non_trivial, e alu_sel_trunc_trivial, e alu_shift_lo_bits, e alu_tag_ff_diff_inv, e alu_tag_u128_diff_inv, e alu_two_pow_shift_lo_bits, e bc_decomposition_bytes_pc_plus_36, e bc_decomposition_bytes_rem_inv, e bc_decomposition_bytes_rem_min_one_inv, e bc_decomposition_bytes_to_read, e bc_decomposition_last_of_contract, e bc_decomposition_next_packed_pc_min_pc_inv, e bc_decomposition_packed_field, e bc_decomposition_sel_packed, e bc_decomposition_sel_packed_read_0_, e bc_decomposition_sel_packed_read_1_, e bc_decomposition_sel_packed_read_2_, e bc_decomposition_sel_windows_eq_remaining, e bc_decomposition_windows_min_remaining_inv, e bc_hashing_end, e bc_hashing_input_len, e bc_hashing_packed_fields_0, e bc_hashing_packed_fields_1, e bc_hashing_packed_fields_2, e bc_hashing_pc_index, e bc_hashing_pc_index_2, e bc_hashing_sel_not_padding_1, e bc_hashing_sel_not_padding_2, e bc_hashing_size_in_bytes, e bc_retrieval_address, e bc_retrieval_artifact_hash, e bc_retrieval_bytecode_id, e bc_retrieval_current_class_id, e bc_retrieval_error, e bc_retrieval_instance_exists, e bc_retrieval_is_new_class, e bc_retrieval_next_retrieved_bytecodes_tree_root, e bc_retrieval_next_retrieved_bytecodes_tree_size, e bc_retrieval_no_remaining_bytecodes, e bc_retrieval_nullifier_tree_root, e bc_retrieval_prev_retrieved_bytecodes_tree_root, e bc_retrieval_prev_retrieved_bytecodes_tree_size, e bc_retrieval_private_functions_root, e bc_retrieval_public_data_tree_root, e bc_retrieval_remaining_bytecodes_inv, e bc_retrieval_retrieved_bytecodes_merkle_separator, e bc_retrieval_retrieved_bytecodes_tree_height, e bc_retrieval_sel, e bc_retrieval_should_retrieve, e bitwise_ctr_min_one_inv, e bitwise_end, e bitwise_err, e bitwise_ia_byte, e bitwise_ib_byte, e bitwise_ic_byte, e bitwise_output_and, e bitwise_output_or, e bitwise_output_xor, e bitwise_sel_and, e bitwise_sel_compute, e bitwise_sel_get_ctr, e bitwise_sel_or, e bitwise_sel_tag_ff_err, e bitwise_sel_tag_mismatch_err, e bitwise_sel_xor, e bitwise_start_keccak, e bitwise_start_sha256, e bitwise_tag_a, e bitwise_tag_a_inv, e bitwise_tag_ab_diff_inv, e bitwise_tag_b, e bitwise_tag_c, e calldata_end, e calldata_hashing_end, e calldata_hashing_index_1_, e calldata_hashing_index_2_, e calldata_hashing_input_0_, e calldata_hashing_input_1_, e calldata_hashing_input_2_, e calldata_hashing_input_len, e calldata_hashing_sel_end_not_empty, e calldata_hashing_sel_not_padding_1, e calldata_hashing_sel_not_padding_2, e calldata_hashing_sel_not_start, e calldata_value, e class_id_derivation_artifact_hash, e class_id_derivation_class_id, e class_id_derivation_const_four, e class_id_derivation_gen_index_contract_class_id, e class_id_derivation_private_functions_root, e class_id_derivation_public_bytecode_commitment, e class_id_derivation_sel, e context_stack_bytecode_id, e context_stack_context_id, e context_stack_contract_address, e context_stack_entered_context_id, e context_stack_internal_call_id, e context_stack_internal_call_return_id, e context_stack_is_static, e context_stack_msg_sender, e context_stack_next_internal_call_id, e context_stack_next_pc, e context_stack_note_hash_tree_root, e context_stack_note_hash_tree_size, e context_stack_nullifier_tree_root, e context_stack_nullifier_tree_size, e context_stack_num_l2_to_l1_messages, e context_stack_num_note_hashes_emitted, e context_stack_num_nullifiers_emitted, e context_stack_num_public_log_fields, e context_stack_parent_calldata_addr, e context_stack_parent_calldata_size, e context_stack_parent_da_gas_limit, e context_stack_parent_da_gas_used, e context_stack_parent_id, e context_stack_parent_l2_gas_limit, e context_stack_parent_l2_gas_used, e context_stack_public_data_tree_root, e context_stack_public_data_tree_size, e context_stack_sel, e context_stack_written_public_data_slots_tree_root, e context_stack_written_public_data_slots_tree_size, e contract_instance_retrieval_address, e contract_instance_retrieval_address_sub_one, e contract_instance_retrieval_current_class_id, e contract_instance_retrieval_deployer_addr, e contract_instance_retrieval_deployer_protocol_contract_address, e contract_instance_retrieval_derived_address, e contract_instance_retrieval_derived_address_pi_index, e contract_instance_retrieval_exists, e contract_instance_retrieval_immutables_hash, e contract_instance_retrieval_incoming_viewing_key_x, e contract_instance_retrieval_incoming_viewing_key_y, e contract_instance_retrieval_init_hash, e contract_instance_retrieval_is_protocol_contract, e contract_instance_retrieval_max_protocol_contracts, e contract_instance_retrieval_nullifier_key_hash, e contract_instance_retrieval_nullifier_merkle_separator, e contract_instance_retrieval_nullifier_tree_height, e contract_instance_retrieval_nullifier_tree_root, e contract_instance_retrieval_original_class_id, e contract_instance_retrieval_outgoing_viewing_key_hash, e contract_instance_retrieval_protocol_contract_derived_address_inv, e contract_instance_retrieval_public_data_tree_root, e contract_instance_retrieval_salt, e contract_instance_retrieval_sel, e contract_instance_retrieval_should_check_for_update, e contract_instance_retrieval_should_check_nullifier, e contract_instance_retrieval_siloing_separator, e contract_instance_retrieval_tagging_key_hash, e data_copy_cd_copy_col_read, e data_copy_clamped_read_index_upper_bound, e data_copy_dst_out_of_range_err, e data_copy_end, e data_copy_is_top_level, e data_copy_mem_size, e data_copy_offset, e data_copy_offset_plus_size, e data_copy_offset_plus_size_is_gt, e data_copy_parent_id_inv, e data_copy_read_addr_plus_one, e data_copy_read_addr_upper_bound, e data_copy_reads_left_inv, e data_copy_sel_cd_copy_start, e data_copy_sel_has_reads, e data_copy_sel_mem_read, e data_copy_sel_mem_write, e data_copy_sel_rd_copy_start, e data_copy_sel_write_count_is_zero, e data_copy_src_addr, e data_copy_src_data_size, e data_copy_src_reads_exceed_mem, e data_copy_start_no_err, e data_copy_tag, e data_copy_value, e data_copy_write_addr_upper_bound, e data_copy_write_count_minus_one_inv, e data_copy_write_count_zero_inv, e ecc_add_mem_dst_addr_0_, e ecc_add_mem_dst_addr_1_, e ecc_add_mem_err, e ecc_add_mem_execution_clk, e ecc_add_mem_max_mem_addr, e ecc_add_mem_p_is_inf, e ecc_add_mem_p_is_on_curve_eqn, e ecc_add_mem_p_is_on_curve_eqn_inv, e ecc_add_mem_p_x, e ecc_add_mem_p_y, e ecc_add_mem_q_is_inf, e ecc_add_mem_q_is_on_curve_eqn, e ecc_add_mem_q_is_on_curve_eqn_inv, e ecc_add_mem_q_x, e ecc_add_mem_q_y, e ecc_add_mem_res_x, e ecc_add_mem_res_y, e ecc_add_mem_sel, e ecc_add_mem_sel_dst_out_of_range_err, e ecc_add_mem_sel_p_not_on_curve_err, e ecc_add_mem_sel_q_not_on_curve_err, e ecc_add_mem_sel_should_exec, e ecc_add_mem_space_id, e ecc_add_op, e ecc_double_op, e ecc_inv_2_p_y, e ecc_inv_x_diff, e ecc_inv_y_diff, e ecc_lambda, e ecc_p_is_inf, e ecc_p_x, e ecc_p_y, e ecc_q_is_inf, e ecc_q_x, e ecc_q_y, e ecc_r_x, e ecc_r_y, e ecc_result_infinity, e ecc_sel, e ecc_use_computed_result, e ecc_x_match, e ecc_y_match, e emit_public_log_discard, e emit_public_log_end, e emit_public_log_end_log_address_upper_bound, e emit_public_log_error, e emit_public_log_error_too_many_log_fields, e emit_public_log_expected_next_log_fields, e emit_public_log_is_static, e emit_public_log_log_size, e emit_public_log_max_mem_size, e emit_public_log_max_public_logs_payload_length, e emit_public_log_next_num_public_log_fields, e emit_public_log_prev_num_public_log_fields, e emit_public_log_public_inputs_value, e emit_public_log_remaining_rows_inv, e emit_public_log_sel_read_memory, e emit_public_log_tag, e emit_public_log_tag_inv, e emit_public_log_value, e execution_addressing_error_collection_inv, e execution_addressing_gas, e execution_addressing_mode, e execution_base_address_tag, e execution_base_address_tag_diff_inv, e execution_base_address_val, e execution_base_da_gas, e execution_batched_tags_diff_inv, e execution_batched_tags_diff_inv_reg, e execution_da_gas_left, e execution_da_gas_used, e execution_dying_context_diff_inv, e execution_dying_context_id_inv, e execution_dyn_gas_id, e execution_dynamic_da_gas, e execution_dynamic_da_gas_factor, e execution_dynamic_l2_gas, e execution_dynamic_l2_gas_factor, e execution_enqueued_call_end, e execution_envvar_pi_row_idx, e execution_exec_opcode, e execution_expected_tag_reg_0_, e execution_expected_tag_reg_1_, e execution_expected_tag_reg_2_, e execution_expected_tag_reg_3_, e execution_expected_tag_reg_4_, e execution_expected_tag_reg_5_, e execution_has_parent_ctx, e execution_highest_address, e execution_instr_size, e execution_internal_call_return_id_inv, e execution_is_address, e execution_is_da_gas_left_gt_allocated, e execution_is_dagasleft, e execution_is_dying_context, e execution_is_isstaticcall, e execution_is_l2_gas_left_gt_allocated, e execution_is_l2gasleft, e execution_is_parent_id_inv, e execution_is_sender, e execution_is_transactionfee, e execution_l1_to_l2_msg_leaf_in_range, e execution_l1_to_l2_msg_tree_leaf_count, e execution_l2_gas_left, e execution_l2_gas_used, e execution_max_data_writes_reached, e execution_max_eth_address_value, e execution_mem_tag_reg_0_, e execution_mem_tag_reg_1_, e execution_mem_tag_reg_2_, e execution_mem_tag_reg_3_, e execution_mem_tag_reg_4_, e execution_mem_tag_reg_5_, e execution_nested_failure, e execution_nested_return, e execution_next_pc, e execution_note_hash_leaf_in_range, e execution_note_hash_tree_leaf_count, e execution_note_hash_tree_root, e execution_note_hash_tree_size, e execution_nullifier_merkle_separator, e execution_nullifier_pi_offset, e execution_nullifier_siloing_separator, e execution_nullifier_tree_height, e execution_nullifier_tree_root, e execution_nullifier_tree_size, e execution_num_l2_to_l1_messages, e execution_num_note_hashes_emitted, e execution_num_nullifiers_emitted, e execution_num_p_limbs, e execution_num_public_log_fields, e execution_num_relative_operands_inv, e execution_op_0_, e execution_op_1_, e execution_op_2_, e execution_op_3_, e execution_op_4_, e execution_op_5_, e execution_op_6_, e execution_op_after_relative_0_, e execution_op_after_relative_1_, e execution_op_after_relative_2_, e execution_op_after_relative_3_, e execution_op_after_relative_4_, e execution_op_after_relative_5_, e execution_op_after_relative_6_, e execution_opcode_gas, e execution_out_of_gas_da, e execution_out_of_gas_l2, e execution_public_data_tree_root, e execution_public_data_tree_size, e execution_public_inputs_index, e execution_register_0_, e execution_register_1_, e execution_register_2_, e execution_register_3_, e execution_register_4_, e execution_register_5_, e execution_remaining_data_writes_inv, e execution_remaining_l2_to_l1_msgs_inv, e execution_remaining_note_hashes_inv, e execution_remaining_nullifiers_inv, e execution_retrieved_bytecodes_tree_root, e execution_retrieved_bytecodes_tree_size, e execution_rop_0_, e execution_rop_1_, e execution_rop_2_, e execution_rop_3_, e execution_rop_4_, e execution_rop_5_, e execution_rop_6_, e execution_rop_tag_0_, e execution_rop_tag_1_, e execution_rop_tag_2_, e execution_rop_tag_3_, e execution_rop_tag_4_, e execution_rop_tag_5_, e execution_rop_tag_6_, e execution_rw_reg_0_, e execution_rw_reg_1_, e execution_rw_reg_2_, e execution_rw_reg_3_, e execution_rw_reg_4_, e execution_rw_reg_5_, e execution_sel_addressing_error, e execution_sel_apply_indirection_0_, e execution_sel_apply_indirection_1_, e execution_sel_apply_indirection_2_, e execution_sel_apply_indirection_3_, e execution_sel_apply_indirection_4_, e execution_sel_apply_indirection_5_, e execution_sel_apply_indirection_6_, e execution_sel_base_address_failure, e execution_sel_bytecode_retrieval_failure, e execution_sel_bytecode_retrieval_success, e execution_sel_check_gas, e execution_sel_do_base_check, e execution_sel_enter_call, e execution_sel_envvar_pi_lookup_col0, e execution_sel_envvar_pi_lookup_col1, e execution_sel_error, e execution_sel_exec_dispatch_alu, e execution_sel_exec_dispatch_bitwise, e execution_sel_exec_dispatch_calldata_copy, e execution_sel_exec_dispatch_cast, e execution_sel_exec_dispatch_ecc_add, e execution_sel_exec_dispatch_emit_public_log, e execution_sel_exec_dispatch_execution, e execution_sel_exec_dispatch_get_contract_instance, e execution_sel_exec_dispatch_keccakf1600, e execution_sel_exec_dispatch_poseidon2_perm, e execution_sel_exec_dispatch_returndata_copy, e execution_sel_exec_dispatch_set, e execution_sel_exec_dispatch_sha256_compression, e execution_sel_exec_dispatch_to_radix, e execution_sel_execute_call, e execution_sel_execute_debug_log, e execution_sel_execute_emit_notehash, e execution_sel_execute_emit_nullifier, e execution_sel_execute_get_env_var, e execution_sel_execute_internal_call, e execution_sel_execute_internal_return, e execution_sel_execute_jump, e execution_sel_execute_jumpi, e execution_sel_execute_l1_to_l2_message_exists, e execution_sel_execute_mov, e execution_sel_execute_notehash_exists, e execution_sel_execute_nullifier_exists, e execution_sel_execute_opcode, e execution_sel_execute_return, e execution_sel_execute_returndata_size, e execution_sel_execute_revert, e execution_sel_execute_send_l2_to_l1_msg, e execution_sel_execute_sload, e execution_sel_execute_sstore, e execution_sel_execute_static_call, e execution_sel_execute_success_copy, e execution_sel_exit_call, e execution_sel_failure, e execution_sel_gas_bitwise, e execution_sel_gas_calldata_copy, e execution_sel_gas_emit_public_log, e execution_sel_gas_returndata_copy, e execution_sel_gas_sstore, e execution_sel_gas_to_radix, e execution_sel_instruction_fetching_failure, e execution_sel_instruction_fetching_success, e execution_sel_l2_to_l1_msg_limit_error, e execution_sel_lookup_num_p_limbs, e execution_sel_mem_op_reg_0_, e execution_sel_mem_op_reg_1_, e execution_sel_mem_op_reg_2_, e execution_sel_mem_op_reg_3_, e execution_sel_mem_op_reg_4_, e execution_sel_mem_op_reg_5_, e execution_sel_op_do_overflow_check_0_, e execution_sel_op_do_overflow_check_1_, e execution_sel_op_do_overflow_check_2_, e execution_sel_op_do_overflow_check_3_, e execution_sel_op_do_overflow_check_4_, e execution_sel_op_do_overflow_check_5_, e execution_sel_op_do_overflow_check_6_, e execution_sel_op_is_address_0_, e execution_sel_op_is_address_1_, e execution_sel_op_is_address_2_, e execution_sel_op_is_address_3_, e execution_sel_op_is_address_4_, e execution_sel_op_is_address_5_, e execution_sel_op_is_address_6_, e execution_sel_op_is_indirect_wire_0_, e execution_sel_op_is_indirect_wire_1_, e execution_sel_op_is_indirect_wire_2_, e execution_sel_op_is_indirect_wire_3_, e execution_sel_op_is_indirect_wire_4_, e execution_sel_op_is_indirect_wire_5_, e execution_sel_op_is_indirect_wire_6_, e execution_sel_op_is_indirect_wire_7_, e execution_sel_op_is_relative_wire_0_, e execution_sel_op_is_relative_wire_1_, e execution_sel_op_is_relative_wire_2_, e execution_sel_op_is_relative_wire_3_, e execution_sel_op_is_relative_wire_4_, e execution_sel_op_is_relative_wire_5_, e execution_sel_op_is_relative_wire_6_, e execution_sel_op_is_relative_wire_7_, e execution_sel_op_reg_effective_0_, e execution_sel_op_reg_effective_1_, e execution_sel_op_reg_effective_2_, e execution_sel_op_reg_effective_3_, e execution_sel_op_reg_effective_4_, e execution_sel_op_reg_effective_5_, e execution_sel_opcode_error, e execution_sel_out_of_gas, e execution_sel_radix_gt_256, e execution_sel_reached_max_note_hashes, e execution_sel_reached_max_nullifiers, e execution_sel_read_registers, e execution_sel_read_unwind_call_stack, e execution_sel_register_read_error, e execution_sel_relative_overflow_0_, e execution_sel_relative_overflow_1_, e execution_sel_relative_overflow_2_, e execution_sel_relative_overflow_3_, e execution_sel_relative_overflow_4_, e execution_sel_relative_overflow_5_, e execution_sel_relative_overflow_6_, e execution_sel_some_final_check_failed, e execution_sel_tag_check_reg_0_, e execution_sel_tag_check_reg_1_, e execution_sel_tag_check_reg_2_, e execution_sel_tag_check_reg_3_, e execution_sel_tag_check_reg_4_, e execution_sel_tag_check_reg_5_, e execution_sel_too_large_recipient_error, e execution_sel_use_num_limbs, e execution_sel_write_l2_to_l1_msg, e execution_sel_write_note_hash, e execution_sel_write_nullifier, e execution_sel_write_public_data, e execution_sel_write_registers, e execution_subtrace_id, e execution_subtrace_operation_id, e execution_total_gas_da, e execution_total_gas_l2, e execution_two_five_six, e execution_value_from_pi, e execution_written_public_data_slots_tree_root, e execution_written_public_data_slots_tree_size, e execution_written_slots_merkle_separator, e execution_written_slots_tree_height, e execution_written_slots_tree_siloing_separator, e ff_gt_a, e ff_gt_b, e ff_gt_borrow, e ff_gt_constant_128, e ff_gt_end, e ff_gt_p_a_borrow, e ff_gt_p_b_borrow, e ff_gt_res_hi, e ff_gt_res_lo, e ff_gt_result, e get_contract_instance_clk, e get_contract_instance_contract_address, e get_contract_instance_dst_offset, e get_contract_instance_dst_offset_diff_max_inv, e get_contract_instance_exists_tag, e get_contract_instance_instance_exists, e get_contract_instance_is_class_id, e get_contract_instance_is_deployer, e get_contract_instance_is_immutables_hash, e get_contract_instance_is_init_hash, e get_contract_instance_is_valid_member_enum, e get_contract_instance_is_valid_writes_in_bounds, e get_contract_instance_member_enum, e get_contract_instance_member_tag, e get_contract_instance_member_write_offset, e get_contract_instance_nullifier_tree_root, e get_contract_instance_public_data_tree_root, e get_contract_instance_retrieved_class_id, e get_contract_instance_retrieved_deployer_addr, e get_contract_instance_retrieved_immutables_hash, e get_contract_instance_retrieved_init_hash, e get_contract_instance_sel, e get_contract_instance_sel_error, e get_contract_instance_selected_member, e get_contract_instance_space_id, e gt_abs_diff, e gt_input_a, e gt_input_b, e gt_num_bits, e gt_res, e gt_sel, e gt_sel_addressing, e gt_sel_alu, e gt_sel_gas, e gt_sel_others, e gt_sel_sha256, e indexed_tree_check_address, e indexed_tree_check_const_three, e indexed_tree_check_discard, e indexed_tree_check_exists, e indexed_tree_check_intermediate_root, e indexed_tree_check_low_leaf_hash, e indexed_tree_check_low_leaf_index, e indexed_tree_check_low_leaf_next_index, e indexed_tree_check_low_leaf_next_value, e indexed_tree_check_low_leaf_value, e indexed_tree_check_merkle_hash_separator, e indexed_tree_check_new_leaf_hash, e indexed_tree_check_next_value_inv, e indexed_tree_check_next_value_is_nonzero, e indexed_tree_check_not_exists, e indexed_tree_check_public_inputs_index, e indexed_tree_check_root, e indexed_tree_check_sel, e indexed_tree_check_sel_insert, e indexed_tree_check_sel_silo, e indexed_tree_check_sel_write_to_public_inputs, e indexed_tree_check_siloed_value, e indexed_tree_check_siloing_separator, e indexed_tree_check_tree_height, e indexed_tree_check_tree_size_after_write, e indexed_tree_check_tree_size_before_write, e indexed_tree_check_updated_low_leaf_hash, e indexed_tree_check_updated_low_leaf_next_index, e indexed_tree_check_updated_low_leaf_next_value, e indexed_tree_check_value, e indexed_tree_check_value_low_leaf_value_diff_inv, e indexed_tree_check_write, e indexed_tree_check_write_root, e instr_fetching_addressing_mode, e instr_fetching_bd0, e instr_fetching_bd1, e instr_fetching_bd10, e instr_fetching_bd11, e instr_fetching_bd12, e instr_fetching_bd13, e instr_fetching_bd14, e instr_fetching_bd15, e instr_fetching_bd16, e instr_fetching_bd17, e instr_fetching_bd18, e instr_fetching_bd19, e instr_fetching_bd2, e instr_fetching_bd20, e instr_fetching_bd21, e instr_fetching_bd22, e instr_fetching_bd23, e instr_fetching_bd24, e instr_fetching_bd25, e instr_fetching_bd26, e instr_fetching_bd27, e instr_fetching_bd28, e instr_fetching_bd29, e instr_fetching_bd3, e instr_fetching_bd30, e instr_fetching_bd31, e instr_fetching_bd32, e instr_fetching_bd33, e instr_fetching_bd34, e instr_fetching_bd35, e instr_fetching_bd36, e instr_fetching_bd4, e instr_fetching_bd5, e instr_fetching_bd6, e instr_fetching_bd7, e instr_fetching_bd8, e instr_fetching_bd9, e instr_fetching_bytecode_id, e instr_fetching_bytecode_size, e instr_fetching_bytes_to_read, e instr_fetching_exec_opcode, e instr_fetching_instr_abs_diff, e instr_fetching_instr_out_of_range, e instr_fetching_instr_size, e instr_fetching_op1, e instr_fetching_op2, e instr_fetching_op3, e instr_fetching_op4, e instr_fetching_op5, e instr_fetching_op6, e instr_fetching_op7, e instr_fetching_opcode_out_of_range, e instr_fetching_pc, e instr_fetching_pc_abs_diff, e instr_fetching_pc_out_of_range, e instr_fetching_pc_size_in_bits, e instr_fetching_sel, e instr_fetching_sel_has_tag, e instr_fetching_sel_op_dc_0, e instr_fetching_sel_op_dc_1, e instr_fetching_sel_op_dc_10, e instr_fetching_sel_op_dc_11, e instr_fetching_sel_op_dc_12, e instr_fetching_sel_op_dc_13, e instr_fetching_sel_op_dc_14, e instr_fetching_sel_op_dc_15, e instr_fetching_sel_op_dc_16, e instr_fetching_sel_op_dc_2, e instr_fetching_sel_op_dc_3, e instr_fetching_sel_op_dc_4, e instr_fetching_sel_op_dc_5, e instr_fetching_sel_op_dc_6, e instr_fetching_sel_op_dc_7, e instr_fetching_sel_op_dc_8, e instr_fetching_sel_op_dc_9, e instr_fetching_sel_parsing_err, e instr_fetching_sel_pc_in_range, e instr_fetching_sel_tag_is_op2, e instr_fetching_tag_out_of_range, e instr_fetching_tag_value, e internal_call_stack_call_id, e internal_call_stack_context_id, e internal_call_stack_entered_call_id, e internal_call_stack_return_call_id, e internal_call_stack_return_pc, e internal_call_stack_sel, e keccak_memory_ctr_end, e keccak_memory_end, e keccak_memory_single_tag_error, e keccak_memory_state_size_min_ctr_inv, e keccak_memory_tag, e keccak_memory_tag_min_u64_inv, e keccak_memory_val_24_, e keccakf1600_bitwise_and_op_id, e keccakf1600_bitwise_xor_op_id, e keccakf1600_dst_out_of_range_error, e keccakf1600_end, e keccakf1600_error, e keccakf1600_highest_slice_address, e keccakf1600_rot_64_min_len_01, e keccakf1600_rot_64_min_len_03, e keccakf1600_rot_64_min_len_11, e keccakf1600_rot_64_min_len_13, e keccakf1600_rot_64_min_len_20, e keccakf1600_rot_64_min_len_22, e keccakf1600_rot_64_min_len_24, e keccakf1600_rot_64_min_len_31, e keccakf1600_rot_64_min_len_34, e keccakf1600_rot_64_min_len_42, e keccakf1600_rot_len_02, e keccakf1600_rot_len_04, e keccakf1600_rot_len_10, e keccakf1600_rot_len_12, e keccakf1600_rot_len_14, e keccakf1600_rot_len_21, e keccakf1600_rot_len_23, e keccakf1600_rot_len_30, e keccakf1600_rot_len_32, e keccakf1600_rot_len_33, e keccakf1600_rot_len_40, e keccakf1600_rot_len_41, e keccakf1600_rot_len_43, e keccakf1600_rot_len_44, e keccakf1600_round_cst, e keccakf1600_sel_slice_read, e keccakf1600_sel_slice_write, e keccakf1600_src_addr, e keccakf1600_src_out_of_range_error, e keccakf1600_state_chi_00, e keccakf1600_state_chi_01, e keccakf1600_state_chi_02, e keccakf1600_state_chi_03, e keccakf1600_state_chi_04, e keccakf1600_state_chi_10, e keccakf1600_state_chi_11, e keccakf1600_state_chi_12, e keccakf1600_state_chi_13, e keccakf1600_state_chi_14, e keccakf1600_state_chi_20, e keccakf1600_state_chi_21, e keccakf1600_state_chi_22, e keccakf1600_state_chi_23, e keccakf1600_state_chi_24, e keccakf1600_state_chi_30, e keccakf1600_state_chi_31, e keccakf1600_state_chi_32, e keccakf1600_state_chi_33, e keccakf1600_state_chi_34, e keccakf1600_state_chi_40, e keccakf1600_state_chi_41, e keccakf1600_state_chi_42, e keccakf1600_state_chi_43, e keccakf1600_state_chi_44, e keccakf1600_state_iota_00, e keccakf1600_state_pi_and_00, e keccakf1600_state_pi_and_01, e keccakf1600_state_pi_and_02, e keccakf1600_state_pi_and_03, e keccakf1600_state_pi_and_04, e keccakf1600_state_pi_and_10, e keccakf1600_state_pi_and_11, e keccakf1600_state_pi_and_12, e keccakf1600_state_pi_and_13, e keccakf1600_state_pi_and_14, e keccakf1600_state_pi_and_20, e keccakf1600_state_pi_and_21, e keccakf1600_state_pi_and_22, e keccakf1600_state_pi_and_23, e keccakf1600_state_pi_and_24, e keccakf1600_state_pi_and_30, e keccakf1600_state_pi_and_31, e keccakf1600_state_pi_and_32, e keccakf1600_state_pi_and_33, e keccakf1600_state_pi_and_34, e keccakf1600_state_pi_and_40, e keccakf1600_state_pi_and_41, e keccakf1600_state_pi_and_42, e keccakf1600_state_pi_and_43, e keccakf1600_state_pi_and_44, e keccakf1600_state_pi_not_00, e keccakf1600_state_pi_not_01, e keccakf1600_state_pi_not_02, e keccakf1600_state_pi_not_03, e keccakf1600_state_pi_not_04, e keccakf1600_state_pi_not_10, e keccakf1600_state_pi_not_11, e keccakf1600_state_pi_not_12, e keccakf1600_state_pi_not_13, e keccakf1600_state_pi_not_14, e keccakf1600_state_pi_not_20, e keccakf1600_state_pi_not_21, e keccakf1600_state_pi_not_22, e keccakf1600_state_pi_not_23, e keccakf1600_state_pi_not_24, e keccakf1600_state_pi_not_30, e keccakf1600_state_pi_not_31, e keccakf1600_state_pi_not_32, e keccakf1600_state_pi_not_33, e keccakf1600_state_pi_not_34, e keccakf1600_state_pi_not_40, e keccakf1600_state_pi_not_41, e keccakf1600_state_pi_not_42, e keccakf1600_state_pi_not_43, e keccakf1600_state_pi_not_44, e keccakf1600_state_rho_01, e keccakf1600_state_rho_02, e keccakf1600_state_rho_03, e keccakf1600_state_rho_04, e keccakf1600_state_rho_10, e keccakf1600_state_rho_11, e keccakf1600_state_rho_12, e keccakf1600_state_rho_13, e keccakf1600_state_rho_14, e keccakf1600_state_rho_20, e keccakf1600_state_rho_21, e keccakf1600_state_rho_22, e keccakf1600_state_rho_23, e keccakf1600_state_rho_24, e keccakf1600_state_rho_30, e keccakf1600_state_rho_31, e keccakf1600_state_rho_32, e keccakf1600_state_rho_33, e keccakf1600_state_rho_34, e keccakf1600_state_rho_40, e keccakf1600_state_rho_41, e keccakf1600_state_rho_42, e keccakf1600_state_rho_43, e keccakf1600_state_rho_44, e keccakf1600_state_theta_00, e keccakf1600_state_theta_01, e keccakf1600_state_theta_02, e keccakf1600_state_theta_03, e keccakf1600_state_theta_04, e keccakf1600_state_theta_10, e keccakf1600_state_theta_11, e keccakf1600_state_theta_12, e keccakf1600_state_theta_13, e keccakf1600_state_theta_14, e keccakf1600_state_theta_20, e keccakf1600_state_theta_21, e keccakf1600_state_theta_22, e keccakf1600_state_theta_23, e keccakf1600_state_theta_24, e keccakf1600_state_theta_30, e keccakf1600_state_theta_31, e keccakf1600_state_theta_32, e keccakf1600_state_theta_33, e keccakf1600_state_theta_34, e keccakf1600_state_theta_40, e keccakf1600_state_theta_41, e keccakf1600_state_theta_42, e keccakf1600_state_theta_43, e keccakf1600_state_theta_44, e keccakf1600_state_theta_hi_02, e keccakf1600_state_theta_hi_04, e keccakf1600_state_theta_hi_10, e keccakf1600_state_theta_hi_12, e keccakf1600_state_theta_hi_14, e keccakf1600_state_theta_hi_21, e keccakf1600_state_theta_hi_23, e keccakf1600_state_theta_hi_30, e keccakf1600_state_theta_hi_32, e keccakf1600_state_theta_hi_33, e keccakf1600_state_theta_hi_40, e keccakf1600_state_theta_hi_41, e keccakf1600_state_theta_hi_43, e keccakf1600_state_theta_hi_44, e keccakf1600_state_theta_low_01, e keccakf1600_state_theta_low_03, e keccakf1600_state_theta_low_11, e keccakf1600_state_theta_low_13, e keccakf1600_state_theta_low_20, e keccakf1600_state_theta_low_22, e keccakf1600_state_theta_low_24, e keccakf1600_state_theta_low_31, e keccakf1600_state_theta_low_34, e keccakf1600_state_theta_low_42, e keccakf1600_tag_error, e keccakf1600_tag_u64, e keccakf1600_theta_combined_xor_0, e keccakf1600_theta_combined_xor_1, e keccakf1600_theta_combined_xor_2, e keccakf1600_theta_combined_xor_3, e keccakf1600_theta_combined_xor_4, e keccakf1600_theta_xor_01, e keccakf1600_theta_xor_02, e keccakf1600_theta_xor_03, e keccakf1600_theta_xor_11, e keccakf1600_theta_xor_12, e keccakf1600_theta_xor_13, e keccakf1600_theta_xor_21, e keccakf1600_theta_xor_22, e keccakf1600_theta_xor_23, e keccakf1600_theta_xor_31, e keccakf1600_theta_xor_32, e keccakf1600_theta_xor_33, e keccakf1600_theta_xor_41, e keccakf1600_theta_xor_42, e keccakf1600_theta_xor_43, e keccakf1600_theta_xor_row_0, e keccakf1600_theta_xor_row_1, e keccakf1600_theta_xor_row_2, e keccakf1600_theta_xor_row_3, e keccakf1600_theta_xor_row_4, e keccakf1600_theta_xor_row_msb_0, e keccakf1600_theta_xor_row_msb_1, e keccakf1600_theta_xor_row_msb_2, e keccakf1600_theta_xor_row_msb_3, e keccakf1600_theta_xor_row_msb_4, e keccakf1600_theta_xor_row_rotl1_0, e keccakf1600_theta_xor_row_rotl1_1, e keccakf1600_theta_xor_row_rotl1_2, e keccakf1600_theta_xor_row_rotl1_3, e keccakf1600_theta_xor_row_rotl1_4, e l1_to_l2_message_tree_check_exists, e l1_to_l2_message_tree_check_l1_to_l2_message_tree_height, e l1_to_l2_message_tree_check_leaf_index, e l1_to_l2_message_tree_check_leaf_value, e l1_to_l2_message_tree_check_leaf_value_msg_hash_diff_inv, e l1_to_l2_message_tree_check_merkle_hash_separator, e l1_to_l2_message_tree_check_msg_hash, e l1_to_l2_message_tree_check_root, e l1_to_l2_message_tree_check_sel, e memory_diff, e memory_glob_addr_diff_inv, e memory_last_access, e memory_limb_0_, e memory_limb_1_, e memory_limb_2_, e memory_max_bits, e memory_sel_addressing_base, e memory_sel_addressing_indirect_0_, e memory_sel_addressing_indirect_1_, e memory_sel_addressing_indirect_2_, e memory_sel_addressing_indirect_3_, e memory_sel_addressing_indirect_4_, e memory_sel_addressing_indirect_5_, e memory_sel_addressing_indirect_6_, e memory_sel_data_copy_read, e memory_sel_data_copy_write, e memory_sel_ecc_write_0_, e memory_sel_ecc_write_1_, e memory_sel_get_contract_instance_exists_write, e memory_sel_get_contract_instance_member_write, e memory_sel_keccak, e memory_sel_poseidon2_read_0_, e memory_sel_poseidon2_read_1_, e memory_sel_poseidon2_read_2_, e memory_sel_poseidon2_read_3_, e memory_sel_poseidon2_write_0_, e memory_sel_poseidon2_write_1_, e memory_sel_poseidon2_write_2_, e memory_sel_poseidon2_write_3_, e memory_sel_public_log_read, e memory_sel_register_op_0_, e memory_sel_register_op_1_, e memory_sel_register_op_2_, e memory_sel_register_op_3_, e memory_sel_register_op_4_, e memory_sel_register_op_5_, e memory_sel_rng_chk, e memory_sel_rng_write, e memory_sel_sha256_op_0_, e memory_sel_sha256_op_1_, e memory_sel_sha256_op_2_, e memory_sel_sha256_op_3_, e memory_sel_sha256_op_4_, e memory_sel_sha256_op_5_, e memory_sel_sha256_op_6_, e memory_sel_sha256_op_7_, e memory_sel_sha256_read, e memory_sel_tag_is_ff, e memory_sel_to_radix_write, e memory_tag_ff_diff_inv, e merkle_check_const_three, e merkle_check_end, e merkle_check_index_is_even, e merkle_check_path_len_min_one_inv, e merkle_check_read_left_node, e merkle_check_read_output_hash, e merkle_check_read_right_node, e merkle_check_sibling, e merkle_check_write_left_node, e merkle_check_write_output_hash, e merkle_check_write_right_node, e note_hash_tree_check_address, e note_hash_tree_check_const_three, e note_hash_tree_check_discard, e note_hash_tree_check_exists, e note_hash_tree_check_first_nullifier, e note_hash_tree_check_first_nullifier_pi_index, e note_hash_tree_check_leaf_index, e note_hash_tree_check_merkle_hash_separator, e note_hash_tree_check_next_leaf_value, e note_hash_tree_check_next_root, e note_hash_tree_check_nonce, e note_hash_tree_check_nonce_separator, e note_hash_tree_check_note_hash, e note_hash_tree_check_note_hash_index, e note_hash_tree_check_note_hash_tree_height, e note_hash_tree_check_prev_leaf_value, e note_hash_tree_check_prev_leaf_value_unique_note_hash_diff_inv, e note_hash_tree_check_prev_root, e note_hash_tree_check_public_inputs_index, e note_hash_tree_check_sel, e note_hash_tree_check_sel_silo, e note_hash_tree_check_sel_unique, e note_hash_tree_check_sel_write_to_public_inputs, e note_hash_tree_check_siloed_note_hash, e note_hash_tree_check_siloing_separator, e note_hash_tree_check_unique_note_hash, e note_hash_tree_check_unique_note_hash_separator, e note_hash_tree_check_write, e poseidon2_hash_b_0, e poseidon2_hash_b_1, e poseidon2_hash_b_2, e poseidon2_hash_b_3, e poseidon2_hash_end, e poseidon2_hash_input_len, e poseidon2_hash_num_perm_rounds_rem_min_one_inv, e poseidon2_hash_padding, e poseidon2_perm_B_10_0, e poseidon2_perm_B_10_1, e poseidon2_perm_B_10_2, e poseidon2_perm_B_10_3, e poseidon2_perm_B_11_0, e poseidon2_perm_B_11_1, e poseidon2_perm_B_11_2, e poseidon2_perm_B_11_3, e poseidon2_perm_B_12_0, e poseidon2_perm_B_12_1, e poseidon2_perm_B_12_2, e poseidon2_perm_B_12_3, e poseidon2_perm_B_13_0, e poseidon2_perm_B_13_1, e poseidon2_perm_B_13_2, e poseidon2_perm_B_13_3, e poseidon2_perm_B_14_0, e poseidon2_perm_B_14_1, e poseidon2_perm_B_14_2, e poseidon2_perm_B_14_3, e poseidon2_perm_B_15_0, e poseidon2_perm_B_15_1, e poseidon2_perm_B_15_2, e poseidon2_perm_B_15_3, e poseidon2_perm_B_16_0, e poseidon2_perm_B_16_1, e poseidon2_perm_B_16_2, e poseidon2_perm_B_16_3, e poseidon2_perm_B_17_0, e poseidon2_perm_B_17_1, e poseidon2_perm_B_17_2, e poseidon2_perm_B_17_3, e poseidon2_perm_B_18_0, e poseidon2_perm_B_18_1, e poseidon2_perm_B_18_2, e poseidon2_perm_B_18_3, e poseidon2_perm_B_19_0, e poseidon2_perm_B_19_1, e poseidon2_perm_B_19_2, e poseidon2_perm_B_19_3, e poseidon2_perm_B_20_0, e poseidon2_perm_B_20_1, e poseidon2_perm_B_20_2, e poseidon2_perm_B_20_3, e poseidon2_perm_B_21_0, e poseidon2_perm_B_21_1, e poseidon2_perm_B_21_2, e poseidon2_perm_B_21_3, e poseidon2_perm_B_22_0, e poseidon2_perm_B_22_1, e poseidon2_perm_B_22_2, e poseidon2_perm_B_22_3, e poseidon2_perm_B_23_0, e poseidon2_perm_B_23_1, e poseidon2_perm_B_23_2, e poseidon2_perm_B_23_3, e poseidon2_perm_B_24_0, e poseidon2_perm_B_24_1, e poseidon2_perm_B_24_2, e poseidon2_perm_B_24_3, e poseidon2_perm_B_25_0, e poseidon2_perm_B_25_1, e poseidon2_perm_B_25_2, e poseidon2_perm_B_25_3, e poseidon2_perm_B_26_0, e poseidon2_perm_B_26_1, e poseidon2_perm_B_26_2, e poseidon2_perm_B_26_3, e poseidon2_perm_B_27_0, e poseidon2_perm_B_27_1, e poseidon2_perm_B_27_2, e poseidon2_perm_B_27_3, e poseidon2_perm_B_28_0, e poseidon2_perm_B_28_1, e poseidon2_perm_B_28_2, e poseidon2_perm_B_28_3, e poseidon2_perm_B_29_0, e poseidon2_perm_B_29_1, e poseidon2_perm_B_29_2, e poseidon2_perm_B_29_3, e poseidon2_perm_B_30_0, e poseidon2_perm_B_30_1, e poseidon2_perm_B_30_2, e poseidon2_perm_B_30_3, e poseidon2_perm_B_31_0, e poseidon2_perm_B_31_1, e poseidon2_perm_B_31_2, e poseidon2_perm_B_31_3, e poseidon2_perm_B_32_0, e poseidon2_perm_B_32_1, e poseidon2_perm_B_32_2, e poseidon2_perm_B_32_3, e poseidon2_perm_B_33_0, e poseidon2_perm_B_33_1, e poseidon2_perm_B_33_2, e poseidon2_perm_B_33_3, e poseidon2_perm_B_34_0, e poseidon2_perm_B_34_1, e poseidon2_perm_B_34_2, e poseidon2_perm_B_34_3, e poseidon2_perm_B_35_0, e poseidon2_perm_B_35_1, e poseidon2_perm_B_35_2, e poseidon2_perm_B_35_3, e poseidon2_perm_B_36_0, e poseidon2_perm_B_36_1, e poseidon2_perm_B_36_2, e poseidon2_perm_B_36_3, e poseidon2_perm_B_37_0, e poseidon2_perm_B_37_1, e poseidon2_perm_B_37_2, e poseidon2_perm_B_37_3, e poseidon2_perm_B_38_0, e poseidon2_perm_B_38_1, e poseidon2_perm_B_38_2, e poseidon2_perm_B_38_3, e poseidon2_perm_B_39_0, e poseidon2_perm_B_39_1, e poseidon2_perm_B_39_2, e poseidon2_perm_B_39_3, e poseidon2_perm_B_40_0, e poseidon2_perm_B_40_1, e poseidon2_perm_B_40_2, e poseidon2_perm_B_40_3, e poseidon2_perm_B_41_0, e poseidon2_perm_B_41_1, e poseidon2_perm_B_41_2, e poseidon2_perm_B_41_3, e poseidon2_perm_B_42_0, e poseidon2_perm_B_42_1, e poseidon2_perm_B_42_2, e poseidon2_perm_B_42_3, e poseidon2_perm_B_43_0, e poseidon2_perm_B_43_1, e poseidon2_perm_B_43_2, e poseidon2_perm_B_43_3, e poseidon2_perm_B_44_0, e poseidon2_perm_B_44_1, e poseidon2_perm_B_44_2, e poseidon2_perm_B_44_3, e poseidon2_perm_B_45_0, e poseidon2_perm_B_45_1, e poseidon2_perm_B_45_2, e poseidon2_perm_B_45_3, e poseidon2_perm_B_46_0, e poseidon2_perm_B_46_1, e poseidon2_perm_B_46_2, e poseidon2_perm_B_46_3, e poseidon2_perm_B_47_0, e poseidon2_perm_B_47_1, e poseidon2_perm_B_47_2, e poseidon2_perm_B_47_3, e poseidon2_perm_B_48_0, e poseidon2_perm_B_48_1, e poseidon2_perm_B_48_2, e poseidon2_perm_B_48_3, e poseidon2_perm_B_49_0, e poseidon2_perm_B_49_1, e poseidon2_perm_B_49_2, e poseidon2_perm_B_49_3, e poseidon2_perm_B_4_0, e poseidon2_perm_B_4_1, e poseidon2_perm_B_4_2, e poseidon2_perm_B_4_3, e poseidon2_perm_B_50_0, e poseidon2_perm_B_50_1, e poseidon2_perm_B_50_2, e poseidon2_perm_B_50_3, e poseidon2_perm_B_51_0, e poseidon2_perm_B_51_1, e poseidon2_perm_B_51_2, e poseidon2_perm_B_51_3, e poseidon2_perm_B_52_0, e poseidon2_perm_B_52_1, e poseidon2_perm_B_52_2, e poseidon2_perm_B_52_3, e poseidon2_perm_B_53_0, e poseidon2_perm_B_53_1, e poseidon2_perm_B_53_2, e poseidon2_perm_B_53_3, e poseidon2_perm_B_54_0, e poseidon2_perm_B_54_1, e poseidon2_perm_B_54_2, e poseidon2_perm_B_54_3, e poseidon2_perm_B_55_0, e poseidon2_perm_B_55_1, e poseidon2_perm_B_55_2, e poseidon2_perm_B_55_3, e poseidon2_perm_B_56_0, e poseidon2_perm_B_56_1, e poseidon2_perm_B_56_2, e poseidon2_perm_B_56_3, e poseidon2_perm_B_57_0, e poseidon2_perm_B_57_1, e poseidon2_perm_B_57_2, e poseidon2_perm_B_57_3, e poseidon2_perm_B_58_0, e poseidon2_perm_B_58_1, e poseidon2_perm_B_58_2, e poseidon2_perm_B_58_3, e poseidon2_perm_B_59_0, e poseidon2_perm_B_59_1, e poseidon2_perm_B_59_2, e poseidon2_perm_B_59_3, e poseidon2_perm_B_5_0, e poseidon2_perm_B_5_1, e poseidon2_perm_B_5_2, e poseidon2_perm_B_5_3, e poseidon2_perm_B_6_0, e poseidon2_perm_B_6_1, e poseidon2_perm_B_6_2, e poseidon2_perm_B_6_3, e poseidon2_perm_B_7_0, e poseidon2_perm_B_7_1, e poseidon2_perm_B_7_2, e poseidon2_perm_B_7_3, e poseidon2_perm_B_8_0, e poseidon2_perm_B_8_1, e poseidon2_perm_B_8_2, e poseidon2_perm_B_8_3, e poseidon2_perm_B_9_0, e poseidon2_perm_B_9_1, e poseidon2_perm_B_9_2, e poseidon2_perm_B_9_3, e poseidon2_perm_EXT_LAYER_4, e poseidon2_perm_EXT_LAYER_5, e poseidon2_perm_EXT_LAYER_6, e poseidon2_perm_EXT_LAYER_7, e poseidon2_perm_T_0_4, e poseidon2_perm_T_0_5, e poseidon2_perm_T_0_6, e poseidon2_perm_T_0_7, e poseidon2_perm_T_1_4, e poseidon2_perm_T_1_5, e poseidon2_perm_T_1_6, e poseidon2_perm_T_1_7, e poseidon2_perm_T_2_4, e poseidon2_perm_T_2_5, e poseidon2_perm_T_2_6, e poseidon2_perm_T_2_7, e poseidon2_perm_T_3_4, e poseidon2_perm_T_3_5, e poseidon2_perm_T_3_6, e poseidon2_perm_T_3_7, e poseidon2_perm_T_60_4, e poseidon2_perm_T_60_5, e poseidon2_perm_T_60_6, e poseidon2_perm_T_60_7, e poseidon2_perm_T_61_4, e poseidon2_perm_T_61_5, e poseidon2_perm_T_61_6, e poseidon2_perm_T_61_7, e poseidon2_perm_T_62_4, e poseidon2_perm_T_62_5, e poseidon2_perm_T_62_6, e poseidon2_perm_T_62_7, e poseidon2_perm_T_63_4, e poseidon2_perm_T_63_5, e poseidon2_perm_T_63_6, e poseidon2_perm_T_63_7, e poseidon2_perm_a_0, e poseidon2_perm_a_1, e poseidon2_perm_a_2, e poseidon2_perm_a_3, e poseidon2_perm_b_0, e poseidon2_perm_b_1, e poseidon2_perm_b_2, e poseidon2_perm_b_3, e poseidon2_perm_mem_batch_tag_inv, e poseidon2_perm_mem_err, e poseidon2_perm_mem_execution_clk, e poseidon2_perm_mem_input_0_, e poseidon2_perm_mem_input_1_, e poseidon2_perm_mem_input_2_, e poseidon2_perm_mem_input_3_, e poseidon2_perm_mem_input_tag_0_, e poseidon2_perm_mem_input_tag_1_, e poseidon2_perm_mem_input_tag_2_, e poseidon2_perm_mem_input_tag_3_, e poseidon2_perm_mem_max_mem_addr, e poseidon2_perm_mem_output_0_, e poseidon2_perm_mem_output_1_, e poseidon2_perm_mem_output_2_, e poseidon2_perm_mem_output_3_, e poseidon2_perm_mem_read_address_0_, e poseidon2_perm_mem_read_address_1_, e poseidon2_perm_mem_read_address_2_, e poseidon2_perm_mem_read_address_3_, e poseidon2_perm_mem_sel, e poseidon2_perm_mem_sel_dst_out_of_range_err, e poseidon2_perm_mem_sel_invalid_tag_err, e poseidon2_perm_mem_sel_should_exec, e poseidon2_perm_mem_sel_should_read_mem, e poseidon2_perm_mem_sel_src_out_of_range_err, e poseidon2_perm_mem_space_id, e poseidon2_perm_mem_write_address_0_, e poseidon2_perm_mem_write_address_1_, e poseidon2_perm_mem_write_address_2_, e poseidon2_perm_mem_write_address_3_, e poseidon2_perm_sel, e public_data_check_address, e public_data_check_clk_diff_hi, e public_data_check_clk_diff_lo, e public_data_check_const_four, e public_data_check_const_three, e public_data_check_discard, e public_data_check_end, e public_data_check_final_value, e public_data_check_intermediate_root, e public_data_check_leaf_not_exists, e public_data_check_leaf_slot, e public_data_check_leaf_slot_low_leaf_slot_diff_inv, e public_data_check_length_pi_idx, e public_data_check_low_leaf_hash, e public_data_check_low_leaf_index, e public_data_check_low_leaf_next_index, e public_data_check_low_leaf_next_slot, e public_data_check_low_leaf_slot, e public_data_check_low_leaf_value, e public_data_check_merkle_hash_separator, e public_data_check_new_leaf_hash, e public_data_check_next_slot_inv, e public_data_check_next_slot_is_nonzero, e public_data_check_non_discarded_write, e public_data_check_non_protocol_write, e public_data_check_not_end, e public_data_check_protocol_write, e public_data_check_public_data_writes_length, e public_data_check_root, e public_data_check_sel_write_to_public_inputs, e public_data_check_should_insert, e public_data_check_siloing_separator, e public_data_check_slot, e public_data_check_tree_height, e public_data_check_tree_size_after_write, e public_data_check_tree_size_before_write, e public_data_check_updated_low_leaf_hash, e public_data_check_updated_low_leaf_next_index, e public_data_check_updated_low_leaf_next_slot, e public_data_check_updated_low_leaf_value, e public_data_check_value, e public_data_check_write, e public_data_check_write_root, e public_data_squash_check_clock, e public_data_squash_clk_diff_hi, e public_data_squash_clk_diff_lo, e public_data_squash_leaf_slot_increase, e public_data_squash_value, e range_check_dyn_diff, e range_check_dyn_rng_chk_bits, e range_check_dyn_rng_chk_pow_2, e range_check_is_lte_u112, e range_check_is_lte_u128, e range_check_is_lte_u16, e range_check_is_lte_u32, e range_check_is_lte_u48, e range_check_is_lte_u64, e range_check_is_lte_u80, e range_check_is_lte_u96, e range_check_rng_chk_bits, e range_check_sel, e range_check_sel_alu, e range_check_sel_gt, e range_check_sel_keccak, e range_check_sel_memory, e range_check_sel_r0_16_bit_rng_lookup, e range_check_sel_r1_16_bit_rng_lookup, e range_check_sel_r2_16_bit_rng_lookup, e range_check_sel_r3_16_bit_rng_lookup, e range_check_sel_r4_16_bit_rng_lookup, e range_check_sel_r5_16_bit_rng_lookup, e range_check_sel_r6_16_bit_rng_lookup, e range_check_u16_r0, e range_check_u16_r1, e range_check_u16_r2, e range_check_u16_r3, e range_check_u16_r4, e range_check_u16_r5, e range_check_u16_r6, e range_check_u16_r7, e range_check_value, e scalar_mul_bit, e scalar_mul_const_two, e scalar_mul_end, e scalar_mul_sel_not_end, e scalar_mul_should_add, e sha256_a_and_b, e sha256_a_and_b_xor_a_and_c, e sha256_a_and_c, e sha256_a_rotr_13, e sha256_a_rotr_2, e sha256_a_rotr_22, e sha256_a_rotr_2_xor_a_rotr_13, e sha256_and_op_id, e sha256_b_and_c, e sha256_batch_tag_inv, e sha256_ch, e sha256_computed_w_lhs, e sha256_computed_w_rhs, e sha256_e_and_f, e sha256_e_rotr_11, e sha256_e_rotr_25, e sha256_e_rotr_6, e sha256_e_rotr_6_xor_e_rotr_11, e sha256_end, e sha256_err, e sha256_input, e sha256_input_rounds_rem_inv, e sha256_input_tag, e sha256_input_tag_diff_inv, e sha256_last, e sha256_lhs_w_10, e sha256_lhs_w_3, e sha256_maj, e sha256_max_input_addr, e sha256_max_mem_addr, e sha256_max_output_addr, e sha256_max_state_addr, e sha256_mem_out_of_range_err, e sha256_memory_address_0_, e sha256_memory_address_1_, e sha256_memory_address_2_, e sha256_memory_address_3_, e sha256_memory_address_4_, e sha256_memory_address_5_, e sha256_memory_address_6_, e sha256_memory_address_7_, e sha256_memory_register_0_, e sha256_memory_register_1_, e sha256_memory_register_2_, e sha256_memory_register_3_, e sha256_memory_register_4_, e sha256_memory_register_5_, e sha256_memory_register_6_, e sha256_memory_register_7_, e sha256_memory_tag_0_, e sha256_memory_tag_1_, e sha256_memory_tag_2_, e sha256_memory_tag_3_, e sha256_memory_tag_4_, e sha256_memory_tag_5_, e sha256_memory_tag_6_, e sha256_memory_tag_7_, e sha256_next_a_lhs, e sha256_next_a_rhs, e sha256_next_e_lhs, e sha256_next_e_rhs, e sha256_not_e, e sha256_not_e_and_g, e sha256_output_a_lhs, e sha256_output_a_rhs, e sha256_output_b_lhs, e sha256_output_b_rhs, e sha256_output_c_lhs, e sha256_output_c_rhs, e sha256_output_d_lhs, e sha256_output_d_rhs, e sha256_output_e_lhs, e sha256_output_e_rhs, e sha256_output_f_lhs, e sha256_output_f_rhs, e sha256_output_g_lhs, e sha256_output_g_rhs, e sha256_output_h_lhs, e sha256_output_h_rhs, e sha256_perform_round, e sha256_rhs_a_13, e sha256_rhs_a_2, e sha256_rhs_a_22, e sha256_rhs_e_11, e sha256_rhs_e_25, e sha256_rhs_e_6, e sha256_rhs_w_10, e sha256_rhs_w_17, e sha256_rhs_w_18, e sha256_rhs_w_19, e sha256_rhs_w_3, e sha256_rhs_w_7, e sha256_round_constant, e sha256_round_count, e sha256_rounds_remaining_inv, e sha256_rw, e sha256_s_0, e sha256_s_1, e sha256_sel_compute_w, e sha256_sel_input_out_of_range_err, e sha256_sel_invalid_input_row_tag_err, e sha256_sel_invalid_state_tag_err, e sha256_sel_is_input_round, e sha256_sel_mem_state_or_output, e sha256_sel_output_out_of_range_err, e sha256_sel_read_input_from_memory, e sha256_sel_state_out_of_range_err, e sha256_state_addr, e sha256_two_pow_10, e sha256_two_pow_11, e sha256_two_pow_13, e sha256_two_pow_17, e sha256_two_pow_18, e sha256_two_pow_19, e sha256_two_pow_2, e sha256_two_pow_22, e sha256_two_pow_25, e sha256_two_pow_3, e sha256_two_pow_32, e sha256_two_pow_6, e sha256_two_pow_7, e sha256_u32_tag, e sha256_w, e sha256_w_15_rotr_18, e sha256_w_15_rotr_7, e sha256_w_15_rotr_7_xor_w_15_rotr_18, e sha256_w_2_rotr_17, e sha256_w_2_rotr_17_xor_w_2_rotr_19, e sha256_w_2_rotr_19, e sha256_w_s_0, e sha256_w_s_1, e sha256_xor_op_id, e to_radix_end, e to_radix_found, e to_radix_is_unsafe_limb, e to_radix_limb_p_diff, e to_radix_limb_radix_diff, e to_radix_mem_err, e to_radix_mem_input_validation_error, e to_radix_mem_last, e to_radix_mem_limb_index_to_lookup, e to_radix_mem_limb_value, e to_radix_mem_max_mem_size, e to_radix_mem_num_limbs_inv, e to_radix_mem_num_limbs_minus_one_inv, e to_radix_mem_output_tag, e to_radix_mem_radix_min_two_inv, e to_radix_mem_sel_dst_out_of_range_err, e to_radix_mem_sel_invalid_bitwise_radix, e to_radix_mem_sel_num_limbs_is_zero, e to_radix_mem_sel_radix_eq_2, e to_radix_mem_sel_radix_gt_256_err, e to_radix_mem_sel_radix_lt_2_err, e to_radix_mem_sel_value_is_zero, e to_radix_mem_two, e to_radix_mem_two_five_six, e to_radix_mem_value_found, e to_radix_mem_value_inv, e to_radix_mem_write_addr_upper_bound, e to_radix_p_limb, e to_radix_rem_inverse, e to_radix_safety_diff_inverse, e tx_array_length_l2_to_l1_messages_pi_offset, e tx_array_length_note_hashes_pi_offset, e tx_array_length_nullifiers_pi_offset, e tx_calldata_hash, e tx_calldata_size, e tx_const_three, e tx_contract_addr, e tx_dom_sep_public_storage_map_slot, e tx_effective_fee_per_da_gas, e tx_effective_fee_per_l2_gas, e tx_end_phase, e tx_fee_juice_balance_slot, e tx_fee_juice_balances_slot_constant, e tx_fee_juice_contract_address, e tx_fee_payer, e tx_fee_payer_balance, e tx_fee_payer_new_balance, e tx_fee_payer_pi_offset, e tx_fields_length_public_logs_pi_offset, e tx_gas_limit_pi_offset, e tx_gas_used_pi_offset, e tx_is_cleanup, e tx_is_collect_fee, e tx_is_padded, e tx_is_public_call_request, e tx_is_static, e tx_is_tree_insert_phase, e tx_is_tree_padding, e tx_l1_l2_pi_offset, e tx_l2_l1_msg_content, e tx_l2_l1_msg_contract_address, e tx_l2_l1_msg_recipient, e tx_leaf_value, e tx_msg_sender, e tx_next_da_gas_used, e tx_next_da_gas_used_sent_to_enqueued_call, e tx_next_l2_gas_used, e tx_next_l2_gas_used_sent_to_enqueued_call, e tx_next_note_hash_tree_root, e tx_next_note_hash_tree_size, e tx_next_nullifier_tree_root, e tx_next_nullifier_tree_size, e tx_next_num_l2_to_l1_messages, e tx_next_num_note_hashes_emitted, e tx_next_num_nullifiers_emitted, e tx_next_num_public_log_fields, e tx_next_phase_on_revert, e tx_next_public_data_tree_root, e tx_next_public_data_tree_size, e tx_next_retrieved_bytecodes_tree_root, e tx_next_retrieved_bytecodes_tree_size, e tx_next_written_public_data_slots_tree_root, e tx_next_written_public_data_slots_tree_size, e tx_note_hash_pi_offset, e tx_nullifier_limit_error, e tx_nullifier_merkle_separator, e tx_nullifier_pi_offset, e tx_nullifier_tree_height, e tx_prev_da_gas_used_sent_to_enqueued_call, e tx_prev_l2_gas_used_sent_to_enqueued_call, e tx_public_data_pi_offset, e tx_read_pi_length_offset, e tx_read_pi_start_offset, e tx_remaining_phase_inv, e tx_remaining_phase_minus_one_inv, e tx_remaining_side_effects_inv, e tx_reverted_pi_offset, e tx_sel_append_l2_l1_msg, e tx_sel_append_note_hash, e tx_sel_append_nullifier, e tx_sel_l2_l1_msg_append, e tx_sel_note_hash_append, e tx_sel_nullifier_append, e tx_sel_process_call_request, e tx_sel_read_phase_length, e tx_sel_read_trees_and_gas_used, e tx_sel_try_l2_l1_msg_append, e tx_sel_try_note_hash_append, e tx_sel_try_nullifier_append, e tx_setup_phase_value, e tx_should_read_gas_limit, e tx_uint32_max, e tx_write_nullifier_pi_offset, e tx_write_pi_offset, e update_check_address, e update_check_const_three, e update_check_contract_instance_registry_address, e update_check_current_class_id, e update_check_delayed_public_mutable_hash_slot, e update_check_delayed_public_mutable_slot, e update_check_dom_sep_public_storage_map_slot, e update_check_hash_not_zero, e update_check_original_class_id, e update_check_public_data_tree_root, e update_check_sel, e update_check_timestamp, e update_check_timestamp_is_lt_timestamp_of_change, e update_check_timestamp_of_change, e update_check_timestamp_of_change_bit_size, e update_check_timestamp_pi_offset, e update_check_update_hash, e update_check_update_hash_inv, e update_check_update_hi_metadata, e update_check_update_hi_metadata_bit_size, e update_check_update_post_class_id_is_zero, e update_check_update_post_class_inv, e update_check_update_pre_class_id_is_zero, e update_check_update_pre_class_inv, e update_check_update_preimage_metadata, e update_check_update_preimage_post_class_id, e update_check_update_preimage_pre_class_id, e update_check_updated_class_ids_slot, e lookup_range_check_dyn_rng_chk_pow_2_counts, e lookup_range_check_dyn_diff_is_u16_counts, e lookup_range_check_r0_is_u16_counts, e lookup_range_check_r1_is_u16_counts, e lookup_range_check_r2_is_u16_counts, e lookup_range_check_r3_is_u16_counts, e lookup_range_check_r4_is_u16_counts, e lookup_range_check_r5_is_u16_counts, e lookup_range_check_r6_is_u16_counts, e lookup_range_check_r7_is_u16_counts, e lookup_ff_gt_a_lo_range_counts, e lookup_ff_gt_a_hi_range_counts, e lookup_gt_gt_range_counts, e lookup_alu_tag_max_bits_value_counts, e lookup_alu_range_check_decomposition_a_lo_counts, e lookup_alu_range_check_decomposition_a_hi_counts, e lookup_alu_range_check_decomposition_b_lo_counts, e lookup_alu_range_check_decomposition_b_hi_counts, e lookup_alu_range_check_mul_c_hi_counts, e lookup_alu_range_check_div_remainder_counts, e lookup_alu_ff_gt_counts, e lookup_alu_int_gt_counts, e lookup_alu_shifts_two_pow_counts, e lookup_alu_large_trunc_canonical_dec_counts, e lookup_alu_range_check_trunc_mid_counts, e lookup_bitwise_integral_tag_length_counts, e lookup_bitwise_byte_operations_counts, e lookup_memory_range_check_limb_0_counts, e lookup_memory_range_check_limb_1_counts, e lookup_memory_range_check_limb_2_counts, e lookup_memory_tag_max_bits_counts, e lookup_memory_range_check_write_tagged_value_counts, e lookup_data_copy_offset_plus_size_is_gt_data_size_counts, e lookup_data_copy_check_src_addr_in_range_counts, e lookup_data_copy_check_dst_addr_in_range_counts, e lookup_data_copy_sel_has_reads_counts, e lookup_data_copy_col_read_counts, e lookup_ecc_mem_check_dst_addr_in_range_counts, e lookup_ecc_mem_input_output_ecc_add_counts, e lookup_keccakf1600_theta_xor_01_counts, e lookup_keccakf1600_theta_xor_02_counts, e lookup_keccakf1600_theta_xor_03_counts, e lookup_keccakf1600_theta_xor_row_0_counts, e lookup_keccakf1600_theta_xor_11_counts, e lookup_keccakf1600_theta_xor_12_counts, e lookup_keccakf1600_theta_xor_13_counts, e lookup_keccakf1600_theta_xor_row_1_counts, e lookup_keccakf1600_theta_xor_21_counts, e lookup_keccakf1600_theta_xor_22_counts, e lookup_keccakf1600_theta_xor_23_counts, e lookup_keccakf1600_theta_xor_row_2_counts, e lookup_keccakf1600_theta_xor_31_counts, e lookup_keccakf1600_theta_xor_32_counts, e lookup_keccakf1600_theta_xor_33_counts, e lookup_keccakf1600_theta_xor_row_3_counts, e lookup_keccakf1600_theta_xor_41_counts, e lookup_keccakf1600_theta_xor_42_counts, e lookup_keccakf1600_theta_xor_43_counts, e lookup_keccakf1600_theta_xor_row_4_counts, e lookup_keccakf1600_theta_combined_xor_0_counts, e lookup_keccakf1600_theta_combined_xor_1_counts, e lookup_keccakf1600_theta_combined_xor_2_counts, e lookup_keccakf1600_theta_combined_xor_3_counts, e lookup_keccakf1600_theta_combined_xor_4_counts, e lookup_keccakf1600_state_theta_00_counts, e lookup_keccakf1600_state_theta_01_counts, e lookup_keccakf1600_state_theta_02_counts, e lookup_keccakf1600_state_theta_03_counts, e lookup_keccakf1600_state_theta_04_counts, e lookup_keccakf1600_state_theta_10_counts, e lookup_keccakf1600_state_theta_11_counts, e lookup_keccakf1600_state_theta_12_counts, e lookup_keccakf1600_state_theta_13_counts, e lookup_keccakf1600_state_theta_14_counts, e lookup_keccakf1600_state_theta_20_counts, e lookup_keccakf1600_state_theta_21_counts, e lookup_keccakf1600_state_theta_22_counts, e lookup_keccakf1600_state_theta_23_counts, e lookup_keccakf1600_state_theta_24_counts, e lookup_keccakf1600_state_theta_30_counts, e lookup_keccakf1600_state_theta_31_counts, e lookup_keccakf1600_state_theta_32_counts, e lookup_keccakf1600_state_theta_33_counts, e lookup_keccakf1600_state_theta_34_counts, e lookup_keccakf1600_state_theta_40_counts, e lookup_keccakf1600_state_theta_41_counts, e lookup_keccakf1600_state_theta_42_counts, e lookup_keccakf1600_state_theta_43_counts, e lookup_keccakf1600_state_theta_44_counts, e lookup_keccakf1600_theta_limb_02_range_counts, e lookup_keccakf1600_theta_limb_04_range_counts, e lookup_keccakf1600_theta_limb_10_range_counts, e lookup_keccakf1600_theta_limb_12_range_counts, e lookup_keccakf1600_theta_limb_14_range_counts, e lookup_keccakf1600_theta_limb_21_range_counts, e lookup_keccakf1600_theta_limb_23_range_counts, e lookup_keccakf1600_theta_limb_30_range_counts, e lookup_keccakf1600_theta_limb_32_range_counts, e lookup_keccakf1600_theta_limb_33_range_counts, e lookup_keccakf1600_theta_limb_40_range_counts, e lookup_keccakf1600_theta_limb_41_range_counts, e lookup_keccakf1600_theta_limb_43_range_counts, e lookup_keccakf1600_theta_limb_44_range_counts, e lookup_keccakf1600_theta_limb_01_range_counts, e lookup_keccakf1600_theta_limb_03_range_counts, e lookup_keccakf1600_theta_limb_11_range_counts, e lookup_keccakf1600_theta_limb_13_range_counts, e lookup_keccakf1600_theta_limb_20_range_counts, e lookup_keccakf1600_theta_limb_22_range_counts, e lookup_keccakf1600_theta_limb_24_range_counts, e lookup_keccakf1600_theta_limb_31_range_counts, e lookup_keccakf1600_theta_limb_34_range_counts, e lookup_keccakf1600_theta_limb_42_range_counts, e lookup_keccakf1600_state_pi_and_00_counts, e lookup_keccakf1600_state_pi_and_01_counts, e lookup_keccakf1600_state_pi_and_02_counts, e lookup_keccakf1600_state_pi_and_03_counts, e lookup_keccakf1600_state_pi_and_04_counts, e lookup_keccakf1600_state_pi_and_10_counts, e lookup_keccakf1600_state_pi_and_11_counts, e lookup_keccakf1600_state_pi_and_12_counts, e lookup_keccakf1600_state_pi_and_13_counts, e lookup_keccakf1600_state_pi_and_14_counts, e lookup_keccakf1600_state_pi_and_20_counts, e lookup_keccakf1600_state_pi_and_21_counts, e lookup_keccakf1600_state_pi_and_22_counts, e lookup_keccakf1600_state_pi_and_23_counts, e lookup_keccakf1600_state_pi_and_24_counts, e lookup_keccakf1600_state_pi_and_30_counts, e lookup_keccakf1600_state_pi_and_31_counts, e lookup_keccakf1600_state_pi_and_32_counts, e lookup_keccakf1600_state_pi_and_33_counts, e lookup_keccakf1600_state_pi_and_34_counts, e lookup_keccakf1600_state_pi_and_40_counts, e lookup_keccakf1600_state_pi_and_41_counts, e lookup_keccakf1600_state_pi_and_42_counts, e lookup_keccakf1600_state_pi_and_43_counts, e lookup_keccakf1600_state_pi_and_44_counts, e lookup_keccakf1600_state_chi_00_counts, e lookup_keccakf1600_state_chi_01_counts, e lookup_keccakf1600_state_chi_02_counts, e lookup_keccakf1600_state_chi_03_counts, e lookup_keccakf1600_state_chi_04_counts, e lookup_keccakf1600_state_chi_10_counts, e lookup_keccakf1600_state_chi_11_counts, e lookup_keccakf1600_state_chi_12_counts, e lookup_keccakf1600_state_chi_13_counts, e lookup_keccakf1600_state_chi_14_counts, e lookup_keccakf1600_state_chi_20_counts, e lookup_keccakf1600_state_chi_21_counts, e lookup_keccakf1600_state_chi_22_counts, e lookup_keccakf1600_state_chi_23_counts, e lookup_keccakf1600_state_chi_24_counts, e lookup_keccakf1600_state_chi_30_counts, e lookup_keccakf1600_state_chi_31_counts, e lookup_keccakf1600_state_chi_32_counts, e lookup_keccakf1600_state_chi_33_counts, e lookup_keccakf1600_state_chi_34_counts, e lookup_keccakf1600_state_chi_40_counts, e lookup_keccakf1600_state_chi_41_counts, e lookup_keccakf1600_state_chi_42_counts, e lookup_keccakf1600_state_chi_43_counts, e lookup_keccakf1600_state_chi_44_counts, e lookup_keccakf1600_round_cst_counts, e lookup_keccakf1600_state_iota_00_counts, e lookup_keccakf1600_src_out_of_range_toggle_counts, e lookup_keccakf1600_dst_out_of_range_toggle_counts, e lookup_poseidon2_mem_check_src_addr_in_range_counts, e lookup_poseidon2_mem_check_dst_addr_in_range_counts, e lookup_poseidon2_mem_input_output_poseidon2_perm_counts, e lookup_to_radix_limb_range_counts, e lookup_to_radix_limb_less_than_radix_range_counts, e lookup_to_radix_fetch_safe_limbs_counts, e lookup_to_radix_fetch_p_limb_counts, e lookup_to_radix_limb_p_diff_range_counts, e lookup_scalar_mul_to_radix_counts, e lookup_scalar_mul_double_counts, e lookup_scalar_mul_add_counts, e lookup_sha256_range_comp_w_lhs_counts, e lookup_sha256_range_comp_w_rhs_counts, e lookup_sha256_range_rhs_w_7_counts, e lookup_sha256_range_rhs_w_18_counts, e lookup_sha256_range_rhs_w_3_counts, e lookup_sha256_w_s_0_xor_0_counts, e lookup_sha256_w_s_0_xor_1_counts, e lookup_sha256_range_rhs_w_17_counts, e lookup_sha256_range_rhs_w_19_counts, e lookup_sha256_range_rhs_w_10_counts, e lookup_sha256_w_s_1_xor_0_counts, e lookup_sha256_w_s_1_xor_1_counts, e lookup_sha256_range_rhs_e_6_counts, e lookup_sha256_range_rhs_e_11_counts, e lookup_sha256_range_rhs_e_25_counts, e lookup_sha256_s_1_xor_0_counts, e lookup_sha256_s_1_xor_1_counts, e lookup_sha256_ch_and_0_counts, e lookup_sha256_ch_and_1_counts, e lookup_sha256_ch_xor_counts, e lookup_sha256_round_constant_counts, e lookup_sha256_range_rhs_a_2_counts, e lookup_sha256_range_rhs_a_13_counts, e lookup_sha256_range_rhs_a_22_counts, e lookup_sha256_s_0_xor_0_counts, e lookup_sha256_s_0_xor_1_counts, e lookup_sha256_maj_and_0_counts, e lookup_sha256_maj_and_1_counts, e lookup_sha256_maj_and_2_counts, e lookup_sha256_maj_xor_0_counts, e lookup_sha256_maj_xor_1_counts, e lookup_sha256_range_comp_next_a_lhs_counts, e lookup_sha256_range_comp_next_a_rhs_counts, e lookup_sha256_range_comp_next_e_lhs_counts, e lookup_sha256_range_comp_next_e_rhs_counts, e lookup_sha256_range_comp_a_rhs_counts, e lookup_sha256_range_comp_b_rhs_counts, e lookup_sha256_range_comp_c_rhs_counts, e lookup_sha256_range_comp_d_rhs_counts, e lookup_sha256_range_comp_e_rhs_counts, e lookup_sha256_range_comp_f_rhs_counts, e lookup_sha256_range_comp_g_rhs_counts, e lookup_sha256_range_comp_h_rhs_counts, e lookup_sha256_mem_check_state_addr_in_range_counts, e lookup_sha256_mem_check_input_addr_in_range_counts, e lookup_sha256_mem_check_output_addr_in_range_counts, e lookup_to_radix_mem_check_dst_addr_in_range_counts, e lookup_to_radix_mem_check_radix_lt_2_counts, e lookup_to_radix_mem_check_radix_gt_256_counts, e lookup_to_radix_mem_input_output_to_radix_counts, e lookup_poseidon2_hash_poseidon2_perm_counts, e lookup_address_derivation_salted_initialization_hash_poseidon2_0_counts, e lookup_address_derivation_salted_initialization_hash_poseidon2_1_counts, e lookup_address_derivation_partial_address_poseidon2_counts, e lookup_address_derivation_ivpk_m_hash_poseidon2_counts, e lookup_address_derivation_public_keys_hash_poseidon2_0_counts, e lookup_address_derivation_public_keys_hash_poseidon2_1_counts, e lookup_address_derivation_preaddress_poseidon2_counts, e lookup_address_derivation_preaddress_scalar_mul_counts, e lookup_address_derivation_address_ecadd_counts, e lookup_bc_decomposition_bytes_are_bytes_counts, e lookup_bc_hashing_poseidon2_hash_counts, e lookup_merkle_check_merkle_poseidon2_read_counts, e lookup_merkle_check_merkle_poseidon2_write_counts, e lookup_indexed_tree_check_silo_poseidon2_counts, e lookup_indexed_tree_check_low_leaf_value_validation_counts, e lookup_indexed_tree_check_low_leaf_next_value_validation_counts, e lookup_indexed_tree_check_low_leaf_poseidon2_counts, e lookup_indexed_tree_check_updated_low_leaf_poseidon2_counts, e lookup_indexed_tree_check_low_leaf_merkle_check_counts, e lookup_indexed_tree_check_new_leaf_poseidon2_counts, e lookup_indexed_tree_check_new_leaf_merkle_check_counts, e lookup_indexed_tree_check_write_value_to_public_inputs_counts, e lookup_public_data_squash_leaf_slot_increase_ff_gt_counts, e lookup_public_data_squash_clk_diff_range_lo_counts, e lookup_public_data_squash_clk_diff_range_hi_counts, e lookup_public_data_check_clk_diff_range_lo_counts, e lookup_public_data_check_clk_diff_range_hi_counts, e lookup_public_data_check_silo_poseidon2_counts, e lookup_public_data_check_low_leaf_slot_validation_counts, e lookup_public_data_check_low_leaf_next_slot_validation_counts, e lookup_public_data_check_low_leaf_poseidon2_0_counts, e lookup_public_data_check_low_leaf_poseidon2_1_counts, e lookup_public_data_check_updated_low_leaf_poseidon2_0_counts, e lookup_public_data_check_updated_low_leaf_poseidon2_1_counts, e lookup_public_data_check_low_leaf_merkle_check_counts, e lookup_public_data_check_new_leaf_poseidon2_0_counts, e lookup_public_data_check_new_leaf_poseidon2_1_counts, e lookup_public_data_check_new_leaf_merkle_check_counts, e lookup_public_data_check_write_public_data_to_public_inputs_counts, e lookup_public_data_check_write_writes_length_to_public_inputs_counts, e lookup_update_check_timestamp_from_public_inputs_counts, e lookup_update_check_delayed_public_mutable_slot_poseidon2_counts, e lookup_update_check_update_hash_public_data_read_counts, e lookup_update_check_update_hash_poseidon2_counts, e lookup_update_check_update_hi_metadata_range_counts, e lookup_update_check_update_lo_metadata_range_counts, e lookup_update_check_timestamp_is_lt_timestamp_of_change_counts, e lookup_contract_instance_retrieval_check_protocol_address_range_counts, e lookup_contract_instance_retrieval_read_derived_address_from_public_inputs_counts, e lookup_contract_instance_retrieval_deployment_nullifier_read_counts, e lookup_contract_instance_retrieval_address_derivation_counts, e lookup_contract_instance_retrieval_update_check_counts, e lookup_class_id_derivation_class_id_poseidon2_0_counts, e lookup_class_id_derivation_class_id_poseidon2_1_counts, e lookup_bc_retrieval_contract_instance_retrieval_counts, e lookup_bc_retrieval_class_id_derivation_counts, e lookup_bc_retrieval_is_new_class_check_counts, e lookup_bc_retrieval_retrieved_bytecodes_insertion_counts, e lookup_instr_fetching_pc_abs_diff_positive_counts, e lookup_instr_fetching_instr_abs_diff_positive_counts, e lookup_instr_fetching_tag_value_validation_counts, e lookup_instr_fetching_bytecode_size_from_bc_dec_counts, e lookup_instr_fetching_bytes_from_bc_dec_counts, e lookup_instr_fetching_wire_instruction_info_counts, e lookup_emit_public_log_check_memory_out_of_bounds_counts, e lookup_emit_public_log_check_log_fields_count_counts, e lookup_emit_public_log_write_data_to_public_inputs_counts, e lookup_get_contract_instance_precomputed_info_counts, e lookup_get_contract_instance_contract_instance_retrieval_counts, e lookup_l1_to_l2_message_tree_check_merkle_check_counts, e lookup_internal_call_unwind_call_stack_counts, e lookup_context_ctx_stack_rollback_counts, e lookup_context_ctx_stack_return_counts, e lookup_addressing_relative_overflow_result_0_counts, e lookup_addressing_relative_overflow_result_1_counts, e lookup_addressing_relative_overflow_result_2_counts, e lookup_addressing_relative_overflow_result_3_counts, e lookup_addressing_relative_overflow_result_4_counts, e lookup_addressing_relative_overflow_result_5_counts, e lookup_addressing_relative_overflow_result_6_counts, e lookup_gas_addressing_gas_read_counts, e lookup_gas_is_out_of_gas_l2_counts, e lookup_gas_is_out_of_gas_da_counts, e lookup_note_hash_tree_check_silo_poseidon2_counts, e lookup_note_hash_tree_check_read_first_nullifier_counts, e lookup_note_hash_tree_check_nonce_computation_poseidon2_counts, e lookup_note_hash_tree_check_unique_note_hash_poseidon2_counts, e lookup_note_hash_tree_check_merkle_check_counts, e lookup_note_hash_tree_check_write_note_hash_to_public_inputs_counts, e lookup_emit_notehash_notehash_tree_write_counts, e lookup_emit_nullifier_write_nullifier_counts, e lookup_external_call_is_l2_gas_left_gt_allocated_counts, e lookup_external_call_is_da_gas_left_gt_allocated_counts, e lookup_get_env_var_precomputed_info_counts, e lookup_get_env_var_read_from_public_inputs_col0_counts, e lookup_get_env_var_read_from_public_inputs_col1_counts, e lookup_l1_to_l2_message_exists_l1_to_l2_msg_leaf_index_in_range_counts, e lookup_l1_to_l2_message_exists_l1_to_l2_msg_read_counts, e lookup_notehash_exists_note_hash_leaf_index_in_range_counts, e lookup_notehash_exists_note_hash_read_counts, e lookup_nullifier_exists_nullifier_exists_check_counts, e lookup_send_l2_to_l1_msg_recipient_check_counts, e lookup_send_l2_to_l1_msg_write_l2_to_l1_msg_counts, e lookup_sload_storage_read_counts, e lookup_sstore_record_written_storage_slot_counts, e lookup_execution_bytecode_retrieval_result_counts, e lookup_execution_instruction_fetching_result_counts, e lookup_execution_instruction_fetching_body_counts, e lookup_execution_exec_spec_read_counts, e lookup_execution_dyn_l2_factor_bitwise_counts, e lookup_execution_check_radix_gt_256_counts, e lookup_execution_get_p_limbs_counts, e lookup_execution_get_max_limbs_counts, e lookup_execution_check_written_storage_slot_counts, e lookup_execution_dispatch_to_alu_counts, e lookup_execution_dispatch_to_bitwise_counts, e lookup_execution_dispatch_to_cast_counts, e lookup_execution_dispatch_to_set_counts, e lookup_calldata_hashing_get_calldata_field_0_counts, e lookup_calldata_hashing_get_calldata_field_1_counts, e lookup_calldata_hashing_get_calldata_field_2_counts, e lookup_calldata_hashing_poseidon2_hash_counts, e lookup_tx_context_public_inputs_note_hash_tree_counts, e lookup_tx_context_public_inputs_nullifier_tree_counts, e lookup_tx_context_public_inputs_public_data_tree_counts, e lookup_tx_context_public_inputs_l1_l2_tree_counts, e lookup_tx_context_public_inputs_gas_used_counts, e lookup_tx_context_public_inputs_read_gas_limit_counts, e lookup_tx_context_public_inputs_read_reverted_counts, e lookup_tx_context_restore_state_on_revert_counts, e lookup_tx_context_public_inputs_write_note_hash_count_counts, e lookup_tx_context_public_inputs_write_nullifier_count_counts, e lookup_tx_context_public_inputs_write_l2_to_l1_message_count_counts, e lookup_tx_context_public_inputs_write_public_log_count_counts, e lookup_tx_read_phase_spec_counts, e lookup_tx_read_phase_length_counts, e lookup_tx_read_public_call_request_phase_counts, e lookup_tx_read_tree_insert_value_counts, e lookup_tx_note_hash_append_counts, e lookup_tx_nullifier_append_counts, e lookup_tx_read_l2_l1_msg_counts, e lookup_tx_write_l2_l1_msg_counts, e lookup_tx_read_effective_fee_public_inputs_counts, e lookup_tx_read_fee_payer_public_inputs_counts, e lookup_tx_balance_slot_poseidon2_counts, e lookup_tx_balance_read_counts, e lookup_tx_balance_validation_counts, e lookup_tx_write_fee_public_inputs_counts, e bc_decomposition_bytes, e bc_decomposition_bytes_pc_plus_1, e bc_decomposition_bytes_pc_plus_10, e bc_decomposition_bytes_pc_plus_11, e bc_decomposition_bytes_pc_plus_12, e bc_decomposition_bytes_pc_plus_13, e bc_decomposition_bytes_pc_plus_14, e bc_decomposition_bytes_pc_plus_15, e bc_decomposition_bytes_pc_plus_16, e bc_decomposition_bytes_pc_plus_17, e bc_decomposition_bytes_pc_plus_18, e bc_decomposition_bytes_pc_plus_19, e bc_decomposition_bytes_pc_plus_2, e bc_decomposition_bytes_pc_plus_20, e bc_decomposition_bytes_pc_plus_21, e bc_decomposition_bytes_pc_plus_22, e bc_decomposition_bytes_pc_plus_23, e bc_decomposition_bytes_pc_plus_24, e bc_decomposition_bytes_pc_plus_25, e bc_decomposition_bytes_pc_plus_26, e bc_decomposition_bytes_pc_plus_27, e bc_decomposition_bytes_pc_plus_28, e bc_decomposition_bytes_pc_plus_29, e bc_decomposition_bytes_pc_plus_3, e bc_decomposition_bytes_pc_plus_30, e bc_decomposition_bytes_pc_plus_31, e bc_decomposition_bytes_pc_plus_32, e bc_decomposition_bytes_pc_plus_33, e bc_decomposition_bytes_pc_plus_34, e bc_decomposition_bytes_pc_plus_35, e bc_decomposition_bytes_pc_plus_4, e bc_decomposition_bytes_pc_plus_5, e bc_decomposition_bytes_pc_plus_6, e bc_decomposition_bytes_pc_plus_7, e bc_decomposition_bytes_pc_plus_8, e bc_decomposition_bytes_pc_plus_9, e bc_decomposition_bytes_remaining, e bc_decomposition_id, e bc_decomposition_next_packed_pc, e bc_decomposition_pc, e bc_decomposition_sel, e bc_decomposition_sel_windows_gt_remaining, e bc_decomposition_start, e bc_hashing_bytecode_id, e bc_hashing_padding, e bc_hashing_pc_index_1, e bc_hashing_rounds_rem, e bc_hashing_sel, e bc_hashing_sel_not_start, e bc_hashing_start, e bitwise_acc_ia, e bitwise_acc_ib, e bitwise_acc_ic, e bitwise_ctr, e bitwise_op_id, e bitwise_sel, e bitwise_start, e calldata_context_id, e calldata_hashing_calldata_size, e calldata_hashing_context_id, e calldata_hashing_index_0_, e calldata_hashing_output_hash, e calldata_hashing_rounds_rem, e calldata_hashing_sel, e calldata_hashing_start, e calldata_index, e calldata_sel, e data_copy_clk, e data_copy_copy_size, e data_copy_dst_addr, e data_copy_dst_context_id, e data_copy_padding, e data_copy_read_addr, e data_copy_reads_left, e data_copy_sel, e data_copy_sel_cd_copy, e data_copy_src_context_id, e data_copy_start, e emit_public_log_contract_address, e emit_public_log_correct_tag, e emit_public_log_error_out_of_bounds, e emit_public_log_error_tag_mismatch, e emit_public_log_execution_clk, e emit_public_log_is_write_contract_address, e emit_public_log_is_write_memory_value, e emit_public_log_log_address, e emit_public_log_public_inputs_index, e emit_public_log_remaining_rows, e emit_public_log_seen_wrong_tag, e emit_public_log_sel, e emit_public_log_sel_write_to_public_inputs, e emit_public_log_space_id, e emit_public_log_start, e execution_bytecode_id, e execution_clk, e execution_context_id, e execution_contract_address, e execution_da_gas_limit, e execution_discard, e execution_dying_context_id, e execution_enqueued_call_start, e execution_internal_call_id, e execution_internal_call_return_id, e execution_is_static, e execution_l1_l2_tree_root, e execution_l2_gas_limit, e execution_last_child_id, e execution_last_child_returndata_addr, e execution_last_child_returndata_size, e execution_last_child_success, e execution_msg_sender, e execution_next_context_id, e execution_next_internal_call_id, e execution_parent_calldata_addr, e execution_parent_calldata_size, e execution_parent_da_gas_limit, e execution_parent_da_gas_used, e execution_parent_id, e execution_parent_l2_gas_limit, e execution_parent_l2_gas_used, e execution_pc, e execution_prev_da_gas_used, e execution_prev_l2_gas_used, e execution_prev_note_hash_tree_root, e execution_prev_note_hash_tree_size, e execution_prev_nullifier_tree_root, e execution_prev_nullifier_tree_size, e execution_prev_num_l2_to_l1_messages, e execution_prev_num_note_hashes_emitted, e execution_prev_num_nullifiers_emitted, e execution_prev_num_public_log_fields, e execution_prev_public_data_tree_root, e execution_prev_public_data_tree_size, e execution_prev_retrieved_bytecodes_tree_root, e execution_prev_retrieved_bytecodes_tree_size, e execution_prev_written_public_data_slots_tree_root, e execution_prev_written_public_data_slots_tree_size, e execution_sel, e execution_sel_first_row_in_context, e execution_transaction_fee, e ff_gt_a_hi, e ff_gt_a_lo, e ff_gt_b_hi, e ff_gt_b_lo, e ff_gt_cmp_rng_ctr, e ff_gt_p_sub_a_hi, e ff_gt_p_sub_a_lo, e ff_gt_p_sub_b_hi, e ff_gt_p_sub_b_lo, e ff_gt_sel, e ff_gt_sel_dec, e ff_gt_sel_gt, e keccak_memory_addr, e keccak_memory_clk, e keccak_memory_ctr, e keccak_memory_rw, e keccak_memory_sel, e keccak_memory_space_id, e keccak_memory_start_read, e keccak_memory_start_write, e keccak_memory_tag_error, e keccak_memory_val_0_, e keccak_memory_val_10_, e keccak_memory_val_11_, e keccak_memory_val_12_, e keccak_memory_val_13_, e keccak_memory_val_14_, e keccak_memory_val_15_, e keccak_memory_val_16_, e keccak_memory_val_17_, e keccak_memory_val_18_, e keccak_memory_val_19_, e keccak_memory_val_1_, e keccak_memory_val_20_, e keccak_memory_val_21_, e keccak_memory_val_22_, e keccak_memory_val_23_, e keccak_memory_val_2_, e keccak_memory_val_3_, e keccak_memory_val_4_, e keccak_memory_val_5_, e keccak_memory_val_6_, e keccak_memory_val_7_, e keccak_memory_val_8_, e keccak_memory_val_9_, e keccakf1600_clk, e keccakf1600_dst_addr, e keccakf1600_round, e keccakf1600_sel, e keccakf1600_sel_no_error, e keccakf1600_space_id, e keccakf1600_start, e keccakf1600_state_in_00, e keccakf1600_state_in_01, e keccakf1600_state_in_02, e keccakf1600_state_in_03, e keccakf1600_state_in_04, e keccakf1600_state_in_10, e keccakf1600_state_in_11, e keccakf1600_state_in_12, e keccakf1600_state_in_13, e keccakf1600_state_in_14, e keccakf1600_state_in_20, e keccakf1600_state_in_21, e keccakf1600_state_in_22, e keccakf1600_state_in_23, e keccakf1600_state_in_24, e keccakf1600_state_in_30, e keccakf1600_state_in_31, e keccakf1600_state_in_32, e keccakf1600_state_in_33, e keccakf1600_state_in_34, e keccakf1600_state_in_40, e keccakf1600_state_in_41, e keccakf1600_state_in_42, e keccakf1600_state_in_43, e keccakf1600_state_in_44, e memory_address, e memory_clk, e memory_rw, e memory_sel, e memory_space_id, e memory_tag, e memory_value, e merkle_check_index, e merkle_check_merkle_hash_separator, e merkle_check_path_len, e merkle_check_read_node, e merkle_check_read_root, e merkle_check_sel, e merkle_check_start, e merkle_check_write, e merkle_check_write_node, e merkle_check_write_root, e poseidon2_hash_a_0, e poseidon2_hash_a_1, e poseidon2_hash_a_2, e poseidon2_hash_a_3, e poseidon2_hash_input_0, e poseidon2_hash_input_1, e poseidon2_hash_input_2, e poseidon2_hash_num_perm_rounds_rem, e poseidon2_hash_output, e poseidon2_hash_sel, e poseidon2_hash_start, e public_data_check_clk, e public_data_check_sel, e public_data_check_write_idx, e public_data_squash_clk, e public_data_squash_final_value, e public_data_squash_leaf_slot, e public_data_squash_sel, e public_data_squash_write_to_public_inputs, e scalar_mul_bit_idx, e scalar_mul_point_inf, e scalar_mul_point_x, e scalar_mul_point_y, e scalar_mul_res_inf, e scalar_mul_res_x, e scalar_mul_res_y, e scalar_mul_scalar, e scalar_mul_sel, e scalar_mul_start, e scalar_mul_temp_inf, e scalar_mul_temp_x, e scalar_mul_temp_y, e sha256_a, e sha256_b, e sha256_c, e sha256_d, e sha256_e, e sha256_execution_clk, e sha256_f, e sha256_g, e sha256_h, e sha256_helper_w0, e sha256_helper_w1, e sha256_helper_w10, e sha256_helper_w11, e sha256_helper_w12, e sha256_helper_w13, e sha256_helper_w14, e sha256_helper_w15, e sha256_helper_w2, e sha256_helper_w3, e sha256_helper_w4, e sha256_helper_w5, e sha256_helper_w6, e sha256_helper_w7, e sha256_helper_w8, e sha256_helper_w9, e sha256_init_a, e sha256_init_b, e sha256_init_c, e sha256_init_d, e sha256_init_e, e sha256_init_f, e sha256_init_g, e sha256_init_h, e sha256_input_addr, e sha256_input_rounds_rem, e sha256_output_addr, e sha256_rounds_remaining, e sha256_sel, e sha256_sel_invalid_input_tag_err, e sha256_space_id, e sha256_start, e to_radix_acc, e to_radix_acc_under_p, e to_radix_limb, e to_radix_limb_eq_p, e to_radix_limb_index, e to_radix_limb_lt_p, e to_radix_mem_dst_addr, e to_radix_mem_execution_clk, e to_radix_mem_is_output_bits, e to_radix_mem_num_limbs, e to_radix_mem_radix, e to_radix_mem_sel, e to_radix_mem_sel_should_decompose, e to_radix_mem_sel_should_write_mem, e to_radix_mem_space_id, e to_radix_mem_start, e to_radix_mem_value_to_decompose, e to_radix_not_padding_limb, e to_radix_power, e to_radix_radix, e to_radix_safe_limbs, e to_radix_sel, e to_radix_start, e to_radix_value, e tx_da_gas_limit, e tx_discard, e tx_fee, e tx_is_revertible, e tx_is_teardown, e tx_l1_l2_tree_root, e tx_l1_l2_tree_size, e tx_l2_gas_limit, e tx_next_context_id, e tx_phase_value, e tx_prev_da_gas_used, e tx_prev_l2_gas_used, e tx_prev_note_hash_tree_root, e tx_prev_note_hash_tree_size, e tx_prev_nullifier_tree_root, e tx_prev_nullifier_tree_size, e tx_prev_num_l2_to_l1_messages, e tx_prev_num_note_hashes_emitted, e tx_prev_num_nullifiers_emitted, e tx_prev_num_public_log_fields, e tx_prev_public_data_tree_root, e tx_prev_public_data_tree_size, e tx_prev_retrieved_bytecodes_tree_root, e tx_prev_retrieved_bytecodes_tree_size, e tx_prev_written_public_data_slots_tree_root, e tx_prev_written_public_data_slots_tree_size, e tx_read_pi_offset, e tx_remaining_phase_counter, e tx_reverted, e tx_sel, e tx_start_phase, e tx_start_tx, e tx_tx_reverted +#define AVM2_DERIVED_WITNESS_ENTITIES_E(e) e perm_data_copy_mem_write_inv, e perm_data_copy_mem_read_inv, e perm_ecc_mem_write_mem_0_inv, e perm_ecc_mem_write_mem_1_inv, e perm_keccak_memory_slice_to_mem_inv, e perm_keccakf1600_read_to_slice_inv, e perm_keccakf1600_write_to_slice_inv, e perm_poseidon2_mem_pos_read_mem_0_inv, e perm_poseidon2_mem_pos_read_mem_1_inv, e perm_poseidon2_mem_pos_read_mem_2_inv, e perm_poseidon2_mem_pos_read_mem_3_inv, e perm_poseidon2_mem_pos_write_mem_0_inv, e perm_poseidon2_mem_pos_write_mem_1_inv, e perm_poseidon2_mem_pos_write_mem_2_inv, e perm_poseidon2_mem_pos_write_mem_3_inv, e perm_sha256_mem_mem_op_0_inv, e perm_sha256_mem_mem_op_1_inv, e perm_sha256_mem_mem_op_2_inv, e perm_sha256_mem_mem_op_3_inv, e perm_sha256_mem_mem_op_4_inv, e perm_sha256_mem_mem_op_5_inv, e perm_sha256_mem_mem_op_6_inv, e perm_sha256_mem_mem_op_7_inv, e perm_sha256_mem_mem_input_read_inv, e perm_to_radix_mem_write_mem_inv, e perm_bc_hashing_bytecode_length_bytes_inv, e perm_bc_hashing_get_packed_field_0_inv, e perm_bc_hashing_get_packed_field_1_inv, e perm_bc_hashing_get_packed_field_2_inv, e perm_public_data_check_squashing_inv, e perm_emit_public_log_read_mem_inv, e perm_get_contract_instance_mem_write_contract_instance_exists_inv, e perm_get_contract_instance_mem_write_contract_instance_member_inv, e perm_internal_call_push_call_stack_inv, e perm_context_ctx_stack_call_inv, e perm_addressing_base_address_from_memory_inv, e perm_addressing_indirect_from_memory_0_inv, e perm_addressing_indirect_from_memory_1_inv, e perm_addressing_indirect_from_memory_2_inv, e perm_addressing_indirect_from_memory_3_inv, e perm_addressing_indirect_from_memory_4_inv, e perm_addressing_indirect_from_memory_5_inv, e perm_addressing_indirect_from_memory_6_inv, e perm_registers_mem_op_0_inv, e perm_registers_mem_op_1_inv, e perm_registers_mem_op_2_inv, e perm_registers_mem_op_3_inv, e perm_registers_mem_op_4_inv, e perm_registers_mem_op_5_inv, e perm_sstore_storage_write_inv, e perm_execution_dispatch_to_cd_copy_inv, e perm_execution_dispatch_to_rd_copy_inv, e perm_execution_dispatch_to_get_contract_instance_inv, e perm_execution_dispatch_to_emit_public_log_inv, e perm_execution_dispatch_to_poseidon2_perm_inv, e perm_execution_dispatch_to_sha256_compression_inv, e perm_execution_dispatch_to_keccakf1600_inv, e perm_execution_dispatch_to_ecc_add_inv, e perm_execution_dispatch_to_to_radix_inv, e perm_calldata_hashing_check_final_size_inv, e perm_tx_read_calldata_hash_inv, e perm_tx_dispatch_exec_start_inv, e perm_tx_dispatch_exec_end_inv, e perm_tx_balance_update_inv, e lookup_range_check_dyn_rng_chk_pow_2_inv, e lookup_range_check_dyn_diff_is_u16_inv, e lookup_range_check_r0_is_u16_inv, e lookup_range_check_r1_is_u16_inv, e lookup_range_check_r2_is_u16_inv, e lookup_range_check_r3_is_u16_inv, e lookup_range_check_r4_is_u16_inv, e lookup_range_check_r5_is_u16_inv, e lookup_range_check_r6_is_u16_inv, e lookup_range_check_r7_is_u16_inv, e lookup_ff_gt_a_lo_range_inv, e lookup_ff_gt_a_hi_range_inv, e lookup_gt_gt_range_inv, e lookup_alu_tag_max_bits_value_inv, e lookup_alu_range_check_decomposition_a_lo_inv, e lookup_alu_range_check_decomposition_a_hi_inv, e lookup_alu_range_check_decomposition_b_lo_inv, e lookup_alu_range_check_decomposition_b_hi_inv, e lookup_alu_range_check_mul_c_hi_inv, e lookup_alu_range_check_div_remainder_inv, e lookup_alu_ff_gt_inv, e lookup_alu_int_gt_inv, e lookup_alu_shifts_two_pow_inv, e lookup_alu_large_trunc_canonical_dec_inv, e lookup_alu_range_check_trunc_mid_inv, e lookup_bitwise_integral_tag_length_inv, e lookup_bitwise_byte_operations_inv, e lookup_memory_range_check_limb_0_inv, e lookup_memory_range_check_limb_1_inv, e lookup_memory_range_check_limb_2_inv, e lookup_memory_tag_max_bits_inv, e lookup_memory_range_check_write_tagged_value_inv, e lookup_data_copy_offset_plus_size_is_gt_data_size_inv, e lookup_data_copy_check_src_addr_in_range_inv, e lookup_data_copy_check_dst_addr_in_range_inv, e lookup_data_copy_sel_has_reads_inv, e lookup_data_copy_col_read_inv, e lookup_ecc_mem_check_dst_addr_in_range_inv, e lookup_ecc_mem_input_output_ecc_add_inv, e lookup_keccakf1600_theta_xor_01_inv, e lookup_keccakf1600_theta_xor_02_inv, e lookup_keccakf1600_theta_xor_03_inv, e lookup_keccakf1600_theta_xor_row_0_inv, e lookup_keccakf1600_theta_xor_11_inv, e lookup_keccakf1600_theta_xor_12_inv, e lookup_keccakf1600_theta_xor_13_inv, e lookup_keccakf1600_theta_xor_row_1_inv, e lookup_keccakf1600_theta_xor_21_inv, e lookup_keccakf1600_theta_xor_22_inv, e lookup_keccakf1600_theta_xor_23_inv, e lookup_keccakf1600_theta_xor_row_2_inv, e lookup_keccakf1600_theta_xor_31_inv, e lookup_keccakf1600_theta_xor_32_inv, e lookup_keccakf1600_theta_xor_33_inv, e lookup_keccakf1600_theta_xor_row_3_inv, e lookup_keccakf1600_theta_xor_41_inv, e lookup_keccakf1600_theta_xor_42_inv, e lookup_keccakf1600_theta_xor_43_inv, e lookup_keccakf1600_theta_xor_row_4_inv, e lookup_keccakf1600_theta_combined_xor_0_inv, e lookup_keccakf1600_theta_combined_xor_1_inv, e lookup_keccakf1600_theta_combined_xor_2_inv, e lookup_keccakf1600_theta_combined_xor_3_inv, e lookup_keccakf1600_theta_combined_xor_4_inv, e lookup_keccakf1600_state_theta_00_inv, e lookup_keccakf1600_state_theta_01_inv, e lookup_keccakf1600_state_theta_02_inv, e lookup_keccakf1600_state_theta_03_inv, e lookup_keccakf1600_state_theta_04_inv, e lookup_keccakf1600_state_theta_10_inv, e lookup_keccakf1600_state_theta_11_inv, e lookup_keccakf1600_state_theta_12_inv, e lookup_keccakf1600_state_theta_13_inv, e lookup_keccakf1600_state_theta_14_inv, e lookup_keccakf1600_state_theta_20_inv, e lookup_keccakf1600_state_theta_21_inv, e lookup_keccakf1600_state_theta_22_inv, e lookup_keccakf1600_state_theta_23_inv, e lookup_keccakf1600_state_theta_24_inv, e lookup_keccakf1600_state_theta_30_inv, e lookup_keccakf1600_state_theta_31_inv, e lookup_keccakf1600_state_theta_32_inv, e lookup_keccakf1600_state_theta_33_inv, e lookup_keccakf1600_state_theta_34_inv, e lookup_keccakf1600_state_theta_40_inv, e lookup_keccakf1600_state_theta_41_inv, e lookup_keccakf1600_state_theta_42_inv, e lookup_keccakf1600_state_theta_43_inv, e lookup_keccakf1600_state_theta_44_inv, e lookup_keccakf1600_theta_limb_02_range_inv, e lookup_keccakf1600_theta_limb_04_range_inv, e lookup_keccakf1600_theta_limb_10_range_inv, e lookup_keccakf1600_theta_limb_12_range_inv, e lookup_keccakf1600_theta_limb_14_range_inv, e lookup_keccakf1600_theta_limb_21_range_inv, e lookup_keccakf1600_theta_limb_23_range_inv, e lookup_keccakf1600_theta_limb_30_range_inv, e lookup_keccakf1600_theta_limb_32_range_inv, e lookup_keccakf1600_theta_limb_33_range_inv, e lookup_keccakf1600_theta_limb_40_range_inv, e lookup_keccakf1600_theta_limb_41_range_inv, e lookup_keccakf1600_theta_limb_43_range_inv, e lookup_keccakf1600_theta_limb_44_range_inv, e lookup_keccakf1600_theta_limb_01_range_inv, e lookup_keccakf1600_theta_limb_03_range_inv, e lookup_keccakf1600_theta_limb_11_range_inv, e lookup_keccakf1600_theta_limb_13_range_inv, e lookup_keccakf1600_theta_limb_20_range_inv, e lookup_keccakf1600_theta_limb_22_range_inv, e lookup_keccakf1600_theta_limb_24_range_inv, e lookup_keccakf1600_theta_limb_31_range_inv, e lookup_keccakf1600_theta_limb_34_range_inv, e lookup_keccakf1600_theta_limb_42_range_inv, e lookup_keccakf1600_state_pi_and_00_inv, e lookup_keccakf1600_state_pi_and_01_inv, e lookup_keccakf1600_state_pi_and_02_inv, e lookup_keccakf1600_state_pi_and_03_inv, e lookup_keccakf1600_state_pi_and_04_inv, e lookup_keccakf1600_state_pi_and_10_inv, e lookup_keccakf1600_state_pi_and_11_inv, e lookup_keccakf1600_state_pi_and_12_inv, e lookup_keccakf1600_state_pi_and_13_inv, e lookup_keccakf1600_state_pi_and_14_inv, e lookup_keccakf1600_state_pi_and_20_inv, e lookup_keccakf1600_state_pi_and_21_inv, e lookup_keccakf1600_state_pi_and_22_inv, e lookup_keccakf1600_state_pi_and_23_inv, e lookup_keccakf1600_state_pi_and_24_inv, e lookup_keccakf1600_state_pi_and_30_inv, e lookup_keccakf1600_state_pi_and_31_inv, e lookup_keccakf1600_state_pi_and_32_inv, e lookup_keccakf1600_state_pi_and_33_inv, e lookup_keccakf1600_state_pi_and_34_inv, e lookup_keccakf1600_state_pi_and_40_inv, e lookup_keccakf1600_state_pi_and_41_inv, e lookup_keccakf1600_state_pi_and_42_inv, e lookup_keccakf1600_state_pi_and_43_inv, e lookup_keccakf1600_state_pi_and_44_inv, e lookup_keccakf1600_state_chi_00_inv, e lookup_keccakf1600_state_chi_01_inv, e lookup_keccakf1600_state_chi_02_inv, e lookup_keccakf1600_state_chi_03_inv, e lookup_keccakf1600_state_chi_04_inv, e lookup_keccakf1600_state_chi_10_inv, e lookup_keccakf1600_state_chi_11_inv, e lookup_keccakf1600_state_chi_12_inv, e lookup_keccakf1600_state_chi_13_inv, e lookup_keccakf1600_state_chi_14_inv, e lookup_keccakf1600_state_chi_20_inv, e lookup_keccakf1600_state_chi_21_inv, e lookup_keccakf1600_state_chi_22_inv, e lookup_keccakf1600_state_chi_23_inv, e lookup_keccakf1600_state_chi_24_inv, e lookup_keccakf1600_state_chi_30_inv, e lookup_keccakf1600_state_chi_31_inv, e lookup_keccakf1600_state_chi_32_inv, e lookup_keccakf1600_state_chi_33_inv, e lookup_keccakf1600_state_chi_34_inv, e lookup_keccakf1600_state_chi_40_inv, e lookup_keccakf1600_state_chi_41_inv, e lookup_keccakf1600_state_chi_42_inv, e lookup_keccakf1600_state_chi_43_inv, e lookup_keccakf1600_state_chi_44_inv, e lookup_keccakf1600_round_cst_inv, e lookup_keccakf1600_state_iota_00_inv, e lookup_keccakf1600_src_out_of_range_toggle_inv, e lookup_keccakf1600_dst_out_of_range_toggle_inv, e lookup_poseidon2_mem_check_src_addr_in_range_inv, e lookup_poseidon2_mem_check_dst_addr_in_range_inv, e lookup_poseidon2_mem_input_output_poseidon2_perm_inv, e lookup_to_radix_limb_range_inv, e lookup_to_radix_limb_less_than_radix_range_inv, e lookup_to_radix_fetch_safe_limbs_inv, e lookup_to_radix_fetch_p_limb_inv, e lookup_to_radix_limb_p_diff_range_inv, e lookup_scalar_mul_to_radix_inv, e lookup_scalar_mul_double_inv, e lookup_scalar_mul_add_inv, e lookup_sha256_range_comp_w_lhs_inv, e lookup_sha256_range_comp_w_rhs_inv, e lookup_sha256_range_rhs_w_7_inv, e lookup_sha256_range_rhs_w_18_inv, e lookup_sha256_range_rhs_w_3_inv, e lookup_sha256_w_s_0_xor_0_inv, e lookup_sha256_w_s_0_xor_1_inv, e lookup_sha256_range_rhs_w_17_inv, e lookup_sha256_range_rhs_w_19_inv, e lookup_sha256_range_rhs_w_10_inv, e lookup_sha256_w_s_1_xor_0_inv, e lookup_sha256_w_s_1_xor_1_inv, e lookup_sha256_range_rhs_e_6_inv, e lookup_sha256_range_rhs_e_11_inv, e lookup_sha256_range_rhs_e_25_inv, e lookup_sha256_s_1_xor_0_inv, e lookup_sha256_s_1_xor_1_inv, e lookup_sha256_ch_and_0_inv, e lookup_sha256_ch_and_1_inv, e lookup_sha256_ch_xor_inv, e lookup_sha256_round_constant_inv, e lookup_sha256_range_rhs_a_2_inv, e lookup_sha256_range_rhs_a_13_inv, e lookup_sha256_range_rhs_a_22_inv, e lookup_sha256_s_0_xor_0_inv, e lookup_sha256_s_0_xor_1_inv, e lookup_sha256_maj_and_0_inv, e lookup_sha256_maj_and_1_inv, e lookup_sha256_maj_and_2_inv, e lookup_sha256_maj_xor_0_inv, e lookup_sha256_maj_xor_1_inv, e lookup_sha256_range_comp_next_a_lhs_inv, e lookup_sha256_range_comp_next_a_rhs_inv, e lookup_sha256_range_comp_next_e_lhs_inv, e lookup_sha256_range_comp_next_e_rhs_inv, e lookup_sha256_range_comp_a_rhs_inv, e lookup_sha256_range_comp_b_rhs_inv, e lookup_sha256_range_comp_c_rhs_inv, e lookup_sha256_range_comp_d_rhs_inv, e lookup_sha256_range_comp_e_rhs_inv, e lookup_sha256_range_comp_f_rhs_inv, e lookup_sha256_range_comp_g_rhs_inv, e lookup_sha256_range_comp_h_rhs_inv, e lookup_sha256_mem_check_state_addr_in_range_inv, e lookup_sha256_mem_check_input_addr_in_range_inv, e lookup_sha256_mem_check_output_addr_in_range_inv, e lookup_to_radix_mem_check_dst_addr_in_range_inv, e lookup_to_radix_mem_check_radix_lt_2_inv, e lookup_to_radix_mem_check_radix_gt_256_inv, e lookup_to_radix_mem_input_output_to_radix_inv, e lookup_poseidon2_hash_poseidon2_perm_inv, e lookup_address_derivation_salted_initialization_hash_poseidon2_0_inv, e lookup_address_derivation_salted_initialization_hash_poseidon2_1_inv, e lookup_address_derivation_partial_address_poseidon2_inv, e lookup_address_derivation_ivpk_m_hash_poseidon2_inv, e lookup_address_derivation_public_keys_hash_poseidon2_0_inv, e lookup_address_derivation_public_keys_hash_poseidon2_1_inv, e lookup_address_derivation_preaddress_poseidon2_inv, e lookup_address_derivation_preaddress_scalar_mul_inv, e lookup_address_derivation_address_ecadd_inv, e lookup_bc_decomposition_bytes_are_bytes_inv, e lookup_bc_hashing_poseidon2_hash_inv, e lookup_merkle_check_merkle_poseidon2_read_inv, e lookup_merkle_check_merkle_poseidon2_write_inv, e lookup_indexed_tree_check_silo_poseidon2_inv, e lookup_indexed_tree_check_low_leaf_value_validation_inv, e lookup_indexed_tree_check_low_leaf_next_value_validation_inv, e lookup_indexed_tree_check_low_leaf_poseidon2_inv, e lookup_indexed_tree_check_updated_low_leaf_poseidon2_inv, e lookup_indexed_tree_check_low_leaf_merkle_check_inv, e lookup_indexed_tree_check_new_leaf_poseidon2_inv, e lookup_indexed_tree_check_new_leaf_merkle_check_inv, e lookup_indexed_tree_check_write_value_to_public_inputs_inv, e lookup_public_data_squash_leaf_slot_increase_ff_gt_inv, e lookup_public_data_squash_clk_diff_range_lo_inv, e lookup_public_data_squash_clk_diff_range_hi_inv, e lookup_public_data_check_clk_diff_range_lo_inv, e lookup_public_data_check_clk_diff_range_hi_inv, e lookup_public_data_check_silo_poseidon2_inv, e lookup_public_data_check_low_leaf_slot_validation_inv, e lookup_public_data_check_low_leaf_next_slot_validation_inv, e lookup_public_data_check_low_leaf_poseidon2_0_inv, e lookup_public_data_check_low_leaf_poseidon2_1_inv, e lookup_public_data_check_updated_low_leaf_poseidon2_0_inv, e lookup_public_data_check_updated_low_leaf_poseidon2_1_inv, e lookup_public_data_check_low_leaf_merkle_check_inv, e lookup_public_data_check_new_leaf_poseidon2_0_inv, e lookup_public_data_check_new_leaf_poseidon2_1_inv, e lookup_public_data_check_new_leaf_merkle_check_inv, e lookup_public_data_check_write_public_data_to_public_inputs_inv, e lookup_public_data_check_write_writes_length_to_public_inputs_inv, e lookup_update_check_timestamp_from_public_inputs_inv, e lookup_update_check_delayed_public_mutable_slot_poseidon2_inv, e lookup_update_check_update_hash_public_data_read_inv, e lookup_update_check_update_hash_poseidon2_inv, e lookup_update_check_update_hi_metadata_range_inv, e lookup_update_check_update_lo_metadata_range_inv, e lookup_update_check_timestamp_is_lt_timestamp_of_change_inv, e lookup_contract_instance_retrieval_check_protocol_address_range_inv, e lookup_contract_instance_retrieval_read_derived_address_from_public_inputs_inv, e lookup_contract_instance_retrieval_deployment_nullifier_read_inv, e lookup_contract_instance_retrieval_address_derivation_inv, e lookup_contract_instance_retrieval_update_check_inv, e lookup_class_id_derivation_class_id_poseidon2_0_inv, e lookup_class_id_derivation_class_id_poseidon2_1_inv, e lookup_bc_retrieval_contract_instance_retrieval_inv, e lookup_bc_retrieval_class_id_derivation_inv, e lookup_bc_retrieval_is_new_class_check_inv, e lookup_bc_retrieval_retrieved_bytecodes_insertion_inv, e lookup_instr_fetching_pc_abs_diff_positive_inv, e lookup_instr_fetching_instr_abs_diff_positive_inv, e lookup_instr_fetching_tag_value_validation_inv, e lookup_instr_fetching_bytecode_size_from_bc_dec_inv, e lookup_instr_fetching_bytes_from_bc_dec_inv, e lookup_instr_fetching_wire_instruction_info_inv, e lookup_emit_public_log_check_memory_out_of_bounds_inv, e lookup_emit_public_log_check_log_fields_count_inv, e lookup_emit_public_log_write_data_to_public_inputs_inv, e lookup_get_contract_instance_precomputed_info_inv, e lookup_get_contract_instance_contract_instance_retrieval_inv, e lookup_l1_to_l2_message_tree_check_merkle_check_inv, e lookup_internal_call_unwind_call_stack_inv, e lookup_context_ctx_stack_rollback_inv, e lookup_context_ctx_stack_return_inv, e lookup_addressing_relative_overflow_result_0_inv, e lookup_addressing_relative_overflow_result_1_inv, e lookup_addressing_relative_overflow_result_2_inv, e lookup_addressing_relative_overflow_result_3_inv, e lookup_addressing_relative_overflow_result_4_inv, e lookup_addressing_relative_overflow_result_5_inv, e lookup_addressing_relative_overflow_result_6_inv, e lookup_gas_addressing_gas_read_inv, e lookup_gas_is_out_of_gas_l2_inv, e lookup_gas_is_out_of_gas_da_inv, e lookup_note_hash_tree_check_silo_poseidon2_inv, e lookup_note_hash_tree_check_read_first_nullifier_inv, e lookup_note_hash_tree_check_nonce_computation_poseidon2_inv, e lookup_note_hash_tree_check_unique_note_hash_poseidon2_inv, e lookup_note_hash_tree_check_merkle_check_inv, e lookup_note_hash_tree_check_write_note_hash_to_public_inputs_inv, e lookup_emit_notehash_notehash_tree_write_inv, e lookup_emit_nullifier_write_nullifier_inv, e lookup_external_call_is_l2_gas_left_gt_allocated_inv, e lookup_external_call_is_da_gas_left_gt_allocated_inv, e lookup_get_env_var_precomputed_info_inv, e lookup_get_env_var_read_from_public_inputs_col0_inv, e lookup_get_env_var_read_from_public_inputs_col1_inv, e lookup_l1_to_l2_message_exists_l1_to_l2_msg_leaf_index_in_range_inv, e lookup_l1_to_l2_message_exists_l1_to_l2_msg_read_inv, e lookup_notehash_exists_note_hash_leaf_index_in_range_inv, e lookup_notehash_exists_note_hash_read_inv, e lookup_nullifier_exists_nullifier_exists_check_inv, e lookup_send_l2_to_l1_msg_recipient_check_inv, e lookup_send_l2_to_l1_msg_write_l2_to_l1_msg_inv, e lookup_sload_storage_read_inv, e lookup_sstore_record_written_storage_slot_inv, e lookup_execution_bytecode_retrieval_result_inv, e lookup_execution_instruction_fetching_result_inv, e lookup_execution_instruction_fetching_body_inv, e lookup_execution_exec_spec_read_inv, e lookup_execution_dyn_l2_factor_bitwise_inv, e lookup_execution_check_radix_gt_256_inv, e lookup_execution_get_p_limbs_inv, e lookup_execution_get_max_limbs_inv, e lookup_execution_check_written_storage_slot_inv, e lookup_execution_dispatch_to_alu_inv, e lookup_execution_dispatch_to_bitwise_inv, e lookup_execution_dispatch_to_cast_inv, e lookup_execution_dispatch_to_set_inv, e lookup_calldata_hashing_get_calldata_field_0_inv, e lookup_calldata_hashing_get_calldata_field_1_inv, e lookup_calldata_hashing_get_calldata_field_2_inv, e lookup_calldata_hashing_poseidon2_hash_inv, e lookup_tx_context_public_inputs_note_hash_tree_inv, e lookup_tx_context_public_inputs_nullifier_tree_inv, e lookup_tx_context_public_inputs_public_data_tree_inv, e lookup_tx_context_public_inputs_l1_l2_tree_inv, e lookup_tx_context_public_inputs_gas_used_inv, e lookup_tx_context_public_inputs_read_gas_limit_inv, e lookup_tx_context_public_inputs_read_reverted_inv, e lookup_tx_context_restore_state_on_revert_inv, e lookup_tx_context_public_inputs_write_note_hash_count_inv, e lookup_tx_context_public_inputs_write_nullifier_count_inv, e lookup_tx_context_public_inputs_write_l2_to_l1_message_count_inv, e lookup_tx_context_public_inputs_write_public_log_count_inv, e lookup_tx_read_phase_spec_inv, e lookup_tx_read_phase_length_inv, e lookup_tx_read_public_call_request_phase_inv, e lookup_tx_read_tree_insert_value_inv, e lookup_tx_note_hash_append_inv, e lookup_tx_nullifier_append_inv, e lookup_tx_read_l2_l1_msg_inv, e lookup_tx_write_l2_l1_msg_inv, e lookup_tx_read_effective_fee_public_inputs_inv, e lookup_tx_read_fee_payer_public_inputs_inv, e lookup_tx_balance_slot_poseidon2_inv, e lookup_tx_balance_read_inv, e lookup_tx_balance_validation_inv, e lookup_tx_write_fee_public_inputs_inv #define AVM2_SHIFTED_ENTITIES_E(e) e bc_decomposition_bytes_shift, e bc_decomposition_bytes_pc_plus_1_shift, e bc_decomposition_bytes_pc_plus_10_shift, e bc_decomposition_bytes_pc_plus_11_shift, e bc_decomposition_bytes_pc_plus_12_shift, e bc_decomposition_bytes_pc_plus_13_shift, e bc_decomposition_bytes_pc_plus_14_shift, e bc_decomposition_bytes_pc_plus_15_shift, e bc_decomposition_bytes_pc_plus_16_shift, e bc_decomposition_bytes_pc_plus_17_shift, e bc_decomposition_bytes_pc_plus_18_shift, e bc_decomposition_bytes_pc_plus_19_shift, e bc_decomposition_bytes_pc_plus_2_shift, e bc_decomposition_bytes_pc_plus_20_shift, e bc_decomposition_bytes_pc_plus_21_shift, e bc_decomposition_bytes_pc_plus_22_shift, e bc_decomposition_bytes_pc_plus_23_shift, e bc_decomposition_bytes_pc_plus_24_shift, e bc_decomposition_bytes_pc_plus_25_shift, e bc_decomposition_bytes_pc_plus_26_shift, e bc_decomposition_bytes_pc_plus_27_shift, e bc_decomposition_bytes_pc_plus_28_shift, e bc_decomposition_bytes_pc_plus_29_shift, e bc_decomposition_bytes_pc_plus_3_shift, e bc_decomposition_bytes_pc_plus_30_shift, e bc_decomposition_bytes_pc_plus_31_shift, e bc_decomposition_bytes_pc_plus_32_shift, e bc_decomposition_bytes_pc_plus_33_shift, e bc_decomposition_bytes_pc_plus_34_shift, e bc_decomposition_bytes_pc_plus_35_shift, e bc_decomposition_bytes_pc_plus_4_shift, e bc_decomposition_bytes_pc_plus_5_shift, e bc_decomposition_bytes_pc_plus_6_shift, e bc_decomposition_bytes_pc_plus_7_shift, e bc_decomposition_bytes_pc_plus_8_shift, e bc_decomposition_bytes_pc_plus_9_shift, e bc_decomposition_bytes_remaining_shift, e bc_decomposition_id_shift, e bc_decomposition_next_packed_pc_shift, e bc_decomposition_pc_shift, e bc_decomposition_sel_shift, e bc_decomposition_sel_windows_gt_remaining_shift, e bc_decomposition_start_shift, e bc_hashing_bytecode_id_shift, e bc_hashing_padding_shift, e bc_hashing_pc_index_1_shift, e bc_hashing_rounds_rem_shift, e bc_hashing_sel_shift, e bc_hashing_sel_not_start_shift, e bc_hashing_start_shift, e bitwise_acc_ia_shift, e bitwise_acc_ib_shift, e bitwise_acc_ic_shift, e bitwise_ctr_shift, e bitwise_op_id_shift, e bitwise_sel_shift, e bitwise_start_shift, e calldata_context_id_shift, e calldata_hashing_calldata_size_shift, e calldata_hashing_context_id_shift, e calldata_hashing_index_0__shift, e calldata_hashing_output_hash_shift, e calldata_hashing_rounds_rem_shift, e calldata_hashing_sel_shift, e calldata_hashing_start_shift, e calldata_index_shift, e calldata_sel_shift, e data_copy_clk_shift, e data_copy_copy_size_shift, e data_copy_dst_addr_shift, e data_copy_dst_context_id_shift, e data_copy_padding_shift, e data_copy_read_addr_shift, e data_copy_reads_left_shift, e data_copy_sel_shift, e data_copy_sel_cd_copy_shift, e data_copy_src_context_id_shift, e data_copy_start_shift, e emit_public_log_contract_address_shift, e emit_public_log_correct_tag_shift, e emit_public_log_error_out_of_bounds_shift, e emit_public_log_error_tag_mismatch_shift, e emit_public_log_execution_clk_shift, e emit_public_log_is_write_contract_address_shift, e emit_public_log_is_write_memory_value_shift, e emit_public_log_log_address_shift, e emit_public_log_public_inputs_index_shift, e emit_public_log_remaining_rows_shift, e emit_public_log_seen_wrong_tag_shift, e emit_public_log_sel_shift, e emit_public_log_sel_write_to_public_inputs_shift, e emit_public_log_space_id_shift, e emit_public_log_start_shift, e execution_bytecode_id_shift, e execution_clk_shift, e execution_context_id_shift, e execution_contract_address_shift, e execution_da_gas_limit_shift, e execution_discard_shift, e execution_dying_context_id_shift, e execution_enqueued_call_start_shift, e execution_internal_call_id_shift, e execution_internal_call_return_id_shift, e execution_is_static_shift, e execution_l1_l2_tree_root_shift, e execution_l2_gas_limit_shift, e execution_last_child_id_shift, e execution_last_child_returndata_addr_shift, e execution_last_child_returndata_size_shift, e execution_last_child_success_shift, e execution_msg_sender_shift, e execution_next_context_id_shift, e execution_next_internal_call_id_shift, e execution_parent_calldata_addr_shift, e execution_parent_calldata_size_shift, e execution_parent_da_gas_limit_shift, e execution_parent_da_gas_used_shift, e execution_parent_id_shift, e execution_parent_l2_gas_limit_shift, e execution_parent_l2_gas_used_shift, e execution_pc_shift, e execution_prev_da_gas_used_shift, e execution_prev_l2_gas_used_shift, e execution_prev_note_hash_tree_root_shift, e execution_prev_note_hash_tree_size_shift, e execution_prev_nullifier_tree_root_shift, e execution_prev_nullifier_tree_size_shift, e execution_prev_num_l2_to_l1_messages_shift, e execution_prev_num_note_hashes_emitted_shift, e execution_prev_num_nullifiers_emitted_shift, e execution_prev_num_public_log_fields_shift, e execution_prev_public_data_tree_root_shift, e execution_prev_public_data_tree_size_shift, e execution_prev_retrieved_bytecodes_tree_root_shift, e execution_prev_retrieved_bytecodes_tree_size_shift, e execution_prev_written_public_data_slots_tree_root_shift, e execution_prev_written_public_data_slots_tree_size_shift, e execution_sel_shift, e execution_sel_first_row_in_context_shift, e execution_transaction_fee_shift, e ff_gt_a_hi_shift, e ff_gt_a_lo_shift, e ff_gt_b_hi_shift, e ff_gt_b_lo_shift, e ff_gt_cmp_rng_ctr_shift, e ff_gt_p_sub_a_hi_shift, e ff_gt_p_sub_a_lo_shift, e ff_gt_p_sub_b_hi_shift, e ff_gt_p_sub_b_lo_shift, e ff_gt_sel_shift, e ff_gt_sel_dec_shift, e ff_gt_sel_gt_shift, e keccak_memory_addr_shift, e keccak_memory_clk_shift, e keccak_memory_ctr_shift, e keccak_memory_rw_shift, e keccak_memory_sel_shift, e keccak_memory_space_id_shift, e keccak_memory_start_read_shift, e keccak_memory_start_write_shift, e keccak_memory_tag_error_shift, e keccak_memory_val_0__shift, e keccak_memory_val_10__shift, e keccak_memory_val_11__shift, e keccak_memory_val_12__shift, e keccak_memory_val_13__shift, e keccak_memory_val_14__shift, e keccak_memory_val_15__shift, e keccak_memory_val_16__shift, e keccak_memory_val_17__shift, e keccak_memory_val_18__shift, e keccak_memory_val_19__shift, e keccak_memory_val_1__shift, e keccak_memory_val_20__shift, e keccak_memory_val_21__shift, e keccak_memory_val_22__shift, e keccak_memory_val_23__shift, e keccak_memory_val_2__shift, e keccak_memory_val_3__shift, e keccak_memory_val_4__shift, e keccak_memory_val_5__shift, e keccak_memory_val_6__shift, e keccak_memory_val_7__shift, e keccak_memory_val_8__shift, e keccak_memory_val_9__shift, e keccakf1600_clk_shift, e keccakf1600_dst_addr_shift, e keccakf1600_round_shift, e keccakf1600_sel_shift, e keccakf1600_sel_no_error_shift, e keccakf1600_space_id_shift, e keccakf1600_start_shift, e keccakf1600_state_in_00_shift, e keccakf1600_state_in_01_shift, e keccakf1600_state_in_02_shift, e keccakf1600_state_in_03_shift, e keccakf1600_state_in_04_shift, e keccakf1600_state_in_10_shift, e keccakf1600_state_in_11_shift, e keccakf1600_state_in_12_shift, e keccakf1600_state_in_13_shift, e keccakf1600_state_in_14_shift, e keccakf1600_state_in_20_shift, e keccakf1600_state_in_21_shift, e keccakf1600_state_in_22_shift, e keccakf1600_state_in_23_shift, e keccakf1600_state_in_24_shift, e keccakf1600_state_in_30_shift, e keccakf1600_state_in_31_shift, e keccakf1600_state_in_32_shift, e keccakf1600_state_in_33_shift, e keccakf1600_state_in_34_shift, e keccakf1600_state_in_40_shift, e keccakf1600_state_in_41_shift, e keccakf1600_state_in_42_shift, e keccakf1600_state_in_43_shift, e keccakf1600_state_in_44_shift, e memory_address_shift, e memory_clk_shift, e memory_rw_shift, e memory_sel_shift, e memory_space_id_shift, e memory_tag_shift, e memory_value_shift, e merkle_check_index_shift, e merkle_check_merkle_hash_separator_shift, e merkle_check_path_len_shift, e merkle_check_read_node_shift, e merkle_check_read_root_shift, e merkle_check_sel_shift, e merkle_check_start_shift, e merkle_check_write_shift, e merkle_check_write_node_shift, e merkle_check_write_root_shift, e poseidon2_hash_a_0_shift, e poseidon2_hash_a_1_shift, e poseidon2_hash_a_2_shift, e poseidon2_hash_a_3_shift, e poseidon2_hash_input_0_shift, e poseidon2_hash_input_1_shift, e poseidon2_hash_input_2_shift, e poseidon2_hash_num_perm_rounds_rem_shift, e poseidon2_hash_output_shift, e poseidon2_hash_sel_shift, e poseidon2_hash_start_shift, e public_data_check_clk_shift, e public_data_check_sel_shift, e public_data_check_write_idx_shift, e public_data_squash_clk_shift, e public_data_squash_final_value_shift, e public_data_squash_leaf_slot_shift, e public_data_squash_sel_shift, e public_data_squash_write_to_public_inputs_shift, e scalar_mul_bit_idx_shift, e scalar_mul_point_inf_shift, e scalar_mul_point_x_shift, e scalar_mul_point_y_shift, e scalar_mul_res_inf_shift, e scalar_mul_res_x_shift, e scalar_mul_res_y_shift, e scalar_mul_scalar_shift, e scalar_mul_sel_shift, e scalar_mul_start_shift, e scalar_mul_temp_inf_shift, e scalar_mul_temp_x_shift, e scalar_mul_temp_y_shift, e sha256_a_shift, e sha256_b_shift, e sha256_c_shift, e sha256_d_shift, e sha256_e_shift, e sha256_execution_clk_shift, e sha256_f_shift, e sha256_g_shift, e sha256_h_shift, e sha256_helper_w0_shift, e sha256_helper_w1_shift, e sha256_helper_w10_shift, e sha256_helper_w11_shift, e sha256_helper_w12_shift, e sha256_helper_w13_shift, e sha256_helper_w14_shift, e sha256_helper_w15_shift, e sha256_helper_w2_shift, e sha256_helper_w3_shift, e sha256_helper_w4_shift, e sha256_helper_w5_shift, e sha256_helper_w6_shift, e sha256_helper_w7_shift, e sha256_helper_w8_shift, e sha256_helper_w9_shift, e sha256_init_a_shift, e sha256_init_b_shift, e sha256_init_c_shift, e sha256_init_d_shift, e sha256_init_e_shift, e sha256_init_f_shift, e sha256_init_g_shift, e sha256_init_h_shift, e sha256_input_addr_shift, e sha256_input_rounds_rem_shift, e sha256_output_addr_shift, e sha256_rounds_remaining_shift, e sha256_sel_shift, e sha256_sel_invalid_input_tag_err_shift, e sha256_space_id_shift, e sha256_start_shift, e to_radix_acc_shift, e to_radix_acc_under_p_shift, e to_radix_limb_shift, e to_radix_limb_eq_p_shift, e to_radix_limb_index_shift, e to_radix_limb_lt_p_shift, e to_radix_mem_dst_addr_shift, e to_radix_mem_execution_clk_shift, e to_radix_mem_is_output_bits_shift, e to_radix_mem_num_limbs_shift, e to_radix_mem_radix_shift, e to_radix_mem_sel_shift, e to_radix_mem_sel_should_decompose_shift, e to_radix_mem_sel_should_write_mem_shift, e to_radix_mem_space_id_shift, e to_radix_mem_start_shift, e to_radix_mem_value_to_decompose_shift, e to_radix_not_padding_limb_shift, e to_radix_power_shift, e to_radix_radix_shift, e to_radix_safe_limbs_shift, e to_radix_sel_shift, e to_radix_start_shift, e to_radix_value_shift, e tx_da_gas_limit_shift, e tx_discard_shift, e tx_fee_shift, e tx_is_revertible_shift, e tx_is_teardown_shift, e tx_l1_l2_tree_root_shift, e tx_l1_l2_tree_size_shift, e tx_l2_gas_limit_shift, e tx_next_context_id_shift, e tx_phase_value_shift, e tx_prev_da_gas_used_shift, e tx_prev_l2_gas_used_shift, e tx_prev_note_hash_tree_root_shift, e tx_prev_note_hash_tree_size_shift, e tx_prev_nullifier_tree_root_shift, e tx_prev_nullifier_tree_size_shift, e tx_prev_num_l2_to_l1_messages_shift, e tx_prev_num_note_hashes_emitted_shift, e tx_prev_num_nullifiers_emitted_shift, e tx_prev_num_public_log_fields_shift, e tx_prev_public_data_tree_root_shift, e tx_prev_public_data_tree_size_shift, e tx_prev_retrieved_bytecodes_tree_root_shift, e tx_prev_retrieved_bytecodes_tree_size_shift, e tx_prev_written_public_data_slots_tree_root_shift, e tx_prev_written_public_data_slots_tree_size_shift, e tx_read_pi_offset_shift, e tx_remaining_phase_counter_shift, e tx_reverted_shift, e tx_sel_shift, e tx_start_phase_shift, e tx_start_tx_shift, e tx_tx_reverted_shift #define AVM2_TO_BE_SHIFTED_E(e) e bc_decomposition_bytes, e bc_decomposition_bytes_pc_plus_1, e bc_decomposition_bytes_pc_plus_10, e bc_decomposition_bytes_pc_plus_11, e bc_decomposition_bytes_pc_plus_12, e bc_decomposition_bytes_pc_plus_13, e bc_decomposition_bytes_pc_plus_14, e bc_decomposition_bytes_pc_plus_15, e bc_decomposition_bytes_pc_plus_16, e bc_decomposition_bytes_pc_plus_17, e bc_decomposition_bytes_pc_plus_18, e bc_decomposition_bytes_pc_plus_19, e bc_decomposition_bytes_pc_plus_2, e bc_decomposition_bytes_pc_plus_20, e bc_decomposition_bytes_pc_plus_21, e bc_decomposition_bytes_pc_plus_22, e bc_decomposition_bytes_pc_plus_23, e bc_decomposition_bytes_pc_plus_24, e bc_decomposition_bytes_pc_plus_25, e bc_decomposition_bytes_pc_plus_26, e bc_decomposition_bytes_pc_plus_27, e bc_decomposition_bytes_pc_plus_28, e bc_decomposition_bytes_pc_plus_29, e bc_decomposition_bytes_pc_plus_3, e bc_decomposition_bytes_pc_plus_30, e bc_decomposition_bytes_pc_plus_31, e bc_decomposition_bytes_pc_plus_32, e bc_decomposition_bytes_pc_plus_33, e bc_decomposition_bytes_pc_plus_34, e bc_decomposition_bytes_pc_plus_35, e bc_decomposition_bytes_pc_plus_4, e bc_decomposition_bytes_pc_plus_5, e bc_decomposition_bytes_pc_plus_6, e bc_decomposition_bytes_pc_plus_7, e bc_decomposition_bytes_pc_plus_8, e bc_decomposition_bytes_pc_plus_9, e bc_decomposition_bytes_remaining, e bc_decomposition_id, e bc_decomposition_next_packed_pc, e bc_decomposition_pc, e bc_decomposition_sel, e bc_decomposition_sel_windows_gt_remaining, e bc_decomposition_start, e bc_hashing_bytecode_id, e bc_hashing_padding, e bc_hashing_pc_index_1, e bc_hashing_rounds_rem, e bc_hashing_sel, e bc_hashing_sel_not_start, e bc_hashing_start, e bitwise_acc_ia, e bitwise_acc_ib, e bitwise_acc_ic, e bitwise_ctr, e bitwise_op_id, e bitwise_sel, e bitwise_start, e calldata_context_id, e calldata_hashing_calldata_size, e calldata_hashing_context_id, e calldata_hashing_index_0_, e calldata_hashing_output_hash, e calldata_hashing_rounds_rem, e calldata_hashing_sel, e calldata_hashing_start, e calldata_index, e calldata_sel, e data_copy_clk, e data_copy_copy_size, e data_copy_dst_addr, e data_copy_dst_context_id, e data_copy_padding, e data_copy_read_addr, e data_copy_reads_left, e data_copy_sel, e data_copy_sel_cd_copy, e data_copy_src_context_id, e data_copy_start, e emit_public_log_contract_address, e emit_public_log_correct_tag, e emit_public_log_error_out_of_bounds, e emit_public_log_error_tag_mismatch, e emit_public_log_execution_clk, e emit_public_log_is_write_contract_address, e emit_public_log_is_write_memory_value, e emit_public_log_log_address, e emit_public_log_public_inputs_index, e emit_public_log_remaining_rows, e emit_public_log_seen_wrong_tag, e emit_public_log_sel, e emit_public_log_sel_write_to_public_inputs, e emit_public_log_space_id, e emit_public_log_start, e execution_bytecode_id, e execution_clk, e execution_context_id, e execution_contract_address, e execution_da_gas_limit, e execution_discard, e execution_dying_context_id, e execution_enqueued_call_start, e execution_internal_call_id, e execution_internal_call_return_id, e execution_is_static, e execution_l1_l2_tree_root, e execution_l2_gas_limit, e execution_last_child_id, e execution_last_child_returndata_addr, e execution_last_child_returndata_size, e execution_last_child_success, e execution_msg_sender, e execution_next_context_id, e execution_next_internal_call_id, e execution_parent_calldata_addr, e execution_parent_calldata_size, e execution_parent_da_gas_limit, e execution_parent_da_gas_used, e execution_parent_id, e execution_parent_l2_gas_limit, e execution_parent_l2_gas_used, e execution_pc, e execution_prev_da_gas_used, e execution_prev_l2_gas_used, e execution_prev_note_hash_tree_root, e execution_prev_note_hash_tree_size, e execution_prev_nullifier_tree_root, e execution_prev_nullifier_tree_size, e execution_prev_num_l2_to_l1_messages, e execution_prev_num_note_hashes_emitted, e execution_prev_num_nullifiers_emitted, e execution_prev_num_public_log_fields, e execution_prev_public_data_tree_root, e execution_prev_public_data_tree_size, e execution_prev_retrieved_bytecodes_tree_root, e execution_prev_retrieved_bytecodes_tree_size, e execution_prev_written_public_data_slots_tree_root, e execution_prev_written_public_data_slots_tree_size, e execution_sel, e execution_sel_first_row_in_context, e execution_transaction_fee, e ff_gt_a_hi, e ff_gt_a_lo, e ff_gt_b_hi, e ff_gt_b_lo, e ff_gt_cmp_rng_ctr, e ff_gt_p_sub_a_hi, e ff_gt_p_sub_a_lo, e ff_gt_p_sub_b_hi, e ff_gt_p_sub_b_lo, e ff_gt_sel, e ff_gt_sel_dec, e ff_gt_sel_gt, e keccak_memory_addr, e keccak_memory_clk, e keccak_memory_ctr, e keccak_memory_rw, e keccak_memory_sel, e keccak_memory_space_id, e keccak_memory_start_read, e keccak_memory_start_write, e keccak_memory_tag_error, e keccak_memory_val_0_, e keccak_memory_val_10_, e keccak_memory_val_11_, e keccak_memory_val_12_, e keccak_memory_val_13_, e keccak_memory_val_14_, e keccak_memory_val_15_, e keccak_memory_val_16_, e keccak_memory_val_17_, e keccak_memory_val_18_, e keccak_memory_val_19_, e keccak_memory_val_1_, e keccak_memory_val_20_, e keccak_memory_val_21_, e keccak_memory_val_22_, e keccak_memory_val_23_, e keccak_memory_val_2_, e keccak_memory_val_3_, e keccak_memory_val_4_, e keccak_memory_val_5_, e keccak_memory_val_6_, e keccak_memory_val_7_, e keccak_memory_val_8_, e keccak_memory_val_9_, e keccakf1600_clk, e keccakf1600_dst_addr, e keccakf1600_round, e keccakf1600_sel, e keccakf1600_sel_no_error, e keccakf1600_space_id, e keccakf1600_start, e keccakf1600_state_in_00, e keccakf1600_state_in_01, e keccakf1600_state_in_02, e keccakf1600_state_in_03, e keccakf1600_state_in_04, e keccakf1600_state_in_10, e keccakf1600_state_in_11, e keccakf1600_state_in_12, e keccakf1600_state_in_13, e keccakf1600_state_in_14, e keccakf1600_state_in_20, e keccakf1600_state_in_21, e keccakf1600_state_in_22, e keccakf1600_state_in_23, e keccakf1600_state_in_24, e keccakf1600_state_in_30, e keccakf1600_state_in_31, e keccakf1600_state_in_32, e keccakf1600_state_in_33, e keccakf1600_state_in_34, e keccakf1600_state_in_40, e keccakf1600_state_in_41, e keccakf1600_state_in_42, e keccakf1600_state_in_43, e keccakf1600_state_in_44, e memory_address, e memory_clk, e memory_rw, e memory_sel, e memory_space_id, e memory_tag, e memory_value, e merkle_check_index, e merkle_check_merkle_hash_separator, e merkle_check_path_len, e merkle_check_read_node, e merkle_check_read_root, e merkle_check_sel, e merkle_check_start, e merkle_check_write, e merkle_check_write_node, e merkle_check_write_root, e poseidon2_hash_a_0, e poseidon2_hash_a_1, e poseidon2_hash_a_2, e poseidon2_hash_a_3, e poseidon2_hash_input_0, e poseidon2_hash_input_1, e poseidon2_hash_input_2, e poseidon2_hash_num_perm_rounds_rem, e poseidon2_hash_output, e poseidon2_hash_sel, e poseidon2_hash_start, e public_data_check_clk, e public_data_check_sel, e public_data_check_write_idx, e public_data_squash_clk, e public_data_squash_final_value, e public_data_squash_leaf_slot, e public_data_squash_sel, e public_data_squash_write_to_public_inputs, e scalar_mul_bit_idx, e scalar_mul_point_inf, e scalar_mul_point_x, e scalar_mul_point_y, e scalar_mul_res_inf, e scalar_mul_res_x, e scalar_mul_res_y, e scalar_mul_scalar, e scalar_mul_sel, e scalar_mul_start, e scalar_mul_temp_inf, e scalar_mul_temp_x, e scalar_mul_temp_y, e sha256_a, e sha256_b, e sha256_c, e sha256_d, e sha256_e, e sha256_execution_clk, e sha256_f, e sha256_g, e sha256_h, e sha256_helper_w0, e sha256_helper_w1, e sha256_helper_w10, e sha256_helper_w11, e sha256_helper_w12, e sha256_helper_w13, e sha256_helper_w14, e sha256_helper_w15, e sha256_helper_w2, e sha256_helper_w3, e sha256_helper_w4, e sha256_helper_w5, e sha256_helper_w6, e sha256_helper_w7, e sha256_helper_w8, e sha256_helper_w9, e sha256_init_a, e sha256_init_b, e sha256_init_c, e sha256_init_d, e sha256_init_e, e sha256_init_f, e sha256_init_g, e sha256_init_h, e sha256_input_addr, e sha256_input_rounds_rem, e sha256_output_addr, e sha256_rounds_remaining, e sha256_sel, e sha256_sel_invalid_input_tag_err, e sha256_space_id, e sha256_start, e to_radix_acc, e to_radix_acc_under_p, e to_radix_limb, e to_radix_limb_eq_p, e to_radix_limb_index, e to_radix_limb_lt_p, e to_radix_mem_dst_addr, e to_radix_mem_execution_clk, e to_radix_mem_is_output_bits, e to_radix_mem_num_limbs, e to_radix_mem_radix, e to_radix_mem_sel, e to_radix_mem_sel_should_decompose, e to_radix_mem_sel_should_write_mem, e to_radix_mem_space_id, e to_radix_mem_start, e to_radix_mem_value_to_decompose, e to_radix_not_padding_limb, e to_radix_power, e to_radix_radix, e to_radix_safe_limbs, e to_radix_sel, e to_radix_start, e to_radix_value, e tx_da_gas_limit, e tx_discard, e tx_fee, e tx_is_revertible, e tx_is_teardown, e tx_l1_l2_tree_root, e tx_l1_l2_tree_size, e tx_l2_gas_limit, e tx_next_context_id, e tx_phase_value, e tx_prev_da_gas_used, e tx_prev_l2_gas_used, e tx_prev_note_hash_tree_root, e tx_prev_note_hash_tree_size, e tx_prev_nullifier_tree_root, e tx_prev_nullifier_tree_size, e tx_prev_num_l2_to_l1_messages, e tx_prev_num_note_hashes_emitted, e tx_prev_num_nullifiers_emitted, e tx_prev_num_public_log_fields, e tx_prev_public_data_tree_root, e tx_prev_public_data_tree_size, e tx_prev_retrieved_bytecodes_tree_root, e tx_prev_retrieved_bytecodes_tree_size, e tx_prev_written_public_data_slots_tree_root, e tx_prev_written_public_data_slots_tree_size, e tx_read_pi_offset, e tx_remaining_phase_counter, e tx_reverted, e tx_sel, e tx_start_phase, e tx_start_tx, e tx_tx_reverted #define AVM2_ALL_ENTITIES_E(e) AVM2_PRECOMPUTED_ENTITIES_E(e), AVM2_WIRE_ENTITIES_E(e), AVM2_DERIVED_WITNESS_ENTITIES_E(e), AVM2_SHIFTED_ENTITIES_E(e) @@ -36,16 +36,16 @@ enum class ColumnAndShifts { SENTINEL_DO_NOT_USE, }; -constexpr auto NUM_COLUMNS_WITH_SHIFTS = 3438; -constexpr auto NUM_COLUMNS_WITHOUT_SHIFTS = 3074; -constexpr auto NUM_PRECOMPUTED_ENTITIES = 119; -constexpr auto NUM_WIRE_ENTITIES = 2511; -constexpr auto NUM_DERIVED_ENTITIES = 444; +constexpr auto NUM_COLUMNS_WITH_SHIFTS = 3424; +constexpr auto NUM_COLUMNS_WITHOUT_SHIFTS = 3060; +constexpr auto NUM_PRECOMPUTED_ENTITIES = 120; +constexpr auto NUM_WIRE_ENTITIES = 2499; +constexpr auto NUM_DERIVED_ENTITIES = 441; constexpr auto NUM_WITNESS_ENTITIES = NUM_WIRE_ENTITIES + NUM_DERIVED_ENTITIES; constexpr auto NUM_WIRES_TO_BE_SHIFTED = 364; constexpr auto NUM_SHIFTED_ENTITIES = 364; constexpr auto NUM_UNSHIFTED_ENTITIES = NUM_COLUMNS_WITHOUT_SHIFTS; -constexpr auto NUM_ALL_ENTITIES = 3438; +constexpr auto NUM_ALL_ENTITIES = 3424; /* * Layout for all entities is: diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/flavor_variables.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/flavor_variables.hpp index 22c2e6bc3473..01e4c415f56e 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/flavor_variables.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/flavor_variables.hpp @@ -140,11 +140,11 @@ namespace bb::avm2 { struct AvmFlavorVariables { - static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 119; - static constexpr size_t NUM_WITNESS_ENTITIES = 2955; + static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 120; + static constexpr size_t NUM_WITNESS_ENTITIES = 2940; static constexpr size_t NUM_SHIFTED_ENTITIES = 364; - static constexpr size_t NUM_WIRES = 2511; - static constexpr size_t NUM_ALL_ENTITIES = 3438; + static constexpr size_t NUM_WIRES = 2499; + static constexpr size_t NUM_ALL_ENTITIES = 3424; // Need to be templated for recursive verifier template @@ -216,14 +216,12 @@ struct AvmFlavorVariables { using LookupRelations_ = flat_tuple::tuple< // Lookups lookup_address_derivation_address_ecadd_relation, + lookup_address_derivation_ivpk_m_hash_poseidon2_relation, lookup_address_derivation_partial_address_poseidon2_relation, lookup_address_derivation_preaddress_poseidon2_relation, lookup_address_derivation_preaddress_scalar_mul_relation, lookup_address_derivation_public_keys_hash_poseidon2_0_relation, lookup_address_derivation_public_keys_hash_poseidon2_1_relation, - lookup_address_derivation_public_keys_hash_poseidon2_2_relation, - lookup_address_derivation_public_keys_hash_poseidon2_3_relation, - lookup_address_derivation_public_keys_hash_poseidon2_4_relation, lookup_address_derivation_salted_initialization_hash_poseidon2_0_relation, lookup_address_derivation_salted_initialization_hash_poseidon2_1_relation, lookup_addressing_relative_overflow_result_0_relation, @@ -612,7 +610,6 @@ struct AvmFlavorVariables { perm_data_copy_mem_write_relation, perm_ecc_mem_write_mem_0_relation, perm_ecc_mem_write_mem_1_relation, - perm_ecc_mem_write_mem_2_relation, perm_emit_public_log_read_mem_relation, perm_execution_dispatch_to_cd_copy_relation, perm_execution_dispatch_to_ecc_add_relation, diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/address_derivation.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/address_derivation.hpp index 4ebd488f9576..fbaf2e0d85b8 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/address_derivation.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/address_derivation.hpp @@ -14,7 +14,7 @@ template class address_derivationImpl { public: using FF = FF_; - static constexpr std::array SUBRELATION_PARTIAL_LENGTHS = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5 }; + static constexpr std::array SUBRELATION_PARTIAL_LENGTHS = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5 }; template inline static bool skip(const AllEntities& in) { @@ -35,7 +35,7 @@ template class address_derivation : public Relation::accumulate(ContainerOverSubrelations& evals, FF(uint256_t{ 9457493854555940652UL, 3253583849847263892UL, 14921373847124204899UL, 2UL }); const auto constants_DOM_SEP__SALTED_INITIALIZATION_HASH = FF(2763052992UL); const auto constants_DOM_SEP__PUBLIC_KEYS_HASH = FF(777457226); + const auto constants_DOM_SEP__SINGLE_PUBLIC_KEY_HASH = FF(3452068255UL); const auto constants_DOM_SEP__PARTIAL_ADDRESS = FF(2103633018); - const auto constants_DOM_SEP__CONTRACT_ADDRESS_V1 = FF(1788365517); + const auto constants_DOM_SEP__CONTRACT_ADDRESS_V2 = FF(4099338721UL); const auto address_derivation_X3 = in.get(C::address_derivation_incoming_viewing_key_x) * in.get(C::address_derivation_incoming_viewing_key_x) * in.get(C::address_derivation_incoming_viewing_key_x); @@ -37,72 +38,67 @@ void address_derivationImpl::accumulate(ContainerOverSubrelations& evals, { using View = typename std::tuple_element_t<1, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::address_derivation_sel)) * - (static_cast(in.get(C::address_derivation_const_two)) - FF(2)); + (static_cast(in.get(C::address_derivation_const_three)) - FF(3)); std::get<1>(evals) += (tmp * scaling_factor); } { using View = typename std::tuple_element_t<2, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::address_derivation_sel)) * - (static_cast(in.get(C::address_derivation_const_three)) - FF(3)); + (static_cast(in.get(C::address_derivation_const_five)) - FF(5)); std::get<2>(evals) += (tmp * scaling_factor); } { using View = typename std::tuple_element_t<3, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::address_derivation_sel)) * - (static_cast(in.get(C::address_derivation_const_four)) - FF(4)); + (static_cast(in.get(C::address_derivation_salted_init_hash_domain_separator)) - + CView(constants_DOM_SEP__SALTED_INITIALIZATION_HASH)); std::get<3>(evals) += (tmp * scaling_factor); } { using View = typename std::tuple_element_t<4, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::address_derivation_sel)) * - (static_cast(in.get(C::address_derivation_const_thirteen)) - FF(13)); + (static_cast(in.get(C::address_derivation_partial_address_domain_separator)) - + CView(constants_DOM_SEP__PARTIAL_ADDRESS)); std::get<4>(evals) += (tmp * scaling_factor); } { using View = typename std::tuple_element_t<5, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::address_derivation_sel)) * - (static_cast(in.get(C::address_derivation_salted_init_hash_domain_separator)) - - CView(constants_DOM_SEP__SALTED_INITIALIZATION_HASH)); + (static_cast(in.get(C::address_derivation_single_public_key_hash_domain_separator)) - + CView(constants_DOM_SEP__SINGLE_PUBLIC_KEY_HASH)); std::get<5>(evals) += (tmp * scaling_factor); } { using View = typename std::tuple_element_t<6, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::address_derivation_sel)) * - (static_cast(in.get(C::address_derivation_partial_address_domain_separator)) - - CView(constants_DOM_SEP__PARTIAL_ADDRESS)); + (static_cast(in.get(C::address_derivation_public_keys_hash_domain_separator)) - + CView(constants_DOM_SEP__PUBLIC_KEYS_HASH)); std::get<6>(evals) += (tmp * scaling_factor); } { using View = typename std::tuple_element_t<7, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::address_derivation_sel)) * - (static_cast(in.get(C::address_derivation_public_keys_hash_domain_separator)) - - CView(constants_DOM_SEP__PUBLIC_KEYS_HASH)); + (static_cast(in.get(C::address_derivation_preaddress_domain_separator)) - + CView(constants_DOM_SEP__CONTRACT_ADDRESS_V2)); std::get<7>(evals) += (tmp * scaling_factor); } { using View = typename std::tuple_element_t<8, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::address_derivation_sel)) * - (static_cast(in.get(C::address_derivation_preaddress_domain_separator)) - - CView(constants_DOM_SEP__CONTRACT_ADDRESS_V1)); + (static_cast(in.get(C::address_derivation_g1_x)) - CView(constants_GRUMPKIN_ONE_X)); std::get<8>(evals) += (tmp * scaling_factor); } { using View = typename std::tuple_element_t<9, ContainerOverSubrelations>::View; - auto tmp = static_cast(in.get(C::address_derivation_sel)) * - (static_cast(in.get(C::address_derivation_g1_x)) - CView(constants_GRUMPKIN_ONE_X)); - std::get<9>(evals) += (tmp * scaling_factor); - } - { - using View = typename std::tuple_element_t<10, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::address_derivation_sel)) * (static_cast(in.get(C::address_derivation_g1_y)) - CView(constants_GRUMPKIN_ONE_Y)); - std::get<10>(evals) += (tmp * scaling_factor); + std::get<9>(evals) += (tmp * scaling_factor); } { // IVK_ON_CURVE_CHECK - using View = typename std::tuple_element_t<11, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<10, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::address_derivation_sel)) * (CView(address_derivation_Y2) - (CView(address_derivation_X3) - FF(17))); - std::get<11>(evals) += (tmp * scaling_factor); + std::get<10>(evals) += (tmp * scaling_factor); } } diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/contract_instance_retrieval.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/contract_instance_retrieval.hpp index 20d2e8432637..c58b25b8e2d6 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/contract_instance_retrieval.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/contract_instance_retrieval.hpp @@ -14,8 +14,8 @@ template class contract_instance_retrievalImpl { public: using FF = FF_; - static constexpr std::array SUBRELATION_PARTIAL_LENGTHS = { 3, 3, 3, 2, 3, 3, 5, 3, 3, - 3, 3, 4, 4, 4, 4, 4, 4, 3 }; + static constexpr std::array SUBRELATION_PARTIAL_LENGTHS = { 3, 3, 3, 2, 3, 3, 5, 3, 3, 3, + 3, 4, 4, 4, 4, 4, 4, 4, 3 }; template inline static bool skip(const AllEntities& in) { @@ -47,6 +47,7 @@ template class contract_instance_retrieval : public Relation class contract_instance_retrieval : public Relation::accumulate(ContainerOverSubrelations& static_cast(in.get(C::contract_instance_retrieval_init_hash)); std::get<16>(evals) += (tmp * scaling_factor); } - { + { // INSTANCE_MEMBER_IMMUTABLES_HASH_IS_ZERO_IF_DNE using View = typename std::tuple_element_t<17, ContainerOverSubrelations>::View; + auto tmp = static_cast(in.get(C::contract_instance_retrieval_sel)) * + (FF(1) - static_cast(in.get(C::contract_instance_retrieval_exists))) * + static_cast(in.get(C::contract_instance_retrieval_immutables_hash)); + std::get<17>(evals) += (tmp * scaling_factor); + } + { + using View = typename std::tuple_element_t<18, ContainerOverSubrelations>::View; auto tmp = (static_cast(in.get(C::contract_instance_retrieval_should_check_for_update)) - static_cast(in.get(C::contract_instance_retrieval_should_check_nullifier)) * static_cast(in.get(C::contract_instance_retrieval_exists))); - std::get<17>(evals) += (tmp * scaling_factor); + std::get<18>(evals) += (tmp * scaling_factor); } } diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc.hpp index 93df40ba85c2..b1d717c5f2ca 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc.hpp @@ -14,8 +14,8 @@ template class eccImpl { public: using FF = FF_; - static constexpr std::array SUBRELATION_PARTIAL_LENGTHS = { 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, - 5, 3, 3, 5, 6, 6, 5, 6, 6, 3 }; + static constexpr std::array SUBRELATION_PARTIAL_LENGTHS = { 3, 3, 3, 3, 3, 3, 3, 5, 3, + 5, 3, 3, 5, 6, 6, 5, 6, 6 }; template inline static bool skip(const AllEntities& in) { @@ -37,14 +37,13 @@ template class ecc : public Relation> { // Subrelation indices constants, to be used in tests. static constexpr size_t SR_OP_CHECK = 3; - static constexpr size_t SR_X_MATCH = 8; - static constexpr size_t SR_Y_MATCH = 10; - static constexpr size_t SR_DOUBLE_PRED = 11; - static constexpr size_t SR_COMPUTED_LAMBDA = 14; - static constexpr size_t SR_INFINITY_RESULT = 16; - static constexpr size_t SR_OUTPUT_X_COORD = 17; - static constexpr size_t SR_OUTPUT_Y_COORD = 18; - static constexpr size_t SR_OUTPUT_INF_FLAG = 19; + static constexpr size_t SR_X_MATCH = 7; + static constexpr size_t SR_Y_MATCH = 9; + static constexpr size_t SR_DOUBLE_PRED = 10; + static constexpr size_t SR_COMPUTED_LAMBDA = 13; + static constexpr size_t SR_INFINITY_RESULT = 15; + static constexpr size_t SR_OUTPUT_X_COORD = 16; + static constexpr size_t SR_OUTPUT_Y_COORD = 17; static std::string get_subrelation_label(size_t index) { @@ -65,8 +64,6 @@ template class ecc : public Relation> { return "OUTPUT_X_COORD"; case SR_OUTPUT_Y_COORD: return "OUTPUT_Y_COORD"; - case SR_OUTPUT_INF_FLAG: - return "OUTPUT_INF_FLAG"; } return std::to_string(index); } diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc_impl.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc_impl.hpp index 5b709819d443..335cdcd557e0 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc_impl.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc_impl.hpp @@ -62,83 +62,78 @@ void eccImpl::accumulate(ContainerOverSubrelations& evals, } { using View = typename std::tuple_element_t<6, ContainerOverSubrelations>::View; - auto tmp = static_cast(in.get(C::ecc_r_is_inf)) * (FF(1) - static_cast(in.get(C::ecc_r_is_inf))); - std::get<6>(evals) += (tmp * scaling_factor); - } - { - using View = typename std::tuple_element_t<7, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::ecc_x_match)) * (FF(1) - static_cast(in.get(C::ecc_x_match))); - std::get<7>(evals) += (tmp * scaling_factor); + std::get<6>(evals) += (tmp * scaling_factor); } { // X_MATCH - using View = typename std::tuple_element_t<8, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<7, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::ecc_sel)) * ((CView(ecc_X_DIFF) * (static_cast(in.get(C::ecc_x_match)) * (FF(1) - static_cast(in.get(C::ecc_inv_x_diff))) + static_cast(in.get(C::ecc_inv_x_diff))) - FF(1)) + static_cast(in.get(C::ecc_x_match))); - std::get<8>(evals) += (tmp * scaling_factor); + std::get<7>(evals) += (tmp * scaling_factor); } { - using View = typename std::tuple_element_t<9, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<8, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::ecc_y_match)) * (FF(1) - static_cast(in.get(C::ecc_y_match))); - std::get<9>(evals) += (tmp * scaling_factor); + std::get<8>(evals) += (tmp * scaling_factor); } { // Y_MATCH - using View = typename std::tuple_element_t<10, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<9, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::ecc_sel)) * ((CView(ecc_Y_DIFF) * (static_cast(in.get(C::ecc_y_match)) * (FF(1) - static_cast(in.get(C::ecc_inv_y_diff))) + static_cast(in.get(C::ecc_inv_y_diff))) - FF(1)) + static_cast(in.get(C::ecc_y_match))); - std::get<10>(evals) += (tmp * scaling_factor); + std::get<9>(evals) += (tmp * scaling_factor); } { // DOUBLE_PRED - using View = typename std::tuple_element_t<11, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<10, ContainerOverSubrelations>::View; auto tmp = (static_cast(in.get(C::ecc_double_op)) - static_cast(in.get(C::ecc_x_match)) * static_cast(in.get(C::ecc_y_match))); - std::get<11>(evals) += (tmp * scaling_factor); + std::get<10>(evals) += (tmp * scaling_factor); } { - using View = typename std::tuple_element_t<12, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<11, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::ecc_double_op)) * (static_cast(in.get(C::ecc_p_is_inf)) - static_cast(in.get(C::ecc_q_is_inf))); - std::get<12>(evals) += (tmp * scaling_factor); + std::get<11>(evals) += (tmp * scaling_factor); } { - using View = typename std::tuple_element_t<13, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<12, ContainerOverSubrelations>::View; auto tmp = (FF(1) - static_cast(in.get(C::ecc_result_infinity))) * static_cast(in.get(C::ecc_double_op)) * (FF(2) * static_cast(in.get(C::ecc_p_y)) * static_cast(in.get(C::ecc_inv_2_p_y)) - FF(1)); - std::get<13>(evals) += (tmp * scaling_factor); + std::get<12>(evals) += (tmp * scaling_factor); } { // COMPUTED_LAMBDA - using View = typename std::tuple_element_t<14, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<13, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::ecc_sel)) * (static_cast(in.get(C::ecc_lambda)) - (static_cast(in.get(C::ecc_double_op)) * FF(3) * static_cast(in.get(C::ecc_p_x)) * static_cast(in.get(C::ecc_p_x)) * static_cast(in.get(C::ecc_inv_2_p_y)) + static_cast(in.get(C::ecc_add_op)) * CView(ecc_Y_DIFF) * static_cast(in.get(C::ecc_inv_x_diff)))); - std::get<14>(evals) += (tmp * scaling_factor); + std::get<13>(evals) += (tmp * scaling_factor); } { - using View = typename std::tuple_element_t<15, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<14, ContainerOverSubrelations>::View; auto tmp = (static_cast(in.get(C::ecc_use_computed_result)) - static_cast(in.get(C::ecc_sel)) * CView(ecc_BOTH_NON_INF) * (FF(1) - CView(ecc_INVERSE_PRED))); - std::get<15>(evals) += (tmp * scaling_factor); + std::get<14>(evals) += (tmp * scaling_factor); } { // INFINITY_RESULT - using View = typename std::tuple_element_t<16, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<15, ContainerOverSubrelations>::View; auto tmp = (static_cast(in.get(C::ecc_result_infinity)) - (CView(ecc_INVERSE_PRED) * CView(ecc_BOTH_NON_INF) + CView(ecc_BOTH_INF))); - std::get<16>(evals) += (tmp * scaling_factor); + std::get<15>(evals) += (tmp * scaling_factor); } { // OUTPUT_X_COORD - using View = typename std::tuple_element_t<17, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<16, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::ecc_sel)) * (((static_cast(in.get(C::ecc_r_x)) - CView(ecc_EITHER_INF) * @@ -146,10 +141,10 @@ void eccImpl::accumulate(ContainerOverSubrelations& evals, static_cast(in.get(C::ecc_q_is_inf)) * static_cast(in.get(C::ecc_p_x)))) - static_cast(in.get(C::ecc_result_infinity)) * CView(ecc_INFINITY_X)) - static_cast(in.get(C::ecc_use_computed_result)) * CView(ecc_COMPUTED_R_X)); - std::get<17>(evals) += (tmp * scaling_factor); + std::get<16>(evals) += (tmp * scaling_factor); } { // OUTPUT_Y_COORD - using View = typename std::tuple_element_t<18, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<17, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::ecc_sel)) * (((static_cast(in.get(C::ecc_r_y)) - CView(ecc_EITHER_INF) * @@ -157,13 +152,7 @@ void eccImpl::accumulate(ContainerOverSubrelations& evals, static_cast(in.get(C::ecc_q_is_inf)) * static_cast(in.get(C::ecc_p_y)))) - static_cast(in.get(C::ecc_result_infinity)) * CView(ecc_INFINITY_Y)) - static_cast(in.get(C::ecc_use_computed_result)) * CView(ecc_COMPUTED_R_Y)); - std::get<18>(evals) += (tmp * scaling_factor); - } - { // OUTPUT_INF_FLAG - using View = typename std::tuple_element_t<19, ContainerOverSubrelations>::View; - auto tmp = static_cast(in.get(C::ecc_sel)) * - (static_cast(in.get(C::ecc_r_is_inf)) - static_cast(in.get(C::ecc_result_infinity))); - std::get<19>(evals) += (tmp * scaling_factor); + std::get<17>(evals) += (tmp * scaling_factor); } } diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc_mem.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc_mem.hpp index 5e7671b889ed..93c24d10d2e7 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc_mem.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc_mem.hpp @@ -14,8 +14,9 @@ template class ecc_memImpl { public: using FF = FF_; - static constexpr std::array SUBRELATION_PARTIAL_LENGTHS = { 3, 3, 3, 3, 3, 3, 6, 5, - 6, 5, 4, 3, 4, 4, 4, 4 }; + static constexpr std::array SUBRELATION_PARTIAL_LENGTHS = { + 3, 3, 3, 3, 3, 6, 5, 6, 5, 4, 3, 4, 4, 4, 4 + }; template inline static bool skip(const AllEntities& in) { @@ -37,10 +38,14 @@ template class ecc_mem : public Relation> { // Subrelation indices constants, to be used in tests. static constexpr size_t SR_WRITE_INCR_DST_ADDR = 1; - static constexpr size_t SR_P_CURVE_EQN = 6; - static constexpr size_t SR_P_ON_CURVE_CHECK = 7; - static constexpr size_t SR_Q_CURVE_EQN = 8; - static constexpr size_t SR_Q_ON_CURVE_CHECK = 9; + static constexpr size_t SR_P_CURVE_EQN = 5; + static constexpr size_t SR_P_ON_CURVE_CHECK = 6; + static constexpr size_t SR_Q_CURVE_EQN = 7; + static constexpr size_t SR_Q_ON_CURVE_CHECK = 8; + static constexpr size_t SR_P_INF_X_CHECK = 11; + static constexpr size_t SR_P_INF_Y_CHECK = 12; + static constexpr size_t SR_Q_INF_X_CHECK = 13; + static constexpr size_t SR_Q_INF_Y_CHECK = 14; static std::string get_subrelation_label(size_t index) { @@ -55,6 +60,14 @@ template class ecc_mem : public Relation> { return "Q_CURVE_EQN"; case SR_Q_ON_CURVE_CHECK: return "Q_ON_CURVE_CHECK"; + case SR_P_INF_X_CHECK: + return "P_INF_X_CHECK"; + case SR_P_INF_Y_CHECK: + return "P_INF_Y_CHECK"; + case SR_Q_INF_X_CHECK: + return "Q_INF_X_CHECK"; + case SR_Q_INF_Y_CHECK: + return "Q_INF_Y_CHECK"; } return std::to_string(index); } diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc_mem_impl.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc_mem_impl.hpp index 7a90c736ffb9..215eb8578019 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc_mem_impl.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/ecc_mem_impl.hpp @@ -38,116 +38,97 @@ void ecc_memImpl::accumulate(ContainerOverSubrelations& evals, } { using View = typename std::tuple_element_t<2, ContainerOverSubrelations>::View; - auto tmp = (static_cast(in.get(C::ecc_add_mem_dst_addr_2_)) - - static_cast(in.get(C::ecc_add_mem_sel)) * - (static_cast(in.get(C::ecc_add_mem_dst_addr_0_)) + FF(2))); - std::get<2>(evals) += (tmp * scaling_factor); - } - { - using View = typename std::tuple_element_t<3, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::ecc_add_mem_sel)) * (static_cast(in.get(C::ecc_add_mem_max_mem_addr)) - CView(constants_AVM_HIGHEST_MEM_ADDRESS)); - std::get<3>(evals) += (tmp * scaling_factor); + std::get<2>(evals) += (tmp * scaling_factor); } { - using View = typename std::tuple_element_t<4, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<3, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::ecc_add_mem_sel_p_not_on_curve_err)) * (FF(1) - static_cast(in.get(C::ecc_add_mem_sel_p_not_on_curve_err))); - std::get<4>(evals) += (tmp * scaling_factor); + std::get<3>(evals) += (tmp * scaling_factor); } { - using View = typename std::tuple_element_t<5, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<4, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::ecc_add_mem_sel_q_not_on_curve_err)) * (FF(1) - static_cast(in.get(C::ecc_add_mem_sel_q_not_on_curve_err))); - std::get<5>(evals) += (tmp * scaling_factor); + std::get<4>(evals) += (tmp * scaling_factor); } { // P_CURVE_EQN - using View = typename std::tuple_element_t<6, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<5, ContainerOverSubrelations>::View; auto tmp = (static_cast(in.get(C::ecc_add_mem_p_is_on_curve_eqn)) - static_cast(in.get(C::ecc_add_mem_sel)) * (CView(ecc_add_mem_P_Y2) - (CView(ecc_add_mem_P_X3) - FF(17))) * (FF(1) - static_cast(in.get(C::ecc_add_mem_p_is_inf)))); - std::get<6>(evals) += (tmp * scaling_factor); + std::get<5>(evals) += (tmp * scaling_factor); } { // P_ON_CURVE_CHECK - using View = typename std::tuple_element_t<7, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<6, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::ecc_add_mem_sel)) * (static_cast(in.get(C::ecc_add_mem_p_is_on_curve_eqn)) * ((FF(1) - static_cast(in.get(C::ecc_add_mem_sel_p_not_on_curve_err))) * (FF(1) - static_cast(in.get(C::ecc_add_mem_p_is_on_curve_eqn_inv))) + static_cast(in.get(C::ecc_add_mem_p_is_on_curve_eqn_inv))) - static_cast(in.get(C::ecc_add_mem_sel_p_not_on_curve_err))); - std::get<7>(evals) += (tmp * scaling_factor); + std::get<6>(evals) += (tmp * scaling_factor); } { // Q_CURVE_EQN - using View = typename std::tuple_element_t<8, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<7, ContainerOverSubrelations>::View; auto tmp = (static_cast(in.get(C::ecc_add_mem_q_is_on_curve_eqn)) - static_cast(in.get(C::ecc_add_mem_sel)) * (CView(ecc_add_mem_Q_Y2) - (CView(ecc_add_mem_Q_X3) - FF(17))) * (FF(1) - static_cast(in.get(C::ecc_add_mem_q_is_inf)))); - std::get<8>(evals) += (tmp * scaling_factor); + std::get<7>(evals) += (tmp * scaling_factor); } { // Q_ON_CURVE_CHECK - using View = typename std::tuple_element_t<9, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<8, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::ecc_add_mem_sel)) * (static_cast(in.get(C::ecc_add_mem_q_is_on_curve_eqn)) * ((FF(1) - static_cast(in.get(C::ecc_add_mem_sel_q_not_on_curve_err))) * (FF(1) - static_cast(in.get(C::ecc_add_mem_q_is_on_curve_eqn_inv))) + static_cast(in.get(C::ecc_add_mem_q_is_on_curve_eqn_inv))) - static_cast(in.get(C::ecc_add_mem_sel_q_not_on_curve_err))); - std::get<9>(evals) += (tmp * scaling_factor); + std::get<8>(evals) += (tmp * scaling_factor); } { - using View = typename std::tuple_element_t<10, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<9, ContainerOverSubrelations>::View; auto tmp = (static_cast(in.get(C::ecc_add_mem_err)) - (FF(1) - (FF(1) - static_cast(in.get(C::ecc_add_mem_sel_dst_out_of_range_err))) * (FF(1) - static_cast(in.get(C::ecc_add_mem_sel_p_not_on_curve_err))) * (FF(1) - static_cast(in.get(C::ecc_add_mem_sel_q_not_on_curve_err))))); - std::get<10>(evals) += (tmp * scaling_factor); + std::get<9>(evals) += (tmp * scaling_factor); } { - using View = typename std::tuple_element_t<11, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<10, ContainerOverSubrelations>::View; auto tmp = (static_cast(in.get(C::ecc_add_mem_sel_should_exec)) - static_cast(in.get(C::ecc_add_mem_sel)) * (FF(1) - static_cast(in.get(C::ecc_add_mem_err)))); + std::get<10>(evals) += (tmp * scaling_factor); + } + { // P_INF_X_CHECK + using View = typename std::tuple_element_t<11, ContainerOverSubrelations>::View; + auto tmp = static_cast(in.get(C::ecc_add_mem_sel)) * static_cast(in.get(C::ecc_add_mem_p_is_inf)) * + (static_cast(in.get(C::ecc_add_mem_p_x)) - CView(ecc_INFINITY_X)); std::get<11>(evals) += (tmp * scaling_factor); } - { + { // P_INF_Y_CHECK using View = typename std::tuple_element_t<12, ContainerOverSubrelations>::View; - auto tmp = static_cast(in.get(C::ecc_add_mem_sel_should_exec)) * - ((static_cast(in.get(C::ecc_add_mem_p_x_n)) - - (FF(1) - static_cast(in.get(C::ecc_add_mem_p_is_inf))) * - static_cast(in.get(C::ecc_add_mem_p_x))) - - static_cast(in.get(C::ecc_add_mem_p_is_inf)) * CView(ecc_INFINITY_X)); + auto tmp = static_cast(in.get(C::ecc_add_mem_sel)) * static_cast(in.get(C::ecc_add_mem_p_is_inf)) * + (static_cast(in.get(C::ecc_add_mem_p_y)) - CView(ecc_INFINITY_Y)); std::get<12>(evals) += (tmp * scaling_factor); } - { + { // Q_INF_X_CHECK using View = typename std::tuple_element_t<13, ContainerOverSubrelations>::View; - auto tmp = static_cast(in.get(C::ecc_add_mem_sel_should_exec)) * - ((static_cast(in.get(C::ecc_add_mem_p_y_n)) - - (FF(1) - static_cast(in.get(C::ecc_add_mem_p_is_inf))) * - static_cast(in.get(C::ecc_add_mem_p_y))) - - static_cast(in.get(C::ecc_add_mem_p_is_inf)) * CView(ecc_INFINITY_Y)); + auto tmp = static_cast(in.get(C::ecc_add_mem_sel)) * static_cast(in.get(C::ecc_add_mem_q_is_inf)) * + (static_cast(in.get(C::ecc_add_mem_q_x)) - CView(ecc_INFINITY_X)); std::get<13>(evals) += (tmp * scaling_factor); } - { + { // Q_INF_Y_CHECK using View = typename std::tuple_element_t<14, ContainerOverSubrelations>::View; - auto tmp = static_cast(in.get(C::ecc_add_mem_sel_should_exec)) * - ((static_cast(in.get(C::ecc_add_mem_q_x_n)) - - (FF(1) - static_cast(in.get(C::ecc_add_mem_q_is_inf))) * - static_cast(in.get(C::ecc_add_mem_q_x))) - - static_cast(in.get(C::ecc_add_mem_q_is_inf)) * CView(ecc_INFINITY_X)); + auto tmp = static_cast(in.get(C::ecc_add_mem_sel)) * static_cast(in.get(C::ecc_add_mem_q_is_inf)) * + (static_cast(in.get(C::ecc_add_mem_q_y)) - CView(ecc_INFINITY_Y)); std::get<14>(evals) += (tmp * scaling_factor); } - { - using View = typename std::tuple_element_t<15, ContainerOverSubrelations>::View; - auto tmp = static_cast(in.get(C::ecc_add_mem_sel_should_exec)) * - ((static_cast(in.get(C::ecc_add_mem_q_y_n)) - - (FF(1) - static_cast(in.get(C::ecc_add_mem_q_is_inf))) * - static_cast(in.get(C::ecc_add_mem_q_y))) - - static_cast(in.get(C::ecc_add_mem_q_is_inf)) * CView(ecc_INFINITY_Y)); - std::get<15>(evals) += (tmp * scaling_factor); - } } } // namespace bb::avm2 diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/get_contract_instance_impl.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/get_contract_instance_impl.hpp index c807d2b34b16..f27fca3e9db1 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/get_contract_instance_impl.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/get_contract_instance_impl.hpp @@ -74,7 +74,9 @@ void get_contract_instanceImpl::accumulate(ContainerOverSubrelations& evals static_cast(in.get(C::get_contract_instance_is_class_id)) * static_cast(in.get(C::get_contract_instance_retrieved_class_id)) + static_cast(in.get(C::get_contract_instance_is_init_hash)) * - static_cast(in.get(C::get_contract_instance_retrieved_init_hash)))); + static_cast(in.get(C::get_contract_instance_retrieved_init_hash)) + + static_cast(in.get(C::get_contract_instance_is_immutables_hash)) * + static_cast(in.get(C::get_contract_instance_retrieved_immutables_hash)))); std::get<6>(evals) += (tmp * scaling_factor); } { // MEMBER_WRITE_OFFSET diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_address_derivation.cpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_address_derivation.cpp index 4537e24b46a4..786b2c635dfa 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_address_derivation.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_address_derivation.cpp @@ -28,11 +28,9 @@ namespace bb::avm2 { INSTANTIATE_LOOKUP(lookup_address_derivation_salted_initialization_hash_poseidon2_0_relation); INSTANTIATE_LOOKUP(lookup_address_derivation_salted_initialization_hash_poseidon2_1_relation); INSTANTIATE_LOOKUP(lookup_address_derivation_partial_address_poseidon2_relation); +INSTANTIATE_LOOKUP(lookup_address_derivation_ivpk_m_hash_poseidon2_relation); INSTANTIATE_LOOKUP(lookup_address_derivation_public_keys_hash_poseidon2_0_relation); INSTANTIATE_LOOKUP(lookup_address_derivation_public_keys_hash_poseidon2_1_relation); -INSTANTIATE_LOOKUP(lookup_address_derivation_public_keys_hash_poseidon2_2_relation); -INSTANTIATE_LOOKUP(lookup_address_derivation_public_keys_hash_poseidon2_3_relation); -INSTANTIATE_LOOKUP(lookup_address_derivation_public_keys_hash_poseidon2_4_relation); INSTANTIATE_LOOKUP(lookup_address_derivation_preaddress_poseidon2_relation); INSTANTIATE_LOOKUP(lookup_address_derivation_preaddress_scalar_mul_relation); INSTANTIATE_LOOKUP(lookup_address_derivation_address_ecadd_relation); diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_address_derivation.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_address_derivation.hpp index dd7af40e2658..38fa5107200e 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_address_derivation.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_address_derivation.hpp @@ -26,7 +26,7 @@ struct lookup_address_derivation_salted_initialization_hash_poseidon2_0_settings ColumnAndShifts::address_derivation_salt, ColumnAndShifts::address_derivation_init_hash, ColumnAndShifts::address_derivation_salted_init_hash, - ColumnAndShifts::address_derivation_const_four + ColumnAndShifts::address_derivation_const_five }; static constexpr std::array DST_COLUMNS = { ColumnAndShifts::poseidon2_hash_input_0, @@ -55,7 +55,7 @@ struct lookup_address_derivation_salted_initialization_hash_poseidon2_1_settings static constexpr Column INVERSES = Column::lookup_address_derivation_salted_initialization_hash_poseidon2_1_inv; static constexpr std::array SRC_COLUMNS = { ColumnAndShifts::address_derivation_deployer_addr, - ColumnAndShifts::precomputed_zero, + ColumnAndShifts::address_derivation_immutables_hash, ColumnAndShifts::precomputed_zero, ColumnAndShifts::address_derivation_salted_init_hash }; @@ -105,85 +105,21 @@ template using lookup_address_derivation_partial_address_poseidon2_relation = lookup_relation_base; -/////////////////// lookup_address_derivation_public_keys_hash_poseidon2_0 /////////////////// +/////////////////// lookup_address_derivation_ivpk_m_hash_poseidon2 /////////////////// -struct lookup_address_derivation_public_keys_hash_poseidon2_0_settings_ { - static constexpr std::string_view NAME = "LOOKUP_ADDRESS_DERIVATION_PUBLIC_KEYS_HASH_POSEIDON2_0"; +struct lookup_address_derivation_ivpk_m_hash_poseidon2_settings_ { + static constexpr std::string_view NAME = "LOOKUP_ADDRESS_DERIVATION_IVPK_M_HASH_POSEIDON2"; static constexpr std::string_view RELATION_NAME = "address_derivation"; static constexpr size_t LOOKUP_TUPLE_SIZE = 5; static constexpr Column SRC_SELECTOR = Column::address_derivation_sel; static constexpr Column DST_SELECTOR = Column::poseidon2_hash_start; - static constexpr Column COUNTS = Column::lookup_address_derivation_public_keys_hash_poseidon2_0_counts; - static constexpr Column INVERSES = Column::lookup_address_derivation_public_keys_hash_poseidon2_0_inv; - static constexpr std::array SRC_COLUMNS = { - ColumnAndShifts::address_derivation_public_keys_hash_domain_separator, - ColumnAndShifts::address_derivation_nullifier_key_x, - ColumnAndShifts::address_derivation_nullifier_key_y, - ColumnAndShifts::address_derivation_public_keys_hash, - ColumnAndShifts::address_derivation_const_thirteen - }; - static constexpr std::array DST_COLUMNS = { - ColumnAndShifts::poseidon2_hash_input_0, - ColumnAndShifts::poseidon2_hash_input_1, - ColumnAndShifts::poseidon2_hash_input_2, - ColumnAndShifts::poseidon2_hash_output, - ColumnAndShifts::poseidon2_hash_input_len - }; -}; - -using lookup_address_derivation_public_keys_hash_poseidon2_0_settings = - lookup_settings; -template -using lookup_address_derivation_public_keys_hash_poseidon2_0_relation = - lookup_relation_base; - -/////////////////// lookup_address_derivation_public_keys_hash_poseidon2_1 /////////////////// - -struct lookup_address_derivation_public_keys_hash_poseidon2_1_settings_ { - static constexpr std::string_view NAME = "LOOKUP_ADDRESS_DERIVATION_PUBLIC_KEYS_HASH_POSEIDON2_1"; - static constexpr std::string_view RELATION_NAME = "address_derivation"; - static constexpr size_t LOOKUP_TUPLE_SIZE = 5; - static constexpr Column SRC_SELECTOR = Column::address_derivation_sel; - static constexpr Column DST_SELECTOR = Column::poseidon2_hash_sel; - static constexpr Column COUNTS = Column::lookup_address_derivation_public_keys_hash_poseidon2_1_counts; - static constexpr Column INVERSES = Column::lookup_address_derivation_public_keys_hash_poseidon2_1_inv; + static constexpr Column COUNTS = Column::lookup_address_derivation_ivpk_m_hash_poseidon2_counts; + static constexpr Column INVERSES = Column::lookup_address_derivation_ivpk_m_hash_poseidon2_inv; static constexpr std::array SRC_COLUMNS = { - ColumnAndShifts::precomputed_zero, + ColumnAndShifts::address_derivation_single_public_key_hash_domain_separator, ColumnAndShifts::address_derivation_incoming_viewing_key_x, ColumnAndShifts::address_derivation_incoming_viewing_key_y, - ColumnAndShifts::address_derivation_public_keys_hash, - ColumnAndShifts::address_derivation_const_four - }; - static constexpr std::array DST_COLUMNS = { - ColumnAndShifts::poseidon2_hash_input_0, - ColumnAndShifts::poseidon2_hash_input_1, - ColumnAndShifts::poseidon2_hash_input_2, - ColumnAndShifts::poseidon2_hash_output, - ColumnAndShifts::poseidon2_hash_num_perm_rounds_rem - }; -}; - -using lookup_address_derivation_public_keys_hash_poseidon2_1_settings = - lookup_settings; -template -using lookup_address_derivation_public_keys_hash_poseidon2_1_relation = - lookup_relation_base; - -/////////////////// lookup_address_derivation_public_keys_hash_poseidon2_2 /////////////////// - -struct lookup_address_derivation_public_keys_hash_poseidon2_2_settings_ { - static constexpr std::string_view NAME = "LOOKUP_ADDRESS_DERIVATION_PUBLIC_KEYS_HASH_POSEIDON2_2"; - static constexpr std::string_view RELATION_NAME = "address_derivation"; - static constexpr size_t LOOKUP_TUPLE_SIZE = 5; - static constexpr Column SRC_SELECTOR = Column::address_derivation_sel; - static constexpr Column DST_SELECTOR = Column::poseidon2_hash_sel; - static constexpr Column COUNTS = Column::lookup_address_derivation_public_keys_hash_poseidon2_2_counts; - static constexpr Column INVERSES = Column::lookup_address_derivation_public_keys_hash_poseidon2_2_inv; - static constexpr std::array SRC_COLUMNS = { - ColumnAndShifts::precomputed_zero, - ColumnAndShifts::address_derivation_outgoing_viewing_key_x, - ColumnAndShifts::address_derivation_outgoing_viewing_key_y, - ColumnAndShifts::address_derivation_public_keys_hash, + ColumnAndShifts::address_derivation_incoming_viewing_key_hash, ColumnAndShifts::address_derivation_const_three }; static constexpr std::array DST_COLUMNS = { @@ -191,61 +127,61 @@ struct lookup_address_derivation_public_keys_hash_poseidon2_2_settings_ { ColumnAndShifts::poseidon2_hash_input_1, ColumnAndShifts::poseidon2_hash_input_2, ColumnAndShifts::poseidon2_hash_output, - ColumnAndShifts::poseidon2_hash_num_perm_rounds_rem + ColumnAndShifts::poseidon2_hash_input_len }; }; -using lookup_address_derivation_public_keys_hash_poseidon2_2_settings = - lookup_settings; +using lookup_address_derivation_ivpk_m_hash_poseidon2_settings = + lookup_settings; template -using lookup_address_derivation_public_keys_hash_poseidon2_2_relation = - lookup_relation_base; +using lookup_address_derivation_ivpk_m_hash_poseidon2_relation = + lookup_relation_base; -/////////////////// lookup_address_derivation_public_keys_hash_poseidon2_3 /////////////////// +/////////////////// lookup_address_derivation_public_keys_hash_poseidon2_0 /////////////////// -struct lookup_address_derivation_public_keys_hash_poseidon2_3_settings_ { - static constexpr std::string_view NAME = "LOOKUP_ADDRESS_DERIVATION_PUBLIC_KEYS_HASH_POSEIDON2_3"; +struct lookup_address_derivation_public_keys_hash_poseidon2_0_settings_ { + static constexpr std::string_view NAME = "LOOKUP_ADDRESS_DERIVATION_PUBLIC_KEYS_HASH_POSEIDON2_0"; static constexpr std::string_view RELATION_NAME = "address_derivation"; static constexpr size_t LOOKUP_TUPLE_SIZE = 5; static constexpr Column SRC_SELECTOR = Column::address_derivation_sel; - static constexpr Column DST_SELECTOR = Column::poseidon2_hash_sel; - static constexpr Column COUNTS = Column::lookup_address_derivation_public_keys_hash_poseidon2_3_counts; - static constexpr Column INVERSES = Column::lookup_address_derivation_public_keys_hash_poseidon2_3_inv; + static constexpr Column DST_SELECTOR = Column::poseidon2_hash_start; + static constexpr Column COUNTS = Column::lookup_address_derivation_public_keys_hash_poseidon2_0_counts; + static constexpr Column INVERSES = Column::lookup_address_derivation_public_keys_hash_poseidon2_0_inv; static constexpr std::array SRC_COLUMNS = { - ColumnAndShifts::precomputed_zero, - ColumnAndShifts::address_derivation_tagging_key_x, - ColumnAndShifts::address_derivation_tagging_key_y, + ColumnAndShifts::address_derivation_public_keys_hash_domain_separator, + ColumnAndShifts::address_derivation_nullifier_key_hash, + ColumnAndShifts::address_derivation_incoming_viewing_key_hash, ColumnAndShifts::address_derivation_public_keys_hash, - ColumnAndShifts::address_derivation_const_two + ColumnAndShifts::address_derivation_const_five }; static constexpr std::array DST_COLUMNS = { ColumnAndShifts::poseidon2_hash_input_0, ColumnAndShifts::poseidon2_hash_input_1, ColumnAndShifts::poseidon2_hash_input_2, ColumnAndShifts::poseidon2_hash_output, - ColumnAndShifts::poseidon2_hash_num_perm_rounds_rem + ColumnAndShifts::poseidon2_hash_input_len }; }; -using lookup_address_derivation_public_keys_hash_poseidon2_3_settings = - lookup_settings; +using lookup_address_derivation_public_keys_hash_poseidon2_0_settings = + lookup_settings; template -using lookup_address_derivation_public_keys_hash_poseidon2_3_relation = - lookup_relation_base; +using lookup_address_derivation_public_keys_hash_poseidon2_0_relation = + lookup_relation_base; -/////////////////// lookup_address_derivation_public_keys_hash_poseidon2_4 /////////////////// +/////////////////// lookup_address_derivation_public_keys_hash_poseidon2_1 /////////////////// -struct lookup_address_derivation_public_keys_hash_poseidon2_4_settings_ { - static constexpr std::string_view NAME = "LOOKUP_ADDRESS_DERIVATION_PUBLIC_KEYS_HASH_POSEIDON2_4"; +struct lookup_address_derivation_public_keys_hash_poseidon2_1_settings_ { + static constexpr std::string_view NAME = "LOOKUP_ADDRESS_DERIVATION_PUBLIC_KEYS_HASH_POSEIDON2_1"; static constexpr std::string_view RELATION_NAME = "address_derivation"; static constexpr size_t LOOKUP_TUPLE_SIZE = 4; static constexpr Column SRC_SELECTOR = Column::address_derivation_sel; static constexpr Column DST_SELECTOR = Column::poseidon2_hash_end; - static constexpr Column COUNTS = Column::lookup_address_derivation_public_keys_hash_poseidon2_4_counts; - static constexpr Column INVERSES = Column::lookup_address_derivation_public_keys_hash_poseidon2_4_inv; + static constexpr Column COUNTS = Column::lookup_address_derivation_public_keys_hash_poseidon2_1_counts; + static constexpr Column INVERSES = Column::lookup_address_derivation_public_keys_hash_poseidon2_1_inv; static constexpr std::array SRC_COLUMNS = { - ColumnAndShifts::precomputed_zero, - ColumnAndShifts::precomputed_zero, + ColumnAndShifts::address_derivation_outgoing_viewing_key_hash, + ColumnAndShifts::address_derivation_tagging_key_hash, ColumnAndShifts::precomputed_zero, ColumnAndShifts::address_derivation_public_keys_hash }; @@ -257,11 +193,11 @@ struct lookup_address_derivation_public_keys_hash_poseidon2_4_settings_ { }; }; -using lookup_address_derivation_public_keys_hash_poseidon2_4_settings = - lookup_settings; +using lookup_address_derivation_public_keys_hash_poseidon2_1_settings = + lookup_settings; template -using lookup_address_derivation_public_keys_hash_poseidon2_4_relation = - lookup_relation_base; +using lookup_address_derivation_public_keys_hash_poseidon2_1_relation = + lookup_relation_base; /////////////////// lookup_address_derivation_preaddress_poseidon2 /////////////////// @@ -332,7 +268,7 @@ using lookup_address_derivation_preaddress_scalar_mul_relation = struct lookup_address_derivation_address_ecadd_settings_ { static constexpr std::string_view NAME = "LOOKUP_ADDRESS_DERIVATION_ADDRESS_ECADD"; static constexpr std::string_view RELATION_NAME = "address_derivation"; - static constexpr size_t LOOKUP_TUPLE_SIZE = 9; + static constexpr size_t LOOKUP_TUPLE_SIZE = 8; static constexpr Column SRC_SELECTOR = Column::address_derivation_sel; static constexpr Column DST_SELECTOR = Column::ecc_sel; static constexpr Column COUNTS = Column::lookup_address_derivation_address_ecadd_counts; @@ -345,13 +281,12 @@ struct lookup_address_derivation_address_ecadd_settings_ { ColumnAndShifts::address_derivation_incoming_viewing_key_y, ColumnAndShifts::precomputed_zero, ColumnAndShifts::address_derivation_address, - ColumnAndShifts::address_derivation_address_y, - ColumnAndShifts::precomputed_zero + ColumnAndShifts::address_derivation_address_y }; static constexpr std::array DST_COLUMNS = { ColumnAndShifts::ecc_p_x, ColumnAndShifts::ecc_p_y, ColumnAndShifts::ecc_p_is_inf, ColumnAndShifts::ecc_q_x, ColumnAndShifts::ecc_q_y, ColumnAndShifts::ecc_q_is_inf, - ColumnAndShifts::ecc_r_x, ColumnAndShifts::ecc_r_y, ColumnAndShifts::ecc_r_is_inf + ColumnAndShifts::ecc_r_x, ColumnAndShifts::ecc_r_y }; }; diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_contract_instance_retrieval.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_contract_instance_retrieval.hpp index a314f368785e..a646a48affed 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_contract_instance_retrieval.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_contract_instance_retrieval.hpp @@ -108,7 +108,7 @@ using lookup_contract_instance_retrieval_deployment_nullifier_read_relation = struct lookup_contract_instance_retrieval_address_derivation_settings_ { static constexpr std::string_view NAME = "LOOKUP_CONTRACT_INSTANCE_RETRIEVAL_ADDRESS_DERIVATION"; static constexpr std::string_view RELATION_NAME = "contract_instance_retrieval"; - static constexpr size_t LOOKUP_TUPLE_SIZE = 13; + static constexpr size_t LOOKUP_TUPLE_SIZE = 11; static constexpr Column SRC_SELECTOR = Column::contract_instance_retrieval_exists; static constexpr Column DST_SELECTOR = Column::address_derivation_sel; static constexpr Column COUNTS = Column::lookup_contract_instance_retrieval_address_derivation_counts; @@ -119,14 +119,12 @@ struct lookup_contract_instance_retrieval_address_derivation_settings_ { ColumnAndShifts::contract_instance_retrieval_deployer_addr, ColumnAndShifts::contract_instance_retrieval_original_class_id, ColumnAndShifts::contract_instance_retrieval_init_hash, - ColumnAndShifts::contract_instance_retrieval_nullifier_key_x, - ColumnAndShifts::contract_instance_retrieval_nullifier_key_y, + ColumnAndShifts::contract_instance_retrieval_immutables_hash, + ColumnAndShifts::contract_instance_retrieval_nullifier_key_hash, ColumnAndShifts::contract_instance_retrieval_incoming_viewing_key_x, ColumnAndShifts::contract_instance_retrieval_incoming_viewing_key_y, - ColumnAndShifts::contract_instance_retrieval_outgoing_viewing_key_x, - ColumnAndShifts::contract_instance_retrieval_outgoing_viewing_key_y, - ColumnAndShifts::contract_instance_retrieval_tagging_key_x, - ColumnAndShifts::contract_instance_retrieval_tagging_key_y + ColumnAndShifts::contract_instance_retrieval_outgoing_viewing_key_hash, + ColumnAndShifts::contract_instance_retrieval_tagging_key_hash }; static constexpr std::array DST_COLUMNS = { ColumnAndShifts::address_derivation_address, @@ -134,14 +132,12 @@ struct lookup_contract_instance_retrieval_address_derivation_settings_ { ColumnAndShifts::address_derivation_deployer_addr, ColumnAndShifts::address_derivation_class_id, ColumnAndShifts::address_derivation_init_hash, - ColumnAndShifts::address_derivation_nullifier_key_x, - ColumnAndShifts::address_derivation_nullifier_key_y, + ColumnAndShifts::address_derivation_immutables_hash, + ColumnAndShifts::address_derivation_nullifier_key_hash, ColumnAndShifts::address_derivation_incoming_viewing_key_x, ColumnAndShifts::address_derivation_incoming_viewing_key_y, - ColumnAndShifts::address_derivation_outgoing_viewing_key_x, - ColumnAndShifts::address_derivation_outgoing_viewing_key_y, - ColumnAndShifts::address_derivation_tagging_key_x, - ColumnAndShifts::address_derivation_tagging_key_y + ColumnAndShifts::address_derivation_outgoing_viewing_key_hash, + ColumnAndShifts::address_derivation_tagging_key_hash }; }; diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_ecc_mem.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_ecc_mem.hpp index f8ccded46702..f10d3530128e 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_ecc_mem.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_ecc_mem.hpp @@ -22,7 +22,7 @@ struct lookup_ecc_mem_check_dst_addr_in_range_settings_ { static constexpr Column COUNTS = Column::lookup_ecc_mem_check_dst_addr_in_range_counts; static constexpr Column INVERSES = Column::lookup_ecc_mem_check_dst_addr_in_range_inv; static constexpr std::array SRC_COLUMNS = { - ColumnAndShifts::ecc_add_mem_dst_addr_2_, + ColumnAndShifts::ecc_add_mem_dst_addr_1_, ColumnAndShifts::ecc_add_mem_max_mem_addr, ColumnAndShifts::ecc_add_mem_sel_dst_out_of_range_err }; @@ -42,20 +42,20 @@ using lookup_ecc_mem_check_dst_addr_in_range_relation = struct lookup_ecc_mem_input_output_ecc_add_settings_ { static constexpr std::string_view NAME = "LOOKUP_ECC_MEM_INPUT_OUTPUT_ECC_ADD"; static constexpr std::string_view RELATION_NAME = "ecc_mem"; - static constexpr size_t LOOKUP_TUPLE_SIZE = 9; + static constexpr size_t LOOKUP_TUPLE_SIZE = 8; static constexpr Column SRC_SELECTOR = Column::ecc_add_mem_sel_should_exec; static constexpr Column DST_SELECTOR = Column::ecc_sel; static constexpr Column COUNTS = Column::lookup_ecc_mem_input_output_ecc_add_counts; static constexpr Column INVERSES = Column::lookup_ecc_mem_input_output_ecc_add_inv; static constexpr std::array SRC_COLUMNS = { - ColumnAndShifts::ecc_add_mem_p_x_n, ColumnAndShifts::ecc_add_mem_p_y_n, ColumnAndShifts::ecc_add_mem_p_is_inf, - ColumnAndShifts::ecc_add_mem_q_x_n, ColumnAndShifts::ecc_add_mem_q_y_n, ColumnAndShifts::ecc_add_mem_q_is_inf, - ColumnAndShifts::ecc_add_mem_res_x, ColumnAndShifts::ecc_add_mem_res_y, ColumnAndShifts::ecc_add_mem_res_is_inf + ColumnAndShifts::ecc_add_mem_p_x, ColumnAndShifts::ecc_add_mem_p_y, ColumnAndShifts::ecc_add_mem_p_is_inf, + ColumnAndShifts::ecc_add_mem_q_x, ColumnAndShifts::ecc_add_mem_q_y, ColumnAndShifts::ecc_add_mem_q_is_inf, + ColumnAndShifts::ecc_add_mem_res_x, ColumnAndShifts::ecc_add_mem_res_y }; static constexpr std::array DST_COLUMNS = { ColumnAndShifts::ecc_p_x, ColumnAndShifts::ecc_p_y, ColumnAndShifts::ecc_p_is_inf, ColumnAndShifts::ecc_q_x, ColumnAndShifts::ecc_q_y, ColumnAndShifts::ecc_q_is_inf, - ColumnAndShifts::ecc_r_x, ColumnAndShifts::ecc_r_y, ColumnAndShifts::ecc_r_is_inf + ColumnAndShifts::ecc_r_x, ColumnAndShifts::ecc_r_y }; }; diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_get_contract_instance.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_get_contract_instance.hpp index 44537395dab7..557d30fd5643 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_get_contract_instance.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_get_contract_instance.hpp @@ -16,7 +16,7 @@ namespace bb::avm2 { struct lookup_get_contract_instance_precomputed_info_settings_ { static constexpr std::string_view NAME = "LOOKUP_GET_CONTRACT_INSTANCE_PRECOMPUTED_INFO"; static constexpr std::string_view RELATION_NAME = "get_contract_instance"; - static constexpr size_t LOOKUP_TUPLE_SIZE = 5; + static constexpr size_t LOOKUP_TUPLE_SIZE = 6; static constexpr Column SRC_SELECTOR = Column::get_contract_instance_is_valid_writes_in_bounds; static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_8; static constexpr Column COUNTS = Column::lookup_get_contract_instance_precomputed_info_counts; @@ -26,14 +26,13 @@ struct lookup_get_contract_instance_precomputed_info_settings_ { ColumnAndShifts::get_contract_instance_is_valid_member_enum, ColumnAndShifts::get_contract_instance_is_deployer, ColumnAndShifts::get_contract_instance_is_class_id, - ColumnAndShifts::get_contract_instance_is_init_hash + ColumnAndShifts::get_contract_instance_is_init_hash, + ColumnAndShifts::get_contract_instance_is_immutables_hash }; static constexpr std::array DST_COLUMNS = { - ColumnAndShifts::precomputed_idx, - ColumnAndShifts::precomputed_is_valid_member_enum, - ColumnAndShifts::precomputed_is_deployer, - ColumnAndShifts::precomputed_is_class_id, - ColumnAndShifts::precomputed_is_init_hash + ColumnAndShifts::precomputed_idx, ColumnAndShifts::precomputed_is_valid_member_enum, + ColumnAndShifts::precomputed_is_deployer, ColumnAndShifts::precomputed_is_class_id, + ColumnAndShifts::precomputed_is_init_hash, ColumnAndShifts::precomputed_is_immutables_hash }; }; @@ -48,7 +47,7 @@ using lookup_get_contract_instance_precomputed_info_relation = struct lookup_get_contract_instance_contract_instance_retrieval_settings_ { static constexpr std::string_view NAME = "LOOKUP_GET_CONTRACT_INSTANCE_CONTRACT_INSTANCE_RETRIEVAL"; static constexpr std::string_view RELATION_NAME = "get_contract_instance"; - static constexpr size_t LOOKUP_TUPLE_SIZE = 7; + static constexpr size_t LOOKUP_TUPLE_SIZE = 8; static constexpr Column SRC_SELECTOR = Column::get_contract_instance_is_valid_member_enum; static constexpr Column DST_SELECTOR = Column::contract_instance_retrieval_sel; static constexpr Column COUNTS = Column::lookup_get_contract_instance_contract_instance_retrieval_counts; @@ -60,7 +59,8 @@ struct lookup_get_contract_instance_contract_instance_retrieval_settings_ { ColumnAndShifts::get_contract_instance_instance_exists, ColumnAndShifts::get_contract_instance_retrieved_deployer_addr, ColumnAndShifts::get_contract_instance_retrieved_class_id, - ColumnAndShifts::get_contract_instance_retrieved_init_hash + ColumnAndShifts::get_contract_instance_retrieved_init_hash, + ColumnAndShifts::get_contract_instance_retrieved_immutables_hash }; static constexpr std::array DST_COLUMNS = { ColumnAndShifts::contract_instance_retrieval_address, @@ -69,7 +69,8 @@ struct lookup_get_contract_instance_contract_instance_retrieval_settings_ { ColumnAndShifts::contract_instance_retrieval_exists, ColumnAndShifts::contract_instance_retrieval_deployer_addr, ColumnAndShifts::contract_instance_retrieval_current_class_id, - ColumnAndShifts::contract_instance_retrieval_init_hash + ColumnAndShifts::contract_instance_retrieval_init_hash, + ColumnAndShifts::contract_instance_retrieval_immutables_hash }; }; diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_scalar_mul.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_scalar_mul.hpp index 55f174a4a09b..b1878c5ca4a0 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_scalar_mul.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_scalar_mul.hpp @@ -56,7 +56,7 @@ struct lookup_scalar_mul_double_settings_ { ColumnAndShifts::scalar_mul_sel_not_end }; static constexpr std::array DST_COLUMNS = { - ColumnAndShifts::ecc_r_x, ColumnAndShifts::ecc_r_y, ColumnAndShifts::ecc_r_is_inf, + ColumnAndShifts::ecc_r_x, ColumnAndShifts::ecc_r_y, ColumnAndShifts::ecc_result_infinity, ColumnAndShifts::ecc_p_x, ColumnAndShifts::ecc_p_y, ColumnAndShifts::ecc_p_is_inf, ColumnAndShifts::ecc_double_op }; @@ -84,7 +84,7 @@ struct lookup_scalar_mul_add_settings_ { ColumnAndShifts::scalar_mul_temp_inf }; static constexpr std::array DST_COLUMNS = { - ColumnAndShifts::ecc_r_x, ColumnAndShifts::ecc_r_y, ColumnAndShifts::ecc_r_is_inf, + ColumnAndShifts::ecc_r_x, ColumnAndShifts::ecc_r_y, ColumnAndShifts::ecc_result_infinity, ColumnAndShifts::ecc_p_x, ColumnAndShifts::ecc_p_y, ColumnAndShifts::ecc_p_is_inf, ColumnAndShifts::ecc_q_x, ColumnAndShifts::ecc_q_y, ColumnAndShifts::ecc_q_is_inf }; diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/memory.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/memory.hpp index 1a9fcea17707..774d0abe47ee 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/memory.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/memory.hpp @@ -14,10 +14,10 @@ template class memoryImpl { public: using FF = FF_; - static constexpr std::array SUBRELATION_PARTIAL_LENGTHS = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, - 3, 3, 3, 5, 5, 2, 4, 4, 4, 4, 5, 3 }; + static constexpr std::array SUBRELATION_PARTIAL_LENGTHS = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, + 3, 3, 3, 3, 3, 5, 5, 2, 4, 4, 4, 4, 5, 3 }; template inline static bool skip(const AllEntities& in) { @@ -38,18 +38,18 @@ template class memory : public Relation> { static constexpr const std::string_view NAME = "memory"; // Subrelation indices constants, to be used in tests. - static constexpr size_t SR_ACTIVE_ROW_NEEDS_PERM_SELECTOR = 41; - static constexpr size_t SR_MEM_CONTINUITY = 46; - static constexpr size_t SR_SEL_RNG_CHK = 47; - static constexpr size_t SR_LAST_ACCESS = 48; - static constexpr size_t SR_DIFF = 49; - static constexpr size_t SR_DIFF_DECOMP = 50; - static constexpr size_t SR_MEMORY_INIT_VALUE = 51; - static constexpr size_t SR_MEMORY_INIT_TAG = 52; - static constexpr size_t SR_READ_WRITE_CONSISTENCY_VALUE = 53; - static constexpr size_t SR_READ_WRITE_CONSISTENCY_TAG = 54; - static constexpr size_t SR_TAG_IS_FF = 55; - static constexpr size_t SR_SEL_RNG_WRITE = 56; + static constexpr size_t SR_ACTIVE_ROW_NEEDS_PERM_SELECTOR = 40; + static constexpr size_t SR_MEM_CONTINUITY = 45; + static constexpr size_t SR_SEL_RNG_CHK = 46; + static constexpr size_t SR_LAST_ACCESS = 47; + static constexpr size_t SR_DIFF = 48; + static constexpr size_t SR_DIFF_DECOMP = 49; + static constexpr size_t SR_MEMORY_INIT_VALUE = 50; + static constexpr size_t SR_MEMORY_INIT_TAG = 51; + static constexpr size_t SR_READ_WRITE_CONSISTENCY_VALUE = 52; + static constexpr size_t SR_READ_WRITE_CONSISTENCY_TAG = 53; + static constexpr size_t SR_TAG_IS_FF = 54; + static constexpr size_t SR_SEL_RNG_WRITE = 55; static std::string get_subrelation_label(size_t index) { diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/memory_impl.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/memory_impl.hpp index 796a1744fad2..b79718f77609 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/memory_impl.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/memory_impl.hpp @@ -261,18 +261,12 @@ void memoryImpl::accumulate(ContainerOverSubrelations& evals, } { using View = typename std::tuple_element_t<39, ContainerOverSubrelations>::View; - auto tmp = static_cast(in.get(C::memory_sel_ecc_write_2_)) * - (FF(1) - static_cast(in.get(C::memory_sel_ecc_write_2_))); - std::get<39>(evals) += (tmp * scaling_factor); - } - { - using View = typename std::tuple_element_t<40, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::memory_sel_to_radix_write)) * (FF(1) - static_cast(in.get(C::memory_sel_to_radix_write))); - std::get<40>(evals) += (tmp * scaling_factor); + std::get<39>(evals) += (tmp * scaling_factor); } { // ACTIVE_ROW_NEEDS_PERM_SELECTOR - using View = typename std::tuple_element_t<41, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<40, ContainerOverSubrelations>::View; auto tmp = (static_cast(in.get(C::memory_sel)) - (static_cast(in.get(C::memory_sel_addressing_base)) + @@ -313,118 +307,117 @@ void memoryImpl::accumulate(ContainerOverSubrelations& evals, static_cast(in.get(C::memory_sel_sha256_op_7_)) + static_cast(in.get(C::memory_sel_ecc_write_0_)) + static_cast(in.get(C::memory_sel_ecc_write_1_)) + - static_cast(in.get(C::memory_sel_ecc_write_2_)) + static_cast(in.get(C::memory_sel_to_radix_write)))); - std::get<41>(evals) += (tmp * scaling_factor); + std::get<40>(evals) += (tmp * scaling_factor); } { - using View = typename std::tuple_element_t<42, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<41, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::memory_sel)) * (FF(1) - static_cast(in.get(C::memory_sel))); - std::get<42>(evals) += (tmp * scaling_factor); + std::get<41>(evals) += (tmp * scaling_factor); } { - using View = typename std::tuple_element_t<43, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<42, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::memory_last_access)) * (FF(1) - static_cast(in.get(C::memory_last_access))); - std::get<43>(evals) += (tmp * scaling_factor); + std::get<42>(evals) += (tmp * scaling_factor); } { - using View = typename std::tuple_element_t<44, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<43, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::memory_rw)) * (FF(1) - static_cast(in.get(C::memory_rw))); - std::get<44>(evals) += (tmp * scaling_factor); + std::get<43>(evals) += (tmp * scaling_factor); } { - using View = typename std::tuple_element_t<45, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<44, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::memory_sel_tag_is_ff)) * (FF(1) - static_cast(in.get(C::memory_sel_tag_is_ff))); - std::get<45>(evals) += (tmp * scaling_factor); + std::get<44>(evals) += (tmp * scaling_factor); } { // MEM_CONTINUITY - using View = typename std::tuple_element_t<46, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<45, ContainerOverSubrelations>::View; auto tmp = ((FF(1) - static_cast(in.get(C::precomputed_first_row))) - static_cast(in.get(C::memory_sel))) * static_cast(in.get(C::memory_sel_shift)); - std::get<46>(evals) += (tmp * scaling_factor); + std::get<45>(evals) += (tmp * scaling_factor); } { // SEL_RNG_CHK - using View = typename std::tuple_element_t<47, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<46, ContainerOverSubrelations>::View; auto tmp = (static_cast(in.get(C::memory_sel_rng_chk)) - static_cast(in.get(C::memory_sel)) * static_cast(in.get(C::memory_sel_shift))); - std::get<47>(evals) += (tmp * scaling_factor); + std::get<46>(evals) += (tmp * scaling_factor); } { // LAST_ACCESS - using View = typename std::tuple_element_t<48, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<47, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::memory_sel_rng_chk)) * (CView(memory_GLOBAL_ADDR_DIFF) * ((FF(1) - static_cast(in.get(C::memory_last_access))) * (FF(1) - static_cast(in.get(C::memory_glob_addr_diff_inv))) + static_cast(in.get(C::memory_glob_addr_diff_inv))) - static_cast(in.get(C::memory_last_access))); - std::get<48>(evals) += (tmp * scaling_factor); + std::get<47>(evals) += (tmp * scaling_factor); } { // DIFF - using View = typename std::tuple_element_t<49, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<48, ContainerOverSubrelations>::View; auto tmp = (static_cast(in.get(C::memory_diff)) - static_cast(in.get(C::memory_sel_rng_chk)) * (static_cast(in.get(C::memory_last_access)) * CView(memory_GLOBAL_ADDR_DIFF) + (FF(1) - static_cast(in.get(C::memory_last_access))) * (CView(memory_TIMESTAMP_DIFF) - static_cast(in.get(C::memory_rw_shift)) * static_cast(in.get(C::memory_rw))))); - std::get<49>(evals) += (tmp * scaling_factor); + std::get<48>(evals) += (tmp * scaling_factor); } { // DIFF_DECOMP - using View = typename std::tuple_element_t<50, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<49, ContainerOverSubrelations>::View; auto tmp = (static_cast(in.get(C::memory_diff)) - (static_cast(in.get(C::memory_limb_0_)) + static_cast(in.get(C::memory_limb_1_)) * FF(65536) + static_cast(in.get(C::memory_limb_2_)) * FF(4294967296UL))); - std::get<50>(evals) += (tmp * scaling_factor); + std::get<49>(evals) += (tmp * scaling_factor); } { // MEMORY_INIT_VALUE - using View = typename std::tuple_element_t<51, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<50, ContainerOverSubrelations>::View; auto tmp = (static_cast(in.get(C::memory_last_access)) + static_cast(in.get(C::precomputed_first_row))) * (FF(1) - static_cast(in.get(C::memory_rw_shift))) * static_cast(in.get(C::memory_value_shift)); - std::get<51>(evals) += (tmp * scaling_factor); + std::get<50>(evals) += (tmp * scaling_factor); } { // MEMORY_INIT_TAG - using View = typename std::tuple_element_t<52, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<51, ContainerOverSubrelations>::View; auto tmp = (static_cast(in.get(C::memory_last_access)) + static_cast(in.get(C::precomputed_first_row))) * (FF(1) - static_cast(in.get(C::memory_rw_shift))) * (static_cast(in.get(C::memory_tag_shift)) - CView(constants_MEM_TAG_FF)); - std::get<52>(evals) += (tmp * scaling_factor); + std::get<51>(evals) += (tmp * scaling_factor); } { // READ_WRITE_CONSISTENCY_VALUE - using View = typename std::tuple_element_t<53, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<52, ContainerOverSubrelations>::View; auto tmp = (FF(1) - static_cast(in.get(C::memory_last_access))) * (FF(1) - static_cast(in.get(C::memory_rw_shift))) * (static_cast(in.get(C::memory_value_shift)) - static_cast(in.get(C::memory_value))); - std::get<53>(evals) += (tmp * scaling_factor); + std::get<52>(evals) += (tmp * scaling_factor); } { // READ_WRITE_CONSISTENCY_TAG - using View = typename std::tuple_element_t<54, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<53, ContainerOverSubrelations>::View; auto tmp = (FF(1) - static_cast(in.get(C::memory_last_access))) * (FF(1) - static_cast(in.get(C::memory_rw_shift))) * (static_cast(in.get(C::memory_tag_shift)) - static_cast(in.get(C::memory_tag))); - std::get<54>(evals) += (tmp * scaling_factor); + std::get<53>(evals) += (tmp * scaling_factor); } { // TAG_IS_FF - using View = typename std::tuple_element_t<55, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<54, ContainerOverSubrelations>::View; auto tmp = static_cast(in.get(C::memory_sel)) * ((CView(memory_TAG_FF_DIFF) * (static_cast(in.get(C::memory_sel_tag_is_ff)) * (FF(1) - static_cast(in.get(C::memory_tag_ff_diff_inv))) + static_cast(in.get(C::memory_tag_ff_diff_inv))) + static_cast(in.get(C::memory_sel_tag_is_ff))) - FF(1)); - std::get<55>(evals) += (tmp * scaling_factor); + std::get<54>(evals) += (tmp * scaling_factor); } { // SEL_RNG_WRITE - using View = typename std::tuple_element_t<56, ContainerOverSubrelations>::View; + using View = typename std::tuple_element_t<55, ContainerOverSubrelations>::View; auto tmp = (static_cast(in.get(C::memory_sel_rng_write)) - static_cast(in.get(C::memory_rw)) * (FF(1) - static_cast(in.get(C::memory_sel_tag_is_ff)))); - std::get<56>(evals) += (tmp * scaling_factor); + std::get<55>(evals) += (tmp * scaling_factor); } } diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/perms_ecc_mem.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/perms_ecc_mem.hpp index 57a85acc0089..f4965a2e1901 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/perms_ecc_mem.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/perms_ecc_mem.hpp @@ -59,28 +59,4 @@ using perm_ecc_mem_write_mem_1_settings = permutation_settings using perm_ecc_mem_write_mem_1_relation = permutation_relation_base; -/////////////////// perm_ecc_mem_write_mem_2 /////////////////// - -struct perm_ecc_mem_write_mem_2_settings_ { - static constexpr std::string_view NAME = "PERM_ECC_MEM_WRITE_MEM_2"; - static constexpr std::string_view RELATION_NAME = "ecc_mem"; - static constexpr size_t COLUMNS_PER_SET = 6; - static constexpr Column SRC_SELECTOR = Column::ecc_add_mem_sel_should_exec; - static constexpr Column DST_SELECTOR = Column::memory_sel_ecc_write_2_; - static constexpr Column INVERSES = Column::perm_ecc_mem_write_mem_2_inv; - static constexpr std::array SRC_COLUMNS = { - ColumnAndShifts::ecc_add_mem_execution_clk, ColumnAndShifts::ecc_add_mem_space_id, - ColumnAndShifts::ecc_add_mem_dst_addr_2_, ColumnAndShifts::ecc_add_mem_res_is_inf, - ColumnAndShifts::ecc_add_mem_sel_should_exec, ColumnAndShifts::ecc_add_mem_sel_should_exec - }; - static constexpr std::array DST_COLUMNS = { - ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id, ColumnAndShifts::memory_address, - ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag, ColumnAndShifts::memory_rw - }; -}; - -using perm_ecc_mem_write_mem_2_settings = permutation_settings; -template -using perm_ecc_mem_write_mem_2_relation = permutation_relation_base; - } // namespace bb::avm2 diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/perms_execution.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/perms_execution.hpp index a171ea2203bc..0cc2e72ecab0 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/perms_execution.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/perms_execution.hpp @@ -256,7 +256,7 @@ using perm_execution_dispatch_to_keccakf1600_relation = struct perm_execution_dispatch_to_ecc_add_settings_ { static constexpr std::string_view NAME = "PERM_EXECUTION_DISPATCH_TO_ECC_ADD"; static constexpr std::string_view RELATION_NAME = "execution"; - static constexpr size_t COLUMNS_PER_SET = 10; + static constexpr size_t COLUMNS_PER_SET = 8; static constexpr Column SRC_SELECTOR = Column::execution_sel_exec_dispatch_ecc_add; static constexpr Column DST_SELECTOR = Column::ecc_add_mem_sel; static constexpr Column INVERSES = Column::perm_execution_dispatch_to_ecc_add_inv; @@ -264,14 +264,12 @@ struct perm_execution_dispatch_to_ecc_add_settings_ { ColumnAndShifts::execution_clk, ColumnAndShifts::execution_context_id, ColumnAndShifts::execution_register_0_, ColumnAndShifts::execution_register_1_, ColumnAndShifts::execution_register_2_, ColumnAndShifts::execution_register_3_, - ColumnAndShifts::execution_register_4_, ColumnAndShifts::execution_register_5_, - ColumnAndShifts::execution_rop_6_, ColumnAndShifts::execution_sel_opcode_error + ColumnAndShifts::execution_rop_4_, ColumnAndShifts::execution_sel_opcode_error }; static constexpr std::array DST_COLUMNS = { ColumnAndShifts::ecc_add_mem_execution_clk, ColumnAndShifts::ecc_add_mem_space_id, ColumnAndShifts::ecc_add_mem_p_x, ColumnAndShifts::ecc_add_mem_p_y, - ColumnAndShifts::ecc_add_mem_p_is_inf, ColumnAndShifts::ecc_add_mem_q_x, - ColumnAndShifts::ecc_add_mem_q_y, ColumnAndShifts::ecc_add_mem_q_is_inf, + ColumnAndShifts::ecc_add_mem_q_x, ColumnAndShifts::ecc_add_mem_q_y, ColumnAndShifts::ecc_add_mem_dst_addr_0_, ColumnAndShifts::ecc_add_mem_err }; }; diff --git a/barretenberg/cpp/src/barretenberg/vm2/simulation/events/address_derivation_event.hpp b/barretenberg/cpp/src/barretenberg/vm2/simulation/events/address_derivation_event.hpp index d84d9391653e..1dbc56aff5f9 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/simulation/events/address_derivation_event.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/simulation/events/address_derivation_event.hpp @@ -10,6 +10,7 @@ struct AddressDerivationEvent { ContractInstance instance{}; FF salted_initialization_hash = 0; FF partial_address = 0; + FF incoming_viewing_key_hash = 0; FF public_keys_hash = 0; FF preaddress = 0; EmbeddedCurvePoint preaddress_public_key = EmbeddedCurvePoint::infinity(); diff --git a/barretenberg/cpp/src/barretenberg/vm2/simulation/events/get_contract_instance_event.hpp b/barretenberg/cpp/src/barretenberg/vm2/simulation/events/get_contract_instance_event.hpp index a9d7b7195c10..bbc0ecc89a1c 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/simulation/events/get_contract_instance_event.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/simulation/events/get_contract_instance_event.hpp @@ -26,12 +26,13 @@ struct GetContractInstanceEvent { FF nullifier_tree_root = 0; FF public_data_tree_root = 0; - // Instance retrieval results including all three members which are all needed for tracegen + // Instance retrieval results including all four members which are all needed for tracegen // despite only needing the selected member in simulation. bool instance_exists = false; FF retrieved_deployer_addr = 0; FF retrieved_class_id = 0; FF retrieved_init_hash = 0; + FF retrieved_immutables_hash = 0; }; } // namespace bb::avm2::simulation diff --git a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/address_derivation.cpp b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/address_derivation.cpp index a52fb7c0ef01..db1d13f6ed24 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/address_derivation.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/address_derivation.cpp @@ -15,19 +15,21 @@ namespace bb::avm2::simulation { * If the address has already been derived, an event has already been emitted and we skip * repeating the computation and emission. Otherwise, we compute the address from the instance * members using the poseidon2, scalar_mul, and ecc traces, which is given as: - * 1. salted_init_hash = Poseidon2(DOM_SEP__SALTED_INITIALIZATION_HASH, salt, init_hash, deployer_addr) - * 2. partial_address = Poseidon2(DOM_SEP__PARTIAL_ADDRESS, class_id, salted_init_hash) - * 3. public_keys_hash = Poseidon2(DOM_SEP__PUBLIC_KEYS_HASH, [...public_keys.to_fields()]) - * 4. preaddress = Poseidon2(DOM_SEP__CONTRACT_ADDRESS_V1, public_keys_hash, partial_address) - * 5. preaddress_public_key = preaddress * G1 (Grumpkin scalar multiplication) - * 6. address = (preaddress_public_key + incoming_viewing_key).x (Grumpkin EC add) + * 1. salted_init_hash = Poseidon2(DOM_SEP__SALTED_INITIALIZATION_HASH, salt, init_hash, deployer_addr, + * immutables_hash) + * 2. partial_address = Poseidon2(DOM_SEP__PARTIAL_ADDRESS, class_id, salted_init_hash) + * 3. incoming_viewing_key_hash = Poseidon2(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, ivpk.x, ivpk.y) + * 4. public_keys_hash = Poseidon2(DOM_SEP__PUBLIC_KEYS_HASH, + * nullifier_key_hash, incoming_viewing_key_hash, outgoing_viewing_key_hash, + * tagging_key_hash) + * 5. preaddress = Poseidon2(DOM_SEP__CONTRACT_ADDRESS_V2, public_keys_hash, partial_address) + * 6. preaddress_public_key = preaddress * G1 (Grumpkin scalar multiplication) + * 7. address = (preaddress_public_key + incoming_viewing_key).x (Grumpkin EC add) * and we add the output to the local cache. * - * @throws Unexpected exception if - * - the calculated address does not match @p address. - * * @param address The expected derived address. - * @param instance The contract instance containing the address preimage. + * @param instance The contract instance containing the address preimage members. + * @throws Unexpected exception if the calculated address does not match @p address. */ void AddressDerivation::assert_derivation(const AztecAddress& address, const ContractInstance& instance) { @@ -44,28 +46,31 @@ void AddressDerivation::assert_derivation(const AztecAddress& address, const Con // First time seeing this address - do the actual derivation. // Emits Poseidon2HashEvents and Poseidon2PermutationEvents, see #[SALTED_INITIALIZATION_HASH_POSEIDON2_i] in // address_derivation.pil. - FF salted_initialization_hash = poseidon2.hash( - { DOM_SEP__SALTED_INITIALIZATION_HASH, instance.salt, instance.initialization_hash, instance.deployer }); + FF salted_initialization_hash = poseidon2.hash({ DOM_SEP__SALTED_INITIALIZATION_HASH, + instance.salt, + instance.initialization_hash, + instance.deployer, + instance.immutables_hash }); + // Emits Poseidon2HashEvents and Poseidon2PermutationEvents, see #[PARTIAL_ADDRESS_POSEIDON2] in // address_derivation.pil. FF partial_address = poseidon2.hash({ DOM_SEP__PARTIAL_ADDRESS, instance.original_contract_class_id, salted_initialization_hash }); - std::vector public_keys_hash_fields = instance.public_keys.to_fields(); - std::vector public_key_hash_vec{ DOM_SEP__PUBLIC_KEYS_HASH }; - for (size_t i = 0; i < public_keys_hash_fields.size(); i += 2) { - // Public key x coordinate. - public_key_hash_vec.push_back(public_keys_hash_fields[i]); - // Public key y coordinate. - public_key_hash_vec.push_back(public_keys_hash_fields[i + 1]); - // TODO(#7529): Public key is_infinity will be removed from address preimage, assuming false. - public_key_hash_vec.push_back(FF::zero()); - } - // Emits Poseidon2HashEvents and Poseidon2PermutationEvents, see #[PUBLIC_KEYS_HASH_POSEIDON2_i] in - // address_derivation.pil. - FF public_keys_hash = poseidon2.hash(public_key_hash_vec); + // incoming_viewing_key_hash is the only single-key hash computed in-circuit (see #[IVPK_M_HASH_POSEIDON2]). + FF incoming_viewing_key_hash = poseidon2.hash({ DOM_SEP__SINGLE_PUBLIC_KEY_HASH, + instance.public_keys.incoming_viewing_key.x, + instance.public_keys.incoming_viewing_key.y }); + + // public_keys_hash combines the four single-key hashes (see #[PUBLIC_KEYS_HASH_POSEIDON2_0..1]). + FF public_keys_hash = poseidon2.hash({ DOM_SEP__PUBLIC_KEYS_HASH, + instance.public_keys.nullifier_key_hash, + incoming_viewing_key_hash, + instance.public_keys.outgoing_viewing_key_hash, + instance.public_keys.tagging_key_hash }); + // Emits Poseidon2HashEvents and Poseidon2PermutationEvents, see #[PREADDRESS_POSEIDON2] in address_derivation.pil. - FF preaddress = poseidon2.hash({ DOM_SEP__CONTRACT_ADDRESS_V1, public_keys_hash, partial_address }); + FF preaddress = poseidon2.hash({ DOM_SEP__CONTRACT_ADDRESS_V2, public_keys_hash, partial_address }); // Note: the below ecc calls assume points are on the curve. We know preaddress_public_key is (by definition), // but it may be possible that incoming_viewing_key is not. @@ -91,6 +96,7 @@ void AddressDerivation::assert_derivation(const AztecAddress& address, const Con .instance = instance, .salted_initialization_hash = salted_initialization_hash, .partial_address = partial_address, + .incoming_viewing_key_hash = incoming_viewing_key_hash, .public_keys_hash = public_keys_hash, .preaddress = preaddress, .preaddress_public_key = preaddress_public_key, diff --git a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/address_derivation.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/address_derivation.test.cpp index 523e7ee6fd5a..aae699067b58 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/address_derivation.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/address_derivation.test.cpp @@ -40,9 +40,11 @@ TEST(AvmSimulationAddressDerivationTest, Positive) ContractInstance instance = testing::random_contract_instance(); AztecAddress derived_address = compute_contract_address(instance); - std::vector salted_init_hash_inputs = { - DOM_SEP__SALTED_INITIALIZATION_HASH, instance.salt, instance.initialization_hash, instance.deployer - }; + std::vector salted_init_hash_inputs = { DOM_SEP__SALTED_INITIALIZATION_HASH, + instance.salt, + instance.initialization_hash, + instance.deployer, + instance.immutables_hash }; FF salted_init_hash = poseidon2::hash(salted_init_hash_inputs); std::vector partial_address_inputs = { DOM_SEP__PARTIAL_ADDRESS, @@ -52,7 +54,7 @@ TEST(AvmSimulationAddressDerivationTest, Positive) FF public_keys_hash = hash_public_keys(instance.public_keys); - std::vector preaddress_inputs = { DOM_SEP__CONTRACT_ADDRESS_V1, public_keys_hash, partial_address }; + std::vector preaddress_inputs = { DOM_SEP__CONTRACT_ADDRESS_V2, public_keys_hash, partial_address }; FF preaddress = poseidon2::hash(preaddress_inputs); EmbeddedCurvePoint g1 = EmbeddedCurvePoint::one(); @@ -93,9 +95,11 @@ TEST(AvmSimulationAddressDerivationTest, Negative) ContractInstance instance = testing::random_contract_instance(); AztecAddress derived_address = compute_contract_address(instance); - std::vector salted_init_hash_inputs = { - DOM_SEP__SALTED_INITIALIZATION_HASH, instance.salt, instance.initialization_hash, instance.deployer - }; + std::vector salted_init_hash_inputs = { DOM_SEP__SALTED_INITIALIZATION_HASH, + instance.salt, + instance.initialization_hash, + instance.deployer, + instance.immutables_hash }; FF salted_init_hash = poseidon2::hash(salted_init_hash_inputs); std::vector partial_address_inputs = { DOM_SEP__PARTIAL_ADDRESS, @@ -105,7 +109,7 @@ TEST(AvmSimulationAddressDerivationTest, Negative) FF public_keys_hash = hash_public_keys(instance.public_keys); - std::vector preaddress_inputs = { DOM_SEP__CONTRACT_ADDRESS_V1, public_keys_hash, partial_address }; + std::vector preaddress_inputs = { DOM_SEP__CONTRACT_ADDRESS_V2, public_keys_hash, partial_address }; FF preaddress = poseidon2::hash(preaddress_inputs); EmbeddedCurvePoint g1 = EmbeddedCurvePoint::one(); @@ -120,10 +124,10 @@ TEST(AvmSimulationAddressDerivationTest, Negative) EXPECT_THROW(address_derivation.assert_derivation(derived_address + 1, instance), std::runtime_error); // Should fail on mutated instance for unseen address. - instance.public_keys.nullifier_key = AffinePoint::one(); + instance.public_keys.nullifier_key_hash = FF(0xdeadbeef); public_keys_hash = hash_public_keys(instance.public_keys); - preaddress_inputs = { DOM_SEP__CONTRACT_ADDRESS_V1, public_keys_hash, partial_address }; + preaddress_inputs = { DOM_SEP__CONTRACT_ADDRESS_V2, public_keys_hash, partial_address }; preaddress = poseidon2::hash(preaddress_inputs); preaddress_public_key = g1 * Fq(preaddress); address_point = preaddress_public_key + instance.public_keys.incoming_viewing_key; diff --git a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/ecc.cpp b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/ecc.cpp index 0f3e66759b28..c6a204a1c560 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/ecc.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/ecc.cpp @@ -18,7 +18,7 @@ class InternalEccException : public std::runtime_error { * @brief Adds Grumpkin curve points P and Q and emits an EccAddEvent. * Corresponds to the non-memory aware subtrace ecc.pil. * - * @throws Unexpected exception if points are not on the curve or not normalized. + * @throws Unexpected exception if points are not on the curve. * Note: This function assumes that the points p and q are on the curve. You should only use this function internally * if you can guarantee this. Otherwise it is called via the opcode ECADD, see the overloaded function Ecc::add (which * performs the curve check). @@ -32,13 +32,6 @@ EmbeddedCurvePoint Ecc::add(const EmbeddedCurvePoint& p, const EmbeddedCurvePoin // Check if points are on the curve. These will throw an unexpected exception if they fail. BB_ASSERT(p.on_curve(), "Point p is not on the curve"); BB_ASSERT(q.on_curve(), "Point q is not on the curve"); - // Check if the points are normalized (infinity points must be (0, 0, true)). - if (p.is_infinity()) { - BB_ASSERT((p.x() == 0) && (p.y() == 0), "Point p is not normalized"); - } - if (q.is_infinity()) { - BB_ASSERT((q.x() == 0) && (q.y() == 0), "Point q is not normalized"); - } EmbeddedCurvePoint result = p + q; add_events.emit({ .p = p, .q = q, .result = result }); @@ -70,14 +63,11 @@ EmbeddedCurvePoint Ecc::scalar_mul(const EmbeddedCurvePoint& point, const FF& sc // Emits ToRadixEvent, see #[TO_RADIX] in scalar_mul.pil. auto bits = to_radix.to_le_bits(scalar, 254).first; - // Normalize input infinity point (infinity points must be (0, 0, true)). - EmbeddedCurvePoint point_input = point.is_infinity() ? EmbeddedCurvePoint::infinity() : point; - // First iteration does conditional assignment instead of addition. Note: in circuit we perform reverse aggregation, // so the corresponding constraints for below are gated by 'end'. // See 'Temp Computation' section in scalar_mul.pil. - EmbeddedCurvePoint temp = point_input; + EmbeddedCurvePoint temp = point; bool bit = bits[0]; // See 'Result Computation' section in scalar_mul.pil. @@ -94,10 +84,8 @@ EmbeddedCurvePoint Ecc::scalar_mul(const EmbeddedCurvePoint& point, const FF& sc } intermediate_states[i] = { result, temp, bit }; } - scalar_mul_events.emit({ .point = point_input, - .scalar = scalar, - .intermediate_states = std::move(intermediate_states), - .result = result }); + scalar_mul_events.emit( + { .point = point, .scalar = scalar, .intermediate_states = std::move(intermediate_states), .result = result }); return result; } @@ -124,11 +112,9 @@ void Ecc::add(MemoryInterface& memory, uint16_t space_id = memory.get_space_id(); try { - // The resulting EmbeddedCurvePoint is a triple of (x, y, is_infinity). - // The x and y coordinates are stored at dst_address and dst_address + 1 respectively, - // and the is_infinity flag is stored at dst_address + 2. - // Therefore, the maximum address that needs to be written to is dst_address + 2. - uint64_t max_write_address = static_cast(dst_address) + 2; + // The resulting EmbeddedCurvePoint is (x, y), stored at dst_address and dst_address + 1 respectively. + // Therefore, the maximum address that needs to be written to is dst_address + 1. + uint64_t max_write_address = static_cast(dst_address) + 1; // Emits GreaterThanEvent, see #[CHECK_DST_ADDR_IN_RANGE] in ecc_mem.pil. if (gt.gt(max_write_address, AVM_HIGHEST_MEM_ADDRESS)) { throw InternalEccException("dst address out of range"); @@ -138,18 +124,12 @@ void Ecc::add(MemoryInterface& memory, throw InternalEccException("One of the points is not on the curve"); } - // Normalize input infinity points. - EmbeddedCurvePoint p_input = p.is_infinity() ? EmbeddedCurvePoint::infinity() : p; - EmbeddedCurvePoint q_input = q.is_infinity() ? EmbeddedCurvePoint::infinity() : q; - // Emits EccAddEvent, see #[INPUT_OUTPUT_ECC_ADD] in ecc_mem.pil. - EmbeddedCurvePoint result = - add(p_input, q_input); // Cannot throw since we have checked on_curve() and normalized. + EmbeddedCurvePoint result = add(p, q); // Cannot throw since we have checked on_curve(). - // Emits MemoryEvents, see #[WRITE_MEM_i] for i = 0, 1, 2, in ecc_mem.pil. + // Emits MemoryEvents, see #[WRITE_MEM_i] for i = 0, 1 in ecc_mem.pil. memory.set(dst_address, MemoryValue::from(result.x())); memory.set(dst_address + 1, MemoryValue::from(result.y())); - memory.set(dst_address + 2, MemoryValue::from(result.is_infinity() ? 1 : 0)); add_memory_events.emit({ .execution_clk = execution_clk, .space_id = space_id, @@ -160,7 +140,9 @@ void Ecc::add(MemoryInterface& memory, } catch (const InternalEccException& e) { // Note this point is not on the curve, but corresponds // to default values the circuit will assign. - EmbeddedCurvePoint res = EmbeddedCurvePoint(0, 0, false); + // TODO(MW): This is now a point on the curve technically (inf) - check this doesnt cause issues now res.is_inf + // is true: + EmbeddedCurvePoint res = EmbeddedCurvePoint(0, 0); add_memory_events.emit({ .execution_clk = execution_clk, .space_id = space_id, .p = p, diff --git a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/ecc.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/ecc.test.cpp index c47cdef79b2e..6667c3573883 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/ecc.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/ecc.test.cpp @@ -37,11 +37,11 @@ TEST(AvmSimulationEccTest, Add) FF p_x("0x04c95d1b26d63d46918a156cae92db1bcbc4072a27ec81dc82ea959abdbcf16a"); FF p_y("0x035b6dd9e63c1370462c74775765d07fc21fd1093cc988149d3aa763bb3dbb60"); - EmbeddedCurvePoint p(p_x, p_y, false); + EmbeddedCurvePoint p(p_x, p_y); FF q_x("0x009242167ec31949c00cbe441cd36757607406e87844fa2c8c4364a4403e66d7"); FF q_y("0x0fe3016d64cfa8045609f375284b6b739b5fa282e4cbb75cc7f1687ecc7420e3"); - EmbeddedCurvePoint q(q_x, q_y, false); + EmbeddedCurvePoint q(q_x, q_y); EmbeddedCurvePoint result = ecc.add(p, q); @@ -74,7 +74,7 @@ TEST(AvmSimulationEccTest, ScalarMul) FF scalar("0x009242167ec31949c00cbe441cd36757607406e87844fa2c8c4364a4403e66d7"); uint256_t scalar_num = scalar; - std::vector bits(254, false); + std::vector bits(254); for (size_t i = 0; i < 254; ++i) { bits[i] = scalar_num.get_bit(i); } @@ -83,7 +83,7 @@ TEST(AvmSimulationEccTest, ScalarMul) FF p_x("0x04c95d1b26d63d46918a156cae92db1bcbc4072a27ec81dc82ea959abdbcf16a"); FF p_y("0x035b6dd9e63c1370462c74775765d07fc21fd1093cc988149d3aa763bb3dbb60"); - EmbeddedCurvePoint p(p_x, p_y, false); + EmbeddedCurvePoint p(p_x, p_y); EmbeddedCurvePoint result = ecc.scalar_mul(p, scalar); @@ -128,7 +128,7 @@ TEST(AvmSimulationEccDeathTest, ScalarMulNotOnCurve) // Point P is not on the curve FF p_x("0x0000000000063d46918a156cae92db1bcbc4072a27ec81dc82ea959abdbcf16a"); FF p_y("0x00000000000c1370462c74775765d07fc21fd1093cc988149d3aa763bb3dbb60"); - EmbeddedCurvePoint p(p_x, p_y, false); + EmbeddedCurvePoint p(p_x, p_y); FF scalar("0x009242167ec31949c00cbe441cd36757607406e87844fa2c8c4364a4403e66d7"); @@ -148,29 +148,27 @@ TEST(AvmSimulationEccTest, AddWithMemory) MemoryStore memory; EXPECT_CALL(execution_id_manager, get_execution_id()).WillOnce(Return(0)); - EXPECT_CALL(gt, gt(0x1000 + 2, AVM_HIGHEST_MEM_ADDRESS)).WillOnce(Return(false)); + EXPECT_CALL(gt, gt(0x1000 + 1, AVM_HIGHEST_MEM_ADDRESS)).WillOnce(Return(false)); Ecc ecc( execution_id_manager, gt, to_radix, ecc_event_emitter, scalar_mul_event_emitter, ecc_add_memory_event_emitter); FF p_x("0x04c95d1b26d63d46918a156cae92db1bcbc4072a27ec81dc82ea959abdbcf16a"); FF p_y("0x035b6dd9e63c1370462c74775765d07fc21fd1093cc988149d3aa763bb3dbb60"); - EmbeddedCurvePoint p(p_x, p_y, false); + EmbeddedCurvePoint p(p_x, p_y); FF q_x("0x009242167ec31949c00cbe441cd36757607406e87844fa2c8c4364a4403e66d7"); FF q_y("0x0fe3016d64cfa8045609f375284b6b739b5fa282e4cbb75cc7f1687ecc7420e3"); - EmbeddedCurvePoint q(q_x, q_y, false); + EmbeddedCurvePoint q(q_x, q_y); FF r_x("0x2b01df0ef6d941a826bea23bece8243cbcdc159d5e97fbaa2171f028e05ba9b6"); FF r_y("0x0cc4c71e882bc62b7b3d1964a8540cb5211339dfcddd2e095fd444bf1aed4f09"); - EmbeddedCurvePoint expected_result(r_x, r_y, false); + EmbeddedCurvePoint expected_result(r_x, r_y); uint32_t dst_address = 0x1000; ecc.add(memory, p, q, dst_address); - EmbeddedCurvePoint result = { memory.get(dst_address).as_ff(), - memory.get(dst_address + 1).as_ff(), - static_cast(memory.get(dst_address + 2).as_ff()) }; + EmbeddedCurvePoint result = { memory.get(dst_address).as_ff(), memory.get(dst_address + 1).as_ff() }; EXPECT_EQ(result, expected_result); } @@ -186,7 +184,7 @@ TEST(AvmSimulationEccTest, AddNotOnCurve) MemoryStore memory; EXPECT_CALL(execution_id_manager, get_execution_id()).WillOnce(Return(0)); - EXPECT_CALL(gt, gt(0x1000 + 2, AVM_HIGHEST_MEM_ADDRESS)).WillOnce(Return(false)); + EXPECT_CALL(gt, gt(0x1000 + 1, AVM_HIGHEST_MEM_ADDRESS)).WillOnce(Return(false)); Ecc ecc( execution_id_manager, gt, to_radix, ecc_event_emitter, scalar_mul_event_emitter, ecc_add_memory_event_emitter); @@ -194,12 +192,12 @@ TEST(AvmSimulationEccTest, AddNotOnCurve) // Point P is not on the curve FF p_x("0x0000000000063d46918a156cae92db1bcbc4072a27ec81dc82ea959abdbcf16a"); FF p_y("0x00000000000c1370462c74775765d07fc21fd1093cc988149d3aa763bb3dbb60"); - EmbeddedCurvePoint p(p_x, p_y, false); + EmbeddedCurvePoint p(p_x, p_y); // Point Q is on the curve FF q_x("0x009242167ec31949c00cbe441cd36757607406e87844fa2c8c4364a4403e66d7"); FF q_y("0x0fe3016d64cfa8045609f375284b6b739b5fa282e4cbb75cc7f1687ecc7420e3"); - EmbeddedCurvePoint q(q_x, q_y, false); + EmbeddedCurvePoint q(q_x, q_y); uint32_t dst_address = 0x1000; EXPECT_THROW(ecc.add(memory, p, q, dst_address), EccException); @@ -217,7 +215,7 @@ TEST(AvmSimulationEccTest, InfinityOnCurve) MemoryStore memory; EXPECT_CALL(execution_id_manager, get_execution_id()).WillOnce(Return(0)); - EXPECT_CALL(gt, gt(0x1000 + 2, AVM_HIGHEST_MEM_ADDRESS)).WillOnce(Return(false)); + EXPECT_CALL(gt, gt(0x1000 + 1, AVM_HIGHEST_MEM_ADDRESS)).WillOnce(Return(false)); Ecc ecc( execution_id_manager, gt, to_radix, ecc_event_emitter, scalar_mul_event_emitter, ecc_add_memory_event_emitter); @@ -228,14 +226,12 @@ TEST(AvmSimulationEccTest, InfinityOnCurve) // Point Q is on the curve FF q_x("0x009242167ec31949c00cbe441cd36757607406e87844fa2c8c4364a4403e66d7"); FF q_y("0x0fe3016d64cfa8045609f375284b6b739b5fa282e4cbb75cc7f1687ecc7420e3"); - EmbeddedCurvePoint q(q_x, q_y, false); + EmbeddedCurvePoint q(q_x, q_y); uint32_t dst_address = 0x1000; ecc.add(memory, p, q, dst_address); - EmbeddedCurvePoint result = { memory.get(dst_address).as_ff(), - memory.get(dst_address + 1).as_ff(), - static_cast(memory.get(dst_address + 2).as_ff()) }; + EmbeddedCurvePoint result = { memory.get(dst_address).as_ff(), memory.get(dst_address + 1).as_ff() }; // INF + Q = Q EXPECT_EQ(result, q); } @@ -252,7 +248,7 @@ TEST(AvmSimulationEccTest, AddsUpToInfinity) MemoryStore memory; EXPECT_CALL(execution_id_manager, get_execution_id()).WillOnce(Return(0)); - EXPECT_CALL(gt, gt(0x1000 + 2, AVM_HIGHEST_MEM_ADDRESS)).WillOnce(Return(false)); + EXPECT_CALL(gt, gt(0x1000 + 1, AVM_HIGHEST_MEM_ADDRESS)).WillOnce(Return(false)); Ecc ecc( execution_id_manager, gt, to_radix, ecc_event_emitter, scalar_mul_event_emitter, ecc_add_memory_event_emitter); @@ -260,7 +256,7 @@ TEST(AvmSimulationEccTest, AddsUpToInfinity) // Both points on the curve, q = -p FF p_x("0x04c95d1b26d63d46918a156cae92db1bcbc4072a27ec81dc82ea959abdbcf16a"); FF p_y("0x035b6dd9e63c1370462c74775765d07fc21fd1093cc988149d3aa763bb3dbb60"); - EmbeddedCurvePoint p(p_x, p_y, false); + EmbeddedCurvePoint p(p_x, p_y); EmbeddedCurvePoint q = -p; @@ -270,8 +266,6 @@ TEST(AvmSimulationEccTest, AddsUpToInfinity) // Zero as coordinates EXPECT_EQ(memory.get(dst_address).as_ff(), FF(0)); EXPECT_EQ(memory.get(dst_address + 1).as_ff(), FF(0)); - // Infinity - EXPECT_EQ(memory.get(dst_address + 2).as_ff(), 1); } } // namespace diff --git a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/execution.cpp b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/execution.cpp index 8677802581c5..d7198445dee9 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/execution.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/execution.cpp @@ -1469,19 +1469,15 @@ void Execution::poseidon2_permutation(ContextInterface& context, MemoryAddress s * @param context The context. * @param p_x_addr The resolved address of the x coordinate of the first point. * @param p_y_addr The resolved address of the y coordinate of the first point. - * @param p_inf_addr The resolved address of the infinity flag of the first point. * @param q_x_addr The resolved address of the x coordinate of the second point. * @param q_y_addr The resolved address of the y coordinate of the second point. - * @param q_inf_addr The resolved address of the infinity flag of the second point. * @param dst_addr The resolved address of the destination memory address. * * @throws RegisterValidationException if the tags of the input values do not match the expected tags: * - tag of the memory value at p_x_addr is not FF. * - tag of the memory value at p_y_addr is not FF. - * - tag of the memory value at p_inf_addr is not U1. * - tag of the memory value at q_x_addr is not FF. * - tag of the memory value at q_y_addr is not FF. - * - tag of the memory value at q_inf_addr is not U1. * @throws OutOfGasException if the gas limit is exceeded. * @throws OpcodeExecutionException if the elliptic curve addition operation fails: * - memory write out of bounds. @@ -1490,10 +1486,8 @@ void Execution::poseidon2_permutation(ContextInterface& context, MemoryAddress s void Execution::ecc_add(ContextInterface& context, MemoryAddress p_x_addr, MemoryAddress p_y_addr, - MemoryAddress p_inf_addr, MemoryAddress q_x_addr, MemoryAddress q_y_addr, - MemoryAddress q_inf_addr, MemoryAddress dst_addr) { BB_BENCH_NAME("Execution::ecc_add"); @@ -1503,19 +1497,17 @@ void Execution::ecc_add(ContextInterface& context, // Read the points from memory. const auto& p_x = memory.get(p_x_addr); const auto& p_y = memory.get(p_y_addr); - const auto& p_inf = memory.get(p_inf_addr); const auto& q_x = memory.get(q_x_addr); const auto& q_y = memory.get(q_y_addr); - const auto& q_inf = memory.get(q_inf_addr); - set_and_validate_inputs(opcode, { p_x, p_y, p_inf, q_x, q_y, q_inf }); + set_and_validate_inputs(opcode, { p_x, p_y, q_x, q_y }); get_gas_tracker().consume_gas(); // Once inputs are tag checked the conversion to EmbeddedCurvePoint is safe, on curve checks are done in the add // method. - EmbeddedCurvePoint p = EmbeddedCurvePoint(p_x.as_ff(), p_y.as_ff(), p_inf == MemoryValue::from(1)); - EmbeddedCurvePoint q = EmbeddedCurvePoint(q_x.as_ff(), q_y.as_ff(), q_inf == MemoryValue::from(1)); + EmbeddedCurvePoint p = EmbeddedCurvePoint(p_x.as_ff(), p_y.as_ff()); + EmbeddedCurvePoint q = EmbeddedCurvePoint(q_x.as_ff(), q_y.as_ff()); try { embedded_curve.add(memory, p, q, dst_addr); diff --git a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/execution.hpp b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/execution.hpp index 2c40a5d412f3..af2ade7692ad 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/execution.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/execution.hpp @@ -173,10 +173,8 @@ class Execution : public ExecutionInterface { void ecc_add(ContextInterface& context, MemoryAddress p_x_addr, MemoryAddress p_y_addr, - MemoryAddress p_inf_addr, MemoryAddress q_x_addr, MemoryAddress q_y_addr, - MemoryAddress q_inf_addr, MemoryAddress dst_addr); void to_radix_be(ContextInterface& context, MemoryAddress value_addr, diff --git a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/execution.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/execution.test.cpp index 8824c8fe91a0..234e8b4e409b 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/execution.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/execution.test.cpp @@ -1034,29 +1034,24 @@ TEST_F(ExecutionSimulationTest, EccAdd) { MemoryAddress p_x_addr = 10; MemoryAddress p_y_addr = 15; - MemoryAddress p_is_inf_addr = 25; MemoryAddress q_x_addr = 20; MemoryAddress q_y_addr = 30; - MemoryAddress q_is_inf_addr = 35; MemoryAddress dst_addr = 40; MemoryValue p_x = MemoryValue::from(FF("0x04c95d1b26d63d46918a156cae92db1bcbc4072a27ec81dc82ea959abdbcf16a")); MemoryValue p_y = MemoryValue::from(FF("0x035b6dd9e63c1370462c74775765d07fc21fd1093cc988149d3aa763bb3dbb60")); - EmbeddedCurvePoint p(p_x.as_ff(), p_y, false); + EmbeddedCurvePoint p(p_x.as_ff(), p_y); MemoryValue q_x = MemoryValue::from(FF("0x009242167ec31949c00cbe441cd36757607406e87844fa2c8c4364a4403e66d7")); MemoryValue q_y = MemoryValue::from(FF("0x0fe3016d64cfa8045609f375284b6b739b5fa282e4cbb75cc7f1687ecc7420e3")); - EmbeddedCurvePoint q(q_x.as_ff(), q_y.as_ff(), false); + EmbeddedCurvePoint q(q_x.as_ff(), q_y.as_ff()); // Mock the context and memory interactions - MemoryValue zero = MemoryValue::from(0); EXPECT_CALL(context, get_memory()).WillRepeatedly(ReturnRef(memory)); EXPECT_CALL(Const(memory), get(p_x_addr)).WillOnce(ReturnRef(p_x)); EXPECT_CALL(memory, get(p_y_addr)).WillOnce(ReturnRef(p_y)); - EXPECT_CALL(memory, get(p_is_inf_addr)).WillOnce(ReturnRef(zero)); // p is not infinity EXPECT_CALL(memory, get(q_x_addr)).WillOnce(ReturnRef(q_x)); EXPECT_CALL(memory, get(q_y_addr)).WillOnce(ReturnRef(q_y)); - EXPECT_CALL(memory, get(q_is_inf_addr)).WillOnce(ReturnRef(zero)); // q is not infinity EXPECT_CALL(gas_tracker, consume_gas); @@ -1064,7 +1059,7 @@ TEST_F(ExecutionSimulationTest, EccAdd) EXPECT_CALL(ecc, add(_, _, _, dst_addr)); // Execute the ECC add operation - execution.ecc_add(context, p_x_addr, p_y_addr, p_is_inf_addr, q_x_addr, q_y_addr, q_is_inf_addr, dst_addr); + execution.ecc_add(context, p_x_addr, p_y_addr, q_x_addr, q_y_addr, dst_addr); } TEST_F(ExecutionSimulationTest, ToRadixBE) diff --git a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/get_contract_instance.cpp b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/get_contract_instance.cpp index 91b2818a724c..c79ed4ae21b7 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/get_contract_instance.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/simulation/gadgets/get_contract_instance.cpp @@ -39,7 +39,8 @@ GetContractInstance::GetContractInstance(ExecutionIdManagerInterface& execution_ * @param memory The memory interface for the current context. * @param contract_address The address of the contract to look up. * @param dst_offset The memory offset at which to write the exists flag. - * @param member_enum The enum selecting which instance member to retrieve (deployer/class_id/init_hash). + * @param member_enum The enum selecting which instance member to retrieve + * (deployer/class_id/init_hash/immutables_hash). * @throws GetContractInstanceException If dst_offset+1 is out of bounds (checked first). * @throws GetContractInstanceException If member_enum is invalid (checked after bounds check). */ @@ -90,17 +91,20 @@ void GetContractInstance::get_contract_instance(MemoryInterface& memory, instance_exists ? select_instance_member(maybe_instance.value(), member_enum) : FF(0); write_results(memory, dst_offset, instance_exists, selected_member_value); - event_emitter.emit({ .execution_clk = execution_clk, - .contract_address = contract_address, - .dst_offset = dst_offset, - .member_enum = member_enum, - .space_id = space_id, - .nullifier_tree_root = nullifier_tree_root, - .public_data_tree_root = public_data_tree_root, - .instance_exists = instance_exists, - .retrieved_deployer_addr = instance_exists ? maybe_instance->deployer : FF(0), - .retrieved_class_id = instance_exists ? maybe_instance->current_contract_class_id : FF(0), - .retrieved_init_hash = instance_exists ? maybe_instance->initialization_hash : FF(0) }); + event_emitter.emit({ + .execution_clk = execution_clk, + .contract_address = contract_address, + .dst_offset = dst_offset, + .member_enum = member_enum, + .space_id = space_id, + .nullifier_tree_root = nullifier_tree_root, + .public_data_tree_root = public_data_tree_root, + .instance_exists = instance_exists, + .retrieved_deployer_addr = instance_exists ? maybe_instance->deployer : FF(0), + .retrieved_class_id = instance_exists ? maybe_instance->current_contract_class_id : FF(0), + .retrieved_init_hash = instance_exists ? maybe_instance->initialization_hash : FF(0), + .retrieved_immutables_hash = instance_exists ? maybe_instance->immutables_hash : FF(0), + }); } /** @@ -139,6 +143,8 @@ FF GetContractInstance::select_instance_member(const ContractInstance& instance, return instance.current_contract_class_id; case ContractInstanceMember::INIT_HASH: return instance.initialization_hash; + case ContractInstanceMember::IMMUTABLES_HASH: + return instance.immutables_hash; default: throw std::runtime_error("This error should have been handled earlier! Invalid member enum: " + std::to_string(member_enum)); diff --git a/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/contract_crypto.cpp b/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/contract_crypto.cpp index 77db48bc7606..dc6df18c382d 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/contract_crypto.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/contract_crypto.cpp @@ -74,18 +74,17 @@ FF compute_contract_class_id(const FF& artifact_hash, const FF& private_fn_root, return poseidon2::hash({ DOM_SEP__CONTRACT_CLASS_ID, artifact_hash, private_fn_root, public_bytecode_commitment }); } +// public_keys_hash combines the four hashes (with the ivpk_m one computed in-circuit +// from its (x, y) coordinates) under DOM_SEP__PUBLIC_KEYS_HASH. FF hash_public_keys(const PublicKeys& public_keys) { - std::vector public_keys_hash_fields = public_keys.to_fields(); - - std::vector public_key_hash_vec{ DOM_SEP__PUBLIC_KEYS_HASH }; - for (size_t i = 0; i < public_keys_hash_fields.size(); i += 2) { - public_key_hash_vec.push_back(public_keys_hash_fields[i]); - public_key_hash_vec.push_back(public_keys_hash_fields[i + 1]); - // TODO(#7529): is_infinity will be removed from address preimage, assuming false. - public_key_hash_vec.push_back(FF::zero()); - } - return poseidon2::hash({ public_key_hash_vec }); + FF incoming_viewing_key_hash = poseidon2::hash( + { DOM_SEP__SINGLE_PUBLIC_KEY_HASH, public_keys.incoming_viewing_key.x, public_keys.incoming_viewing_key.y }); + return poseidon2::hash({ DOM_SEP__PUBLIC_KEYS_HASH, + public_keys.nullifier_key_hash, + incoming_viewing_key_hash, + public_keys.outgoing_viewing_key_hash, + public_keys.tagging_key_hash }); } // Computes a contract instance's derived address. Follows method of AddressDerivation::assert_derivation() (noir's @@ -95,12 +94,13 @@ FF compute_contract_address(const ContractInstance& contract_instance) FF salted_initialization_hash = poseidon2::hash({ DOM_SEP__SALTED_INITIALIZATION_HASH, contract_instance.salt, contract_instance.initialization_hash, - contract_instance.deployer }); + contract_instance.deployer, + contract_instance.immutables_hash }); FF partial_address = poseidon2::hash( { DOM_SEP__PARTIAL_ADDRESS, contract_instance.original_contract_class_id, salted_initialization_hash }); FF public_keys_hash = hash_public_keys(contract_instance.public_keys); - FF h = poseidon2::hash({ DOM_SEP__CONTRACT_ADDRESS_V1, public_keys_hash, partial_address }); + FF h = poseidon2::hash({ DOM_SEP__CONTRACT_ADDRESS_V2, public_keys_hash, partial_address }); // This is safe since BN254_Fr < GRUMPKIN_Fr so we know there is no modulo reduction grumpkin::fr h_fq = grumpkin::fr(h); BB_ASSERT(contract_instance.public_keys.incoming_viewing_key.on_curve(), diff --git a/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/hinting_dbs.cpp b/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/hinting_dbs.cpp index 71f55503510f..937aa2098302 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/hinting_dbs.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/hinting_dbs.cpp @@ -31,11 +31,11 @@ std::optional HintingContractsDB::get_contract_instance(const .current_contract_class_id = instance->current_contract_class_id, .original_contract_class_id = instance->original_contract_class_id, .initialization_hash = instance->initialization_hash, - .public_keys = - PublicKeysHint{ .master_nullifier_public_key = instance->public_keys.nullifier_key, - .master_incoming_viewing_public_key = instance->public_keys.incoming_viewing_key, - .master_outgoing_viewing_public_key = instance->public_keys.outgoing_viewing_key, - .master_tagging_public_key = instance->public_keys.tagging_key } + .immutables_hash = instance->immutables_hash, + .public_keys = PublicKeysHint{ .npk_m_hash = instance->public_keys.nullifier_key_hash, + .ivpk_m = instance->public_keys.incoming_viewing_key, + .ovpk_m_hash = instance->public_keys.outgoing_viewing_key_hash, + .tpk_m_hash = instance->public_keys.tagging_key_hash } }; } diff --git a/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/raw_data_dbs.cpp b/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/raw_data_dbs.cpp index 43789d46d53e..31656d511065 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/raw_data_dbs.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/raw_data_dbs.cpp @@ -113,12 +113,13 @@ std::optional HintedRawContractDB::get_contract_instance(const .current_contract_class_id = contract_instance_hint.current_contract_class_id, .original_contract_class_id = contract_instance_hint.original_contract_class_id, .initialization_hash = contract_instance_hint.initialization_hash, + .immutables_hash = contract_instance_hint.immutables_hash, .public_keys = PublicKeys{ - .nullifier_key = contract_instance_hint.public_keys.master_nullifier_public_key, - .incoming_viewing_key = contract_instance_hint.public_keys.master_incoming_viewing_public_key, - .outgoing_viewing_key = contract_instance_hint.public_keys.master_outgoing_viewing_public_key, - .tagging_key = contract_instance_hint.public_keys.master_tagging_public_key, + .nullifier_key_hash = contract_instance_hint.public_keys.npk_m_hash, + .incoming_viewing_key = contract_instance_hint.public_keys.ivpk_m, + .outgoing_viewing_key_hash = contract_instance_hint.public_keys.ovpk_m_hash, + .tagging_key_hash = contract_instance_hint.public_keys.tpk_m_hash, }, }); } diff --git a/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/serialization.cpp b/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/serialization.cpp index 54446cb8fe27..b879a8ff1ea3 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/serialization.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/simulation/lib/serialization.cpp @@ -188,10 +188,8 @@ const std::unordered_map>& get_wire_opcode_ { OperandType::INDIRECT16, OperandType::UINT16, // lhs.x OperandType::UINT16, // lhs.y - OperandType::UINT16, // lhs.is_infinite OperandType::UINT16, // rhs.x OperandType::UINT16, // rhs.y - OperandType::UINT16, // rhs.is_infinite OperandType::UINT16 } }, // dst_offset // Gadget - Conversion { WireOpCode::TORADIXBE, diff --git a/barretenberg/cpp/src/barretenberg/vm2/testing/avm_inputs.testdata.bin b/barretenberg/cpp/src/barretenberg/vm2/testing/avm_inputs.testdata.bin index 515bb19cc8da..1a42b7d8a10f 100644 Binary files a/barretenberg/cpp/src/barretenberg/vm2/testing/avm_inputs.testdata.bin and b/barretenberg/cpp/src/barretenberg/vm2/testing/avm_inputs.testdata.bin differ diff --git a/barretenberg/cpp/src/barretenberg/vm2/testing/fixtures.cpp b/barretenberg/cpp/src/barretenberg/vm2/testing/fixtures.cpp index 1d26f21b5482..181e943d0b6a 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/testing/fixtures.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/testing/fixtures.cpp @@ -163,11 +163,12 @@ ContractInstance random_contract_instance() .current_contract_class_id = FF::random_element(), .original_contract_class_id = FF::random_element(), .initialization_hash = FF::random_element(), + .immutables_hash = FF::random_element(), .public_keys = PublicKeys{ - .nullifier_key = AffinePoint::random_element(), + .nullifier_key_hash = FF::random_element(), .incoming_viewing_key = AffinePoint::random_element(), - .outgoing_viewing_key = AffinePoint::random_element(), - .tagging_key = AffinePoint::random_element(), + .outgoing_viewing_key_hash = FF::random_element(), + .tagging_key_hash = FF::random_element(), } }; return instance; } diff --git a/barretenberg/cpp/src/barretenberg/vm2/testing/minimal_tx.testdata.bin b/barretenberg/cpp/src/barretenberg/vm2/testing/minimal_tx.testdata.bin index b1bad858f3f2..60475d2bdd58 100644 Binary files a/barretenberg/cpp/src/barretenberg/vm2/testing/minimal_tx.testdata.bin and b/barretenberg/cpp/src/barretenberg/vm2/testing/minimal_tx.testdata.bin differ diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/address_derivation_trace.cpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/address_derivation_trace.cpp index cc0cf036fe3a..eb9579da5105 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/address_derivation_trace.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/address_derivation_trace.cpp @@ -17,13 +17,17 @@ namespace bb::avm2::tracegen { * Corresponds to the subtrace address_derivation.pil. * * This trace is non memory-aware and does not handle any errors. It relies on the poseidon2, - * scalar_mul, and ecc traces to constrain correctness of the address, which is derived as: - * 1. salted_init_hash = Poseidon2(DOM_SEP__SALTED_INITIALIZATION_HASH, salt, init_hash, deployer_addr) - * 2. partial_address = Poseidon2(DOM_SEP__PARTIAL_ADDRESS, class_id, salted_init_hash) - * 3. public_keys_hash = Poseidon2(DOM_SEP__PUBLIC_KEYS_HASH, [...public_keys.to_fields()]) - * 4. preaddress = Poseidon2(DOM_SEP__CONTRACT_ADDRESS_V1, public_keys_hash, partial_address) - * 5. preaddress_public_key = preaddress * G1 (Grumpkin scalar multiplication) - * 6. address = (preaddress_public_key + incoming_viewing_key).x (Grumpkin EC add) + * scalar_mul, and ecc traces to constrain correctness of the address. Only the + * incoming_viewing_key is held as a Grumpkin point; the other three master public keys are + * exposed as their hashes (DOM_SEP__SINGLE_PUBLIC_KEY_HASH). The address is derived as: + * 1. salted_init_hash = Poseidon2(DOM_SEP__SALTED_INITIALIZATION_HASH, salt, init_hash, deployer_addr, + * immutables_hash) + * 2. partial_address = Poseidon2(DOM_SEP__PARTIAL_ADDRESS, class_id, salted_init_hash) + * 3. incoming_viewing_key_hash = Poseidon2(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, ivpk.x, ivpk.y) + * 4. public_keys_hash = Poseidon2(DOM_SEP__PUBLIC_KEYS_HASH, npk_hash, ivpk_m_hash, ovpk_hash, tpk_hash) + * 5. preaddress = Poseidon2(DOM_SEP__CONTRACT_ADDRESS_V2, public_keys_hash, partial_address) + * 6. preaddress_public_key = preaddress * G1 (Grumpkin scalar multiplication) + * 7. address = (preaddress_public_key + incoming_viewing_key).x (Grumpkin EC add) * * @param events The container of address derivation events to process. * @param trace The trace container. @@ -48,18 +52,18 @@ void AddressDerivationTraceBuilder::process( { C::address_derivation_deployer_addr, event.instance.deployer }, { C::address_derivation_class_id, event.instance.original_contract_class_id }, { C::address_derivation_init_hash, event.instance.initialization_hash }, - // Public keys (Grumpkin curve points). - { C::address_derivation_nullifier_key_x, event.instance.public_keys.nullifier_key.x }, - { C::address_derivation_nullifier_key_y, event.instance.public_keys.nullifier_key.y }, + { C::address_derivation_immutables_hash, event.instance.immutables_hash }, + // Public keys: only ivpk_m as a point, the other three as hashes. + { C::address_derivation_nullifier_key_hash, event.instance.public_keys.nullifier_key_hash }, { C::address_derivation_incoming_viewing_key_x, event.instance.public_keys.incoming_viewing_key.x }, { C::address_derivation_incoming_viewing_key_y, event.instance.public_keys.incoming_viewing_key.y }, - { C::address_derivation_outgoing_viewing_key_x, event.instance.public_keys.outgoing_viewing_key.x }, - { C::address_derivation_outgoing_viewing_key_y, event.instance.public_keys.outgoing_viewing_key.y }, - { C::address_derivation_tagging_key_x, event.instance.public_keys.tagging_key.x }, - { C::address_derivation_tagging_key_y, event.instance.public_keys.tagging_key.y }, + { C::address_derivation_outgoing_viewing_key_hash, + event.instance.public_keys.outgoing_viewing_key_hash }, + { C::address_derivation_tagging_key_hash, event.instance.public_keys.tagging_key_hash }, // Intermediate hash results. { C::address_derivation_salted_init_hash, event.salted_initialization_hash }, { C::address_derivation_partial_address, event.partial_address }, + { C::address_derivation_incoming_viewing_key_hash, event.incoming_viewing_key_hash }, { C::address_derivation_public_keys_hash, event.public_keys_hash }, { C::address_derivation_preaddress, event.preaddress }, // Intermediate EC results. @@ -69,14 +73,13 @@ void AddressDerivationTraceBuilder::process( // Constant columns (this is temp because aliasing is not allowed in lookups). { C::address_derivation_salted_init_hash_domain_separator, DOM_SEP__SALTED_INITIALIZATION_HASH }, { C::address_derivation_partial_address_domain_separator, DOM_SEP__PARTIAL_ADDRESS }, + { C::address_derivation_single_public_key_hash_domain_separator, DOM_SEP__SINGLE_PUBLIC_KEY_HASH }, { C::address_derivation_public_keys_hash_domain_separator, DOM_SEP__PUBLIC_KEYS_HASH }, - { C::address_derivation_preaddress_domain_separator, DOM_SEP__CONTRACT_ADDRESS_V1 }, + { C::address_derivation_preaddress_domain_separator, DOM_SEP__CONTRACT_ADDRESS_V2 }, { C::address_derivation_g1_x, g1.x() }, { C::address_derivation_g1_y, g1.y() }, - { C::address_derivation_const_two, 2 }, { C::address_derivation_const_three, 3 }, - { C::address_derivation_const_four, 4 }, - { C::address_derivation_const_thirteen, 13 } } }); + { C::address_derivation_const_five, 5 } } }); row++; } } @@ -88,11 +91,9 @@ const InteractionDefinition AddressDerivationTraceBuilder::interactions = .add() .add() + .add() .add() .add() - .add() - .add() - .add() .add() .add() .add(); diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/address_derivation_trace.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/address_derivation_trace.test.cpp index 42fc8dda7bae..febf919118c3 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/address_derivation_trace.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/address_derivation_trace.test.cpp @@ -35,6 +35,7 @@ TEST(AddressDerivationTraceGenTest, TraceGeneration) .instance = instance, .salted_initialization_hash = FF(12), .partial_address = FF(23), + .incoming_viewing_key_hash = FF(56), .public_keys_hash = FF(34), .preaddress = FF(45), .preaddress_public_key = preaddress_public_key, @@ -52,16 +53,16 @@ TEST(AddressDerivationTraceGenTest, TraceGeneration) ROW_FIELD_EQ(address_derivation_deployer_addr, instance.deployer), ROW_FIELD_EQ(address_derivation_class_id, instance.original_contract_class_id), ROW_FIELD_EQ(address_derivation_init_hash, instance.initialization_hash), - ROW_FIELD_EQ(address_derivation_nullifier_key_x, instance.public_keys.nullifier_key.x), - ROW_FIELD_EQ(address_derivation_nullifier_key_y, instance.public_keys.nullifier_key.y), + ROW_FIELD_EQ(address_derivation_immutables_hash, instance.immutables_hash), + ROW_FIELD_EQ(address_derivation_nullifier_key_hash, instance.public_keys.nullifier_key_hash), ROW_FIELD_EQ(address_derivation_incoming_viewing_key_x, instance.public_keys.incoming_viewing_key.x), ROW_FIELD_EQ(address_derivation_incoming_viewing_key_y, instance.public_keys.incoming_viewing_key.y), - ROW_FIELD_EQ(address_derivation_outgoing_viewing_key_x, instance.public_keys.outgoing_viewing_key.x), - ROW_FIELD_EQ(address_derivation_outgoing_viewing_key_y, instance.public_keys.outgoing_viewing_key.y), - ROW_FIELD_EQ(address_derivation_tagging_key_x, instance.public_keys.tagging_key.x), - ROW_FIELD_EQ(address_derivation_tagging_key_y, instance.public_keys.tagging_key.y), + ROW_FIELD_EQ(address_derivation_outgoing_viewing_key_hash, + instance.public_keys.outgoing_viewing_key_hash), + ROW_FIELD_EQ(address_derivation_tagging_key_hash, instance.public_keys.tagging_key_hash), ROW_FIELD_EQ(address_derivation_salted_init_hash, FF(12)), ROW_FIELD_EQ(address_derivation_partial_address, FF(23)), + ROW_FIELD_EQ(address_derivation_incoming_viewing_key_hash, FF(56)), ROW_FIELD_EQ(address_derivation_public_keys_hash, FF(34)), ROW_FIELD_EQ(address_derivation_preaddress, FF(45)), ROW_FIELD_EQ(address_derivation_preaddress_public_key_x, preaddress_public_key.x()), @@ -69,14 +70,14 @@ TEST(AddressDerivationTraceGenTest, TraceGeneration) ROW_FIELD_EQ(address_derivation_address_y, address_point.y()), ROW_FIELD_EQ(address_derivation_salted_init_hash_domain_separator, DOM_SEP__SALTED_INITIALIZATION_HASH), ROW_FIELD_EQ(address_derivation_partial_address_domain_separator, DOM_SEP__PARTIAL_ADDRESS), + ROW_FIELD_EQ(address_derivation_single_public_key_hash_domain_separator, + DOM_SEP__SINGLE_PUBLIC_KEY_HASH), ROW_FIELD_EQ(address_derivation_public_keys_hash_domain_separator, DOM_SEP__PUBLIC_KEYS_HASH), - ROW_FIELD_EQ(address_derivation_preaddress_domain_separator, DOM_SEP__CONTRACT_ADDRESS_V1), + ROW_FIELD_EQ(address_derivation_preaddress_domain_separator, DOM_SEP__CONTRACT_ADDRESS_V2), ROW_FIELD_EQ(address_derivation_g1_x, EmbeddedCurvePoint::one().x()), ROW_FIELD_EQ(address_derivation_g1_y, EmbeddedCurvePoint::one().y()), - ROW_FIELD_EQ(address_derivation_const_two, 2), ROW_FIELD_EQ(address_derivation_const_three, 3), - ROW_FIELD_EQ(address_derivation_const_four, 4), - ROW_FIELD_EQ(address_derivation_const_thirteen, 13)))); + ROW_FIELD_EQ(address_derivation_const_five, 5)))); } } // namespace diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/contract_instance_retrieval_trace.cpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/contract_instance_retrieval_trace.cpp index 1ca1e17954c2..827c6cbbaee4 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/contract_instance_retrieval_trace.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/contract_instance_retrieval_trace.cpp @@ -62,20 +62,20 @@ void ContractInstanceRetrievalTraceBuilder::process( { C::contract_instance_retrieval_original_class_id, event.contract_instance.original_contract_class_id }, { C::contract_instance_retrieval_init_hash, event.contract_instance.initialization_hash }, + { C::contract_instance_retrieval_immutables_hash, event.contract_instance.immutables_hash }, - // Public keys (hinted) - { C::contract_instance_retrieval_nullifier_key_x, event.contract_instance.public_keys.nullifier_key.x }, - { C::contract_instance_retrieval_nullifier_key_y, event.contract_instance.public_keys.nullifier_key.y }, + // Public keys (hinted). Only ivpk_m is held as a Grumpkin point; + // the others are field-element hashes computed off-circuit by the PXE. + { C::contract_instance_retrieval_nullifier_key_hash, + event.contract_instance.public_keys.nullifier_key_hash }, { C::contract_instance_retrieval_incoming_viewing_key_x, event.contract_instance.public_keys.incoming_viewing_key.x }, { C::contract_instance_retrieval_incoming_viewing_key_y, event.contract_instance.public_keys.incoming_viewing_key.y }, - { C::contract_instance_retrieval_outgoing_viewing_key_x, - event.contract_instance.public_keys.outgoing_viewing_key.x }, - { C::contract_instance_retrieval_outgoing_viewing_key_y, - event.contract_instance.public_keys.outgoing_viewing_key.y }, - { C::contract_instance_retrieval_tagging_key_x, event.contract_instance.public_keys.tagging_key.x }, - { C::contract_instance_retrieval_tagging_key_y, event.contract_instance.public_keys.tagging_key.y }, + { C::contract_instance_retrieval_outgoing_viewing_key_hash, + event.contract_instance.public_keys.outgoing_viewing_key_hash }, + { C::contract_instance_retrieval_tagging_key_hash, + event.contract_instance.public_keys.tagging_key_hash }, // Tree context { C::contract_instance_retrieval_public_data_tree_root, event.public_data_tree_root }, diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/contract_instance_retrieval_trace.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/contract_instance_retrieval_trace.test.cpp index 865470f908cd..7c7857e7c49d 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/contract_instance_retrieval_trace.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/contract_instance_retrieval_trace.test.cpp @@ -28,12 +28,13 @@ ContractInstance create_test_contract_instance(uint32_t salt_value = 123) .current_contract_class_id = FF(0xdeadbeefULL), .original_contract_class_id = FF(0xcafebabeULL), .initialization_hash = FF(0x11111111ULL), + .immutables_hash = FF(0x22222222ULL), .public_keys = PublicKeys{ - .nullifier_key = { FF(0x100), FF(0x101) }, + .nullifier_key_hash = FF(0x100), .incoming_viewing_key = { FF(0x200), FF(0x201) }, - .outgoing_viewing_key = { FF(0x300), FF(0x301) }, - .tagging_key = { FF(0x400), FF(0x401) }, + .outgoing_viewing_key_hash = FF(0x300), + .tagging_key_hash = FF(0x400), }, }; } @@ -98,16 +99,14 @@ TEST(ContractInstanceRetrievalTraceGenTest, SingleEvent) ROW_FIELD_EQ(contract_instance_retrieval_current_class_id, 0xdeadbeefULL), ROW_FIELD_EQ(contract_instance_retrieval_original_class_id, 0xcafebabeULL), ROW_FIELD_EQ(contract_instance_retrieval_init_hash, 0x11111111ULL), + ROW_FIELD_EQ(contract_instance_retrieval_immutables_hash, 0x22222222ULL), - // Public keys - ROW_FIELD_EQ(contract_instance_retrieval_nullifier_key_x, 0x100), - ROW_FIELD_EQ(contract_instance_retrieval_nullifier_key_y, 0x101), + // Public keys (ivpk_m as a point, others as hashes) + ROW_FIELD_EQ(contract_instance_retrieval_nullifier_key_hash, 0x100), ROW_FIELD_EQ(contract_instance_retrieval_incoming_viewing_key_x, 0x200), ROW_FIELD_EQ(contract_instance_retrieval_incoming_viewing_key_y, 0x201), - ROW_FIELD_EQ(contract_instance_retrieval_outgoing_viewing_key_x, 0x300), - ROW_FIELD_EQ(contract_instance_retrieval_outgoing_viewing_key_y, 0x301), - ROW_FIELD_EQ(contract_instance_retrieval_tagging_key_x, 0x400), - ROW_FIELD_EQ(contract_instance_retrieval_tagging_key_y, 0x401), + ROW_FIELD_EQ(contract_instance_retrieval_outgoing_viewing_key_hash, 0x300), + ROW_FIELD_EQ(contract_instance_retrieval_tagging_key_hash, 0x400), // Tree context ROW_FIELD_EQ(contract_instance_retrieval_public_data_tree_root, public_data_tree_root), diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/ecc_trace.cpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/ecc_trace.cpp index 4c494f898176..8860f534f83e 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/ecc_trace.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/ecc_trace.cpp @@ -131,7 +131,6 @@ void EccTraceBuilder::process_add(const simulation::EventEmitterInterface(event.dst_address); // Error handling, check if the destination address is out of range. - // The max write address is dst_addr + 2, since we write 3 values for R (x, y, is_inf). - bool dst_out_of_range_err = dst_addr + 2 > AVM_HIGHEST_MEM_ADDRESS; + // The max write address is dst_addr + 1, since we write 2 values for R (x, y). + bool dst_out_of_range_err = dst_addr + 1 > AVM_HIGHEST_MEM_ADDRESS; // Error handling, check if the points are on the curve. // We do not use batch inversions as we do not need to invert in the happy path. @@ -297,10 +295,6 @@ void EccTraceBuilder::process_add_with_memory( bool error = dst_out_of_range_err || !p_is_on_curve || !q_is_on_curve; - // Normalized points, ensures that input infinity points are represented by (0, 0) in the ecc subtrace. - EmbeddedCurvePoint p_n = event.p.is_infinity() ? EmbeddedCurvePoint::infinity() : event.p; - EmbeddedCurvePoint q_n = event.q.is_infinity() ? EmbeddedCurvePoint::infinity() : event.q; - trace.set(row, { { { C::ecc_add_mem_sel, 1 }, @@ -322,26 +316,19 @@ void EccTraceBuilder::process_add_with_memory( // Memory Writes { C::ecc_add_mem_dst_addr_0_, dst_addr }, { C::ecc_add_mem_dst_addr_1_, dst_addr + 1 }, - { C::ecc_add_mem_dst_addr_2_, dst_addr + 2 }, // Input - Point P { C::ecc_add_mem_p_x, event.p.x() }, { C::ecc_add_mem_p_y, event.p.y() }, - { C::ecc_add_mem_p_is_inf, event.p.is_infinity() ? 1 : 0 }, // Input - Point Q { C::ecc_add_mem_q_x, event.q.x() }, { C::ecc_add_mem_q_y, event.q.y() }, + // Input - Infinity flags required for ECC trace + { C::ecc_add_mem_p_is_inf, event.p.is_infinity() ? 1 : 0 }, { C::ecc_add_mem_q_is_inf, event.q.is_infinity() ? 1 : 0 }, - // Normalized input - Point P - { C::ecc_add_mem_p_x_n, p_n.x() }, - { C::ecc_add_mem_p_y_n, p_n.y() }, - // Normalized input - Point Q - { C::ecc_add_mem_q_x_n, q_n.x() }, - { C::ecc_add_mem_q_y_n, q_n.y() }, // Output { C::ecc_add_mem_sel_should_exec, error ? 0 : 1 }, { C::ecc_add_mem_res_x, event.result.x() }, { C::ecc_add_mem_res_y, event.result.y() }, - { C::ecc_add_mem_res_is_inf, event.result.is_infinity() ? 1 : 0 }, } }); row++; diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/ecc_trace.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/ecc_trace.test.cpp index fd639b225c27..9296470c388c 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/ecc_trace.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/ecc_trace.test.cpp @@ -21,13 +21,13 @@ TEST(EccTraceGenTest, TraceGenerationAdd) FF p_x("0x04c95d1b26d63d46918a156cae92db1bcbc4072a27ec81dc82ea959abdbcf16a"); FF p_y("0x035b6dd9e63c1370462c74775765d07fc21fd1093cc988149d3aa763bb3dbb60"); - EmbeddedCurvePoint p(p_x, p_y, false); + EmbeddedCurvePoint p(p_x, p_y); FF q_x("0x009242167ec31949c00cbe441cd36757607406e87844fa2c8c4364a4403e66d7"); FF q_y("0x0fe3016d64cfa8045609f375284b6b739b5fa282e4cbb75cc7f1687ecc7420e3"); - EmbeddedCurvePoint q(q_x, q_y, false); + EmbeddedCurvePoint q(q_x, q_y); FF r_x("0x2b01df0ef6d941a826bea23bece8243cbcdc159d5e97fbaa2171f028e05ba9b6"); FF r_y("0x0cc4c71e882bc62b7b3d1964a8540cb5211339dfcddd2e095fd444bf1aed4f09"); - EmbeddedCurvePoint r(r_x, r_y, false); + EmbeddedCurvePoint r(r_x, r_y); builder.process_add({ { .p = p, .q = q, .result = r } }, trace); EXPECT_THAT(trace.as_rows(), @@ -45,10 +45,9 @@ TEST(EccTraceGenTest, TraceGenerationAdd) ROW_FIELD_EQ(ecc_q_is_inf, q.is_infinity()), ROW_FIELD_EQ(ecc_q_x, q.x()), ROW_FIELD_EQ(ecc_q_y, q.y()), - ROW_FIELD_EQ(ecc_r_is_inf, r.is_infinity()), ROW_FIELD_EQ(ecc_r_x, r.x()), ROW_FIELD_EQ(ecc_r_y, r.y()), - ROW_FIELD_EQ(ecc_result_infinity, 0), + ROW_FIELD_EQ(ecc_result_infinity, r.is_infinity()), ROW_FIELD_EQ(ecc_sel, 1), ROW_FIELD_EQ(ecc_x_match, 0), ROW_FIELD_EQ(ecc_y_match, 0)))); @@ -61,11 +60,11 @@ TEST(EccTraceGenTest, TraceGenerationDouble) FF p_x("0x04c95d1b26d63d46918a156cae92db1bcbc4072a27ec81dc82ea959abdbcf16a"); FF p_y("0x035b6dd9e63c1370462c74775765d07fc21fd1093cc988149d3aa763bb3dbb60"); - EmbeddedCurvePoint p(p_x, p_y, false); + EmbeddedCurvePoint p(p_x, p_y); EmbeddedCurvePoint q = p; FF r_x("0x2b01df0ef6d941a826bea23bece8243cbcdc159d5e97fbaa2171f028e05ba9b6"); FF r_y("0x0cc4c71e882bc62b7b3d1964a8540cb5211339dfcddd2e095fd444bf1aed4f09"); - EmbeddedCurvePoint r(r_x, r_y, false); + EmbeddedCurvePoint r(r_x, r_y); builder.process_add({ { .p = p, .q = q, .result = r } }, trace); @@ -84,10 +83,9 @@ TEST(EccTraceGenTest, TraceGenerationDouble) ROW_FIELD_EQ(ecc_q_is_inf, q.is_infinity()), ROW_FIELD_EQ(ecc_q_x, p.x()), ROW_FIELD_EQ(ecc_q_y, p.y()), - ROW_FIELD_EQ(ecc_r_is_inf, r.is_infinity()), ROW_FIELD_EQ(ecc_r_x, r.x()), ROW_FIELD_EQ(ecc_r_y, r.y()), - ROW_FIELD_EQ(ecc_result_infinity, 0), + ROW_FIELD_EQ(ecc_result_infinity, r.is_infinity()), ROW_FIELD_EQ(ecc_sel, 1), ROW_FIELD_EQ(ecc_x_match, 1), ROW_FIELD_EQ(ecc_y_match, 1)))); @@ -100,9 +98,9 @@ TEST(EccTraceGenTest, TraceGenerationInfResult) FF p_x("0x04c95d1b26d63d46918a156cae92db1bcbc4072a27ec81dc82ea959abdbcf16a"); FF p_y("0x035b6dd9e63c1370462c74775765d07fc21fd1093cc988149d3aa763bb3dbb60"); - EmbeddedCurvePoint p(p_x, p_y, false); + EmbeddedCurvePoint p(p_x, p_y); - EmbeddedCurvePoint q(p.x(), -p.y(), false); + EmbeddedCurvePoint q(p.x(), -p.y()); EmbeddedCurvePoint r = p + q; builder.process_add({ { .p = p, .q = q, .result = r } }, trace); @@ -122,10 +120,9 @@ TEST(EccTraceGenTest, TraceGenerationInfResult) ROW_FIELD_EQ(ecc_q_is_inf, q.is_infinity()), ROW_FIELD_EQ(ecc_q_x, q.x()), ROW_FIELD_EQ(ecc_q_y, q.y()), - ROW_FIELD_EQ(ecc_r_is_inf, r.is_infinity()), ROW_FIELD_EQ(ecc_r_x, r.x()), ROW_FIELD_EQ(ecc_r_y, r.y()), - ROW_FIELD_EQ(ecc_result_infinity, 1), + ROW_FIELD_EQ(ecc_result_infinity, r.is_infinity()), ROW_FIELD_EQ(ecc_sel, 1), ROW_FIELD_EQ(ecc_x_match, 1), ROW_FIELD_EQ(ecc_y_match, 0)))); @@ -138,7 +135,7 @@ TEST(EccTraceGenTest, TraceGenerationInfAdd) FF p_x("0x04c95d1b26d63d46918a156cae92db1bcbc4072a27ec81dc82ea959abdbcf16a"); FF p_y("0x035b6dd9e63c1370462c74775765d07fc21fd1093cc988149d3aa763bb3dbb60"); - EmbeddedCurvePoint p(p_x, p_y, false); + EmbeddedCurvePoint p(p_x, p_y); // We always assume infinity coordinates have been normalized to (0,0) before reaching tracegen EmbeddedCurvePoint q = EmbeddedCurvePoint::infinity(); @@ -161,10 +158,9 @@ TEST(EccTraceGenTest, TraceGenerationInfAdd) ROW_FIELD_EQ(ecc_q_is_inf, q.is_infinity()), ROW_FIELD_EQ(ecc_q_x, q.x()), ROW_FIELD_EQ(ecc_q_y, q.y()), - ROW_FIELD_EQ(ecc_r_is_inf, r.is_infinity()), ROW_FIELD_EQ(ecc_r_x, r.x()), ROW_FIELD_EQ(ecc_r_y, r.y()), - ROW_FIELD_EQ(ecc_result_infinity, 0), + ROW_FIELD_EQ(ecc_result_infinity, r.is_infinity()), ROW_FIELD_EQ(ecc_sel, 1), ROW_FIELD_EQ(ecc_x_match, 0), ROW_FIELD_EQ(ecc_y_match, 0)))); @@ -195,10 +191,9 @@ TEST(EccTraceGenTest, TraceGenerationInfDouble) ROW_FIELD_EQ(ecc_q_is_inf, p.is_infinity()), ROW_FIELD_EQ(ecc_q_x, p.x()), ROW_FIELD_EQ(ecc_q_y, p.y()), - ROW_FIELD_EQ(ecc_r_is_inf, r.is_infinity()), ROW_FIELD_EQ(ecc_r_x, r.x()), ROW_FIELD_EQ(ecc_r_y, r.y()), - ROW_FIELD_EQ(ecc_result_infinity, 1), + ROW_FIELD_EQ(ecc_result_infinity, r.is_infinity()), ROW_FIELD_EQ(ecc_sel, 1), ROW_FIELD_EQ(ecc_x_match, 1), ROW_FIELD_EQ(ecc_y_match, 1)))); diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/get_contract_instance_spec.cpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/get_contract_instance_spec.cpp index 3522e60e2187..4fef6af7e196 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/get_contract_instance_spec.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/get_contract_instance_spec.cpp @@ -9,7 +9,7 @@ namespace bb::avm2::tracegen { * Returns boolean selectors indicating whether the enum is valid and which member it selects. * See the ASCII table in get_contract_instance.pil for the full mapping. * - * @param member_enum The member enum value (0=deployer, 1=class_id, 2=init_hash, 3+=invalid). + * @param member_enum The member enum value (0=deployer, 1=class_id, 2=init_hash, 3=immutables_hash, 4+=invalid). * @return A Table struct with is_valid_member_enum and the per-member selector flags. */ GetContractInstanceSpec::Table GetContractInstanceSpec::get_table(uint8_t member_enum) @@ -20,6 +20,7 @@ GetContractInstanceSpec::Table GetContractInstanceSpec::get_table(uint8_t member .is_deployer = false, .is_class_id = false, .is_init_hash = false, + .is_immutables_hash = false, }; switch (static_cast(member_enum)) { @@ -35,6 +36,10 @@ GetContractInstanceSpec::Table GetContractInstanceSpec::get_table(uint8_t member table.is_valid_member_enum = true; table.is_init_hash = true; return table; + case ContractInstanceMember::IMMUTABLES_HASH: + table.is_valid_member_enum = true; + table.is_immutables_hash = true; + return table; default: // Invalid enum - return defaults (all false) return table; diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/get_contract_instance_spec.hpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/get_contract_instance_spec.hpp index 18509f022d31..b925c9c85c59 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/get_contract_instance_spec.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/get_contract_instance_spec.hpp @@ -11,6 +11,7 @@ class GetContractInstanceSpec { bool is_deployer; bool is_class_id; bool is_init_hash; + bool is_immutables_hash; }; static Table get_table(uint8_t member_enum); diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/interaction_builder.cpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/interaction_builder.cpp index 23832be47578..78b9226168d7 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/interaction_builder.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/interaction_builder.cpp @@ -8,20 +8,25 @@ namespace bb::avm2::tracegen { void order_jobs_by_destination_columns(std::vector>& jobs) { - // Identify first occurrences of each fingerprint. + // Tag each job with whether its destination-columns fingerprint is being seen for the first + // time. The tag is captured up front so the partition predicate doesn't depend on the + // unique_ptrs, which the partition implementation may null out via moves. unordered_flat_set seen_fingerprints; - unordered_flat_set first_occurrence_jobs; + std::vector>> tagged; + tagged.reserve(jobs.size()); - for (const auto& job : jobs) { + for (auto& job : jobs) { auto fp = job->get_destination_columns_fingerprint(); auto [_, inserted] = seen_fingerprints.insert(fp); - if (inserted) { - first_occurrence_jobs.insert(job.get()); - } + tagged.emplace_back(inserted, std::move(job)); } // Stable partition: first occurrences come first. - std::ranges::stable_partition(jobs, [&](const auto& job) { return first_occurrence_jobs.contains(job.get()); }); + std::ranges::stable_partition(tagged, [](const auto& t) { return t.first; }); + + for (size_t i = 0; i < tagged.size(); ++i) { + jobs[i] = std::move(tagged[i].second); + } } } // namespace bb::avm2::tracegen diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/interaction_builder.hpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/interaction_builder.hpp index 2aacdf9239b1..bc6331c97fb1 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/interaction_builder.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/interaction_builder.hpp @@ -1,9 +1,13 @@ #pragma once +#include #include #include +#include #include +#include "barretenberg/common/tuple.hpp" +#include "barretenberg/vm2/common/field.hpp" #include "barretenberg/vm2/generated/columns.hpp" #include "barretenberg/vm2/tracegen/lib/shared_index_cache.hpp" #include "barretenberg/vm2/tracegen/trace_container.hpp" @@ -20,6 +24,20 @@ template struct RefTupleHelper using RefTuple = typename detail::RefTupleHelper::type; +// Same as TraceContainer::get_multiple but copies the values into an owning std::array. Use when +// the result must outlive a subsequent column write (e.g. when stored as a hash-map key): the +// references returned by get_multiple point into column storage and can dangle on reallocation. +template +std::array get_multiple_as_array(const TraceContainer& trace, + const std::array& cols, + uint32_t row) +{ + auto refs = trace.get_multiple(cols, row); + return [&](std::index_sequence) { + return std::array{ flat_tuple::get(refs)... }; + }(std::make_index_sequence{}); +} + class InteractionBuilderInterface { public: virtual ~InteractionBuilderInterface() = default; @@ -33,8 +51,9 @@ class InteractionBuilderInterface { // A concatenate that works with movable objects. template std::vector concatenate_jobs(std::vector&& first, auto&&... rest) { + const size_t total_size = first.size() + (rest.size() + ...); std::vector result = std::move(first); - result.reserve(first.size() + (rest.size() + ...)); + result.reserve(total_size); (std::move(rest.begin(), rest.end(), std::back_inserter(result)), ...); return result; } diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/interaction_def.hpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/interaction_def.hpp index 73410b4e21fa..dbb36f7c613e 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/interaction_def.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/interaction_def.hpp @@ -5,10 +5,11 @@ #include #include +#include "barretenberg/common/assert.hpp" #include "barretenberg/vm2/tracegen/lib/interaction_builder.hpp" #include "barretenberg/vm2/tracegen/lib/lookup_builder.hpp" #include "barretenberg/vm2/tracegen/lib/lookup_into_bitwise.hpp" -#include "barretenberg/vm2/tracegen/lib/lookup_into_indexed_by_clk.hpp" +#include "barretenberg/vm2/tracegen/lib/lookup_into_indexed_by_row.hpp" #include "barretenberg/vm2/tracegen/lib/lookup_into_p_decomposition.hpp" #include "barretenberg/vm2/tracegen/lib/multi_permutation_builder.hpp" #include "barretenberg/vm2/tracegen/lib/permutation_builder.hpp" @@ -34,8 +35,12 @@ class InteractionDefinition { template InteractionDefinition& add(auto&&... args) { std::string name = (std::string(InteractionSettings::NAME) + ...); - interactions[name] = - get_interaction_factory(std::forward(args)...); + auto [_, inserted] = interactions.emplace( + name, get_interaction_factory(std::forward(args)...)); + + // Safeguard detecting a collision in the interaction names (we do not use separators to have an injective + // serialization). + BB_ASSERT_DEBUG(inserted, "InteractionDefinition::add: collision in interaction name: " + name); return *this; } diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/lookup_into_indexed_by_clk.hpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/lookup_into_indexed_by_row.hpp similarity index 100% rename from barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/lookup_into_indexed_by_clk.hpp rename to barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/lookup_into_indexed_by_row.hpp diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/multi_permutation_builder.hpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/multi_permutation_builder.hpp index 1598321f08ca..488aaea46aca 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/multi_permutation_builder.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/multi_permutation_builder.hpp @@ -55,7 +55,7 @@ template class MultiPermutationBuilder : publ { // Find each source tuple in the destination table, and set a 1 in the destination selector. trace.visit_column(PermutationSettings::SRC_SELECTOR, [&](uint32_t row, const FF&) { - auto src_values = trace.get_multiple(PermutationSettings::SRC_COLUMNS, row); + auto src_values = get_multiple_as_array(trace, PermutationSettings::SRC_COLUMNS, row); auto index_it = row_idx.find(src_values); if (index_it == row_idx.end() || index_it->second.empty()) { throw std::runtime_error("Failed setting selectors for " + std::string(PermutationSettings::NAME) + @@ -82,8 +82,7 @@ template class MultiPermutationBuilder : publ // and add the row number to the index. See the comment on `row_idx` for more details. row_idx.reserve(trace.get_column_rows(dst_table_selector)); trace.visit_column(dst_table_selector, [&](uint32_t row, const FF&) { - auto dst_values = trace.get_multiple(DST_COLUMNS, row); - row_idx[dst_values].push_back(row); + row_idx[get_multiple_as_array(trace, DST_COLUMNS, row)].push_back(row); }); } @@ -97,11 +96,12 @@ template class MultiPermutationBuilder : publ // We need an extra "destination TABLE selector" which is the selector of the whole table. Column dst_table_selector; - // In a permutation (or lookup) you are trying to find a src suple of values + // In a permutation (or lookup) you are trying to find a src tuple of values // (a, b, c, ...) in some destination table. That is, you want a row number in the destination table. // The following map contains (a, b, c, ...) -> [row_number_1, row_number_2, ...]. // That is, you can efficiently find all the rows in the destination table that match the src tuple. - unordered_flat_map, /*rows*/ std::vector> row_idx; + // Keys are stored as owning value arrays (see get_multiple_as_array in interaction_builder.hpp for rationale). + unordered_flat_map, /*rows*/ std::vector> row_idx; }; } // namespace bb::avm2::tracegen diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/shared_index_cache.hpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/shared_index_cache.hpp index bf0679b8c40e..8082c19b3c21 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/shared_index_cache.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/shared_index_cache.hpp @@ -80,7 +80,21 @@ class SharedIndexCache { promise->set_value(index); return *index; } catch (...) { - promise->set_exception(std::current_exception()); + // Evict the failed entry so a subsequent get_or_build can retry rather than + // re-throwing the cached exception forever (and broadcasting it to all jobs + // that share this destination). + { + std::unique_lock lock(mutex_); + cache_.erase(key); + } + // Wake any threads already waiting on this future with the build error. + // Swallow any secondary failure here (e.g. promise_already_satisfied if + // set_value partially completed) so the original exception always + // propagates and we never leave waiters blocked. + try { + promise->set_exception(std::current_exception()); + } catch (...) { + } throw; } } diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/test_interaction_builder.hpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/test_interaction_builder.hpp index 867ecf31c03e..5db4a345e6e4 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/test_interaction_builder.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/lib/test_interaction_builder.hpp @@ -53,7 +53,7 @@ template class AddChecksToBuilder : public BaseBuilder { template class CheckingPermutationBuilder : public PermutationBuilder { public: - // Use array for storage in map keys (tuples of references can't be stored). + // Owning value array; see get_multiple_as_array in interaction_builder.hpp for why we can't key on RefTuple. using ArrayTuple = std::array; void process(TraceContainer& trace) override @@ -63,13 +63,11 @@ class CheckingPermutationBuilder : public PermutationBuilder static ArrayTuple to_array(const flat_tuple::tuple& tup) - { - return [&](std::index_sequence) { - return ArrayTuple{ flat_tuple::get(tup)... }; - }(std::make_index_sequence{}); - } - unordered_flat_map> source_tuples; unordered_flat_map> destination_tuples; }; diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/memory_trace.cpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/memory_trace.cpp index 5e62de95961a..8830923b6efd 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/memory_trace.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/memory_trace.cpp @@ -174,7 +174,6 @@ const InteractionDefinition MemoryTraceBuilder::interactions = // ECADD perm_ecc_mem_write_mem_0_settings, perm_ecc_mem_write_mem_1_settings, - perm_ecc_mem_write_mem_2_settings, // To Radix. perm_to_radix_mem_write_mem_settings // Others. diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/opcodes/get_contract_instance_trace.cpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/opcodes/get_contract_instance_trace.cpp index 2801db9e1b02..58e4b9d8b0a0 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/opcodes/get_contract_instance_trace.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/opcodes/get_contract_instance_trace.cpp @@ -45,6 +45,7 @@ void GetContractInstanceTraceBuilder::process( bool is_deployer = false; bool is_class_id = false; bool is_init_hash = false; + bool is_immutables_hash = false; if (writes_are_in_bounds) { // Get precomputed table values for this member enum @@ -54,14 +55,16 @@ void GetContractInstanceTraceBuilder::process( is_deployer = spec.is_deployer; is_class_id = spec.is_class_id; is_init_hash = spec.is_init_hash; + is_immutables_hash = spec.is_immutables_hash; } bool has_error = !(writes_are_in_bounds && is_valid_member_enum); - FF selected_member = is_deployer ? event.retrieved_deployer_addr - : is_class_id ? event.retrieved_class_id - : is_init_hash ? event.retrieved_init_hash - : FF(0); + FF selected_member = is_deployer ? event.retrieved_deployer_addr + : is_class_id ? event.retrieved_class_id + : is_init_hash ? event.retrieved_init_hash + : is_immutables_hash ? event.retrieved_immutables_hash + : FF(0); trace.set( row, @@ -86,11 +89,13 @@ void GetContractInstanceTraceBuilder::process( { C::get_contract_instance_is_deployer, is_deployer ? 1 : 0 }, { C::get_contract_instance_is_class_id, is_class_id ? 1 : 0 }, { C::get_contract_instance_is_init_hash, is_init_hash ? 1 : 0 }, + { C::get_contract_instance_is_immutables_hash, is_immutables_hash ? 1 : 0 }, // Retrieval results { C::get_contract_instance_instance_exists, event.instance_exists ? 1 : 0 }, { C::get_contract_instance_retrieved_deployer_addr, event.retrieved_deployer_addr }, { C::get_contract_instance_retrieved_class_id, event.retrieved_class_id }, { C::get_contract_instance_retrieved_init_hash, event.retrieved_init_hash }, + { C::get_contract_instance_retrieved_immutables_hash, event.retrieved_immutables_hash }, { C::get_contract_instance_selected_member, selected_member }, // Memory writing { C::get_contract_instance_member_write_offset, writes_are_in_bounds ? (event.dst_offset + 1) : 0 }, diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/opcodes/get_contract_instance_trace.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/opcodes/get_contract_instance_trace.test.cpp index 84a2177fdfbf..776bed4461ea 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/opcodes/get_contract_instance_trace.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/opcodes/get_contract_instance_trace.test.cpp @@ -205,5 +205,79 @@ TEST(GetContractInstanceTraceTest, OutOfBoundsWrite) ))); } +TEST(GetContractInstanceTraceTest, ValidImmutablesHashEnum) +{ + // Test constants + const uint32_t execution_clk = 42; + const FF nullifier_tree_root = 0x1234; + const FF public_data_tree_root = 0x5678; + const FF contract_address = 0x1234; + const uint32_t dst_offset = 100; + const uint16_t space_id = 1; + const FF deployer_addr = 0x5678; + const FF class_id = 0x9ABC; + const FF init_hash = 0xDEF0; + const FF immutables_hash = 0xCAFE; + const uint32_t dst_offset_plus_one = dst_offset + 1; + const uint8_t immutables_hash_enum = static_cast(ContractInstanceMember::IMMUTABLES_HASH); + const uint8_t u1_tag = static_cast(ValueTag::U1); + const uint8_t ff_tag = static_cast(ValueTag::FF); + + TestTraceContainer trace; + GetContractInstanceTraceBuilder builder; + simulation::EventEmitter emitter; + + simulation::GetContractInstanceEvent event = { + .execution_clk = execution_clk, + .contract_address = contract_address, + .dst_offset = dst_offset, + .member_enum = immutables_hash_enum, + .space_id = space_id, + .nullifier_tree_root = nullifier_tree_root, + .public_data_tree_root = public_data_tree_root, + .instance_exists = true, + .retrieved_deployer_addr = deployer_addr, + .retrieved_class_id = class_id, + .retrieved_init_hash = init_hash, + .retrieved_immutables_hash = immutables_hash, + }; + + emitter.emit(std::move(event)); + auto events = emitter.dump_events(); + + builder.process(events, trace); + + EXPECT_THAT(trace.as_rows(), + ElementsAre( + // Row 0: Skippable gadget selector + AllOf(ROW_FIELD_EQ(get_contract_instance_sel, 0)), + // Row 1: Active GetContractInstance gadget for IMMUTABLES_HASH + AllOf(ROW_FIELD_EQ(get_contract_instance_sel, 1), + ROW_FIELD_EQ(get_contract_instance_clk, execution_clk), + ROW_FIELD_EQ(get_contract_instance_contract_address, contract_address), + ROW_FIELD_EQ(get_contract_instance_dst_offset, dst_offset), + ROW_FIELD_EQ(get_contract_instance_member_enum, immutables_hash_enum), + ROW_FIELD_EQ(get_contract_instance_space_id, space_id), + // Member selection flags + ROW_FIELD_EQ(get_contract_instance_is_valid_member_enum, 1), + ROW_FIELD_EQ(get_contract_instance_is_deployer, 0), + ROW_FIELD_EQ(get_contract_instance_is_class_id, 0), + ROW_FIELD_EQ(get_contract_instance_is_init_hash, 0), + ROW_FIELD_EQ(get_contract_instance_is_immutables_hash, 1), + // Error flags + ROW_FIELD_EQ(get_contract_instance_sel_error, 0), + // Retrieved members + ROW_FIELD_EQ(get_contract_instance_retrieved_deployer_addr, deployer_addr), + ROW_FIELD_EQ(get_contract_instance_retrieved_class_id, class_id), + ROW_FIELD_EQ(get_contract_instance_retrieved_init_hash, init_hash), + ROW_FIELD_EQ(get_contract_instance_retrieved_immutables_hash, immutables_hash), + // Selected member is the immutables hash + ROW_FIELD_EQ(get_contract_instance_selected_member, immutables_hash), + // Memory write columns + ROW_FIELD_EQ(get_contract_instance_member_write_offset, dst_offset_plus_one), + ROW_FIELD_EQ(get_contract_instance_exists_tag, u1_tag), + ROW_FIELD_EQ(get_contract_instance_member_tag, ff_tag)))); +} + } // namespace } // namespace bb::avm2::tracegen diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen/precomputed_trace.cpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen/precomputed_trace.cpp index f39415ef39df..e83d96f7b9e8 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen/precomputed_trace.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen/precomputed_trace.cpp @@ -466,7 +466,7 @@ void PrecomputedTraceBuilder::process_get_env_var_table(TraceContainer& trace) /** * @brief Populate the GETCONTRACTINSTANCE lookup table. - * @details One row per ContractInstanceMember enum value (DEPLOYER=0, CLASS_ID=1, INIT_HASH=2). + * @details One row per ContractInstanceMember enum value (DEPLOYER=0, CLASS_ID=1, INIT_HASH=2, IMMUTABLES_HASH=3). * Each row holds a validity flag and one-hot member selectors. See * `opcodes/get_contract_instance.pil` for an ascii version of this table. */ @@ -482,6 +482,7 @@ void PrecomputedTraceBuilder::process_get_contract_instance_table(TraceContainer { C::precomputed_is_deployer, spec.is_deployer ? 1 : 0 }, { C::precomputed_is_class_id, spec.is_class_id ? 1 : 0 }, { C::precomputed_is_init_hash, spec.is_init_hash ? 1 : 0 }, + { C::precomputed_is_immutables_hash, spec.is_immutables_hash ? 1 : 0 }, } }); } } diff --git a/docs/docs-developers/docs/aztec-nr/framework-description/custom_notes.md b/docs/docs-developers/docs/aztec-nr/framework-description/custom_notes.md index d8ade3b69093..4abf4d9a75b0 100644 --- a/docs/docs-developers/docs/aztec-nr/framework-description/custom_notes.md +++ b/docs/docs-developers/docs/aztec-nr/framework-description/custom_notes.md @@ -162,8 +162,8 @@ impl NoteHash for CustomHashNote { note_hash_for_nullification: Field, ) -> Field { // Standard nullifier using owner's nullifier hiding key - let owner_npk_m = get_public_keys(owner).npk_m; - let secret = context.request_nhk_app(owner_npk_m.hash()); + let owner_npk_m_hash = get_public_keys(owner).npk_m_hash; + let secret = context.request_nhk_app(owner_npk_m_hash); poseidon2_hash_with_separator( [note_hash_for_nullification, secret], DOM_SEP__NOTE_NULLIFIER, @@ -176,7 +176,7 @@ impl NoteHash for CustomHashNote { note_hash_for_nullification: Field, ) -> Option { try_get_public_keys(owner).map(|public_keys| { - let secret = get_nhk_app(public_keys.npk_m.hash()); + let secret = get_nhk_app(public_keys.npk_m_hash); poseidon2_hash_with_separator( [note_hash_for_nullification, secret], DOM_SEP__NOTE_NULLIFIER, diff --git a/docs/docs-developers/docs/foundational-topics/accounts/keys.md b/docs/docs-developers/docs/foundational-topics/accounts/keys.md index 0c673087ca92..70a064e2d124 100644 --- a/docs/docs-developers/docs/foundational-topics/accounts/keys.md +++ b/docs/docs-developers/docs/foundational-topics/accounts/keys.md @@ -68,9 +68,11 @@ The nullifier hiding key (`nhk`) — sometimes referred to in older documentatio To get the owner's master nullifier public key hash (needed as input): ```rust -let owner_npk_m_hash = get_public_keys(owner).npk_m.hash(); +let owner_npk_m_hash = get_public_keys(owner).npk_m_hash; ``` +`PublicKeys` exposes the nullifier, outgoing-viewing, and tagging keys directly as their hashes; only `ivpk_m` is held as a Grumpkin point (it is required as a point for address derivation and encrypt-to-address). + :::warning Do not compute nullifier keys by hand or derive custom blinding factors. The protocol kernel validates that `nhk_app` derives correctly from the master key — a hand-rolled value will fail verification. ::: @@ -122,17 +124,23 @@ Your Aztec address is deterministically computed from your public keys and accou ![Address derivation](/img/address_derivation.svg) +:::note +The diagram above is being updated to reflect the new key-hashing scheme described below. Treat the text formulas as authoritative until a refresh lands. +::: + ```text pre_address = hash(public_keys_hash, partial_address) where: - public_keys_hash = hash(Npk_m, Ivpk_m, Ovpk_m, Tpk_m) - partial_address = hash(contract_class_id, salted_initialization_hash) + public_keys_hash = hash(npk_m_hash, ivpk_m_hash, ovpk_m_hash, tpk_m_hash) + ivpk_m_hash = hash(Ivpk_m.x, Ivpk_m.y) // computed in-circuit + npk_m_hash, ovpk_m_hash, tpk_m_hash // computed off-circuit (PXE) + partial_address = hash(contract_class_id, salted_initialization_hash) contract_class_id = hash(artifact_hash, fn_tree_root, public_bytecode_commitment) - salted_initialization_hash = hash(deployer_address, salt, constructor_hash) + salted_initialization_hash = hash(salt, constructor_hash, deployer_address, immutables_hash) ``` -The final address is derived as `address = (pre_address * G + Ivpk_m).x` - only the x-coordinate of the resulting elliptic curve point. +The final address is derived as `address = (pre_address * G + Ivpk_m).x` - only the x-coordinate of the resulting elliptic curve point. Note that `Ivpk_m` (the master incoming viewing key) is the only public key still represented as an elliptic curve point: address derivation needs it as a point so that anyone can encrypt to the address without further information. The other three master keys are exposed only as their hashes. This derivation ensures: diff --git a/docs/docs-developers/docs/resources/migration_notes.md b/docs/docs-developers/docs/resources/migration_notes.md index 077d386681f6..64cd9bf8d9cc 100644 --- a/docs/docs-developers/docs/resources/migration_notes.md +++ b/docs/docs-developers/docs/resources/migration_notes.md @@ -9,6 +9,84 @@ Aztec is in active development. Each version may introduce breaking changes that ## TBD +### [Protocol] Public-key hashes replace points in `PublicKeys` + +Ships together with immutables hash changes (shown below). + +Per [AZIP-8](https://github.com/AztecProtocol/governance/blob/main/AZIPs/azip-8.md), `PublicKeys` no longer carries the four master public keys as elliptic curve points. Three of them (`npk_m`, `ovpk_m`, `tpk_m`) are now exposed only as their poseidon2 hash digests; only `ivpk_m` (the master incoming viewing key) remains a point because address derivation needs it as a curve point. + +**This is a hard fork:** every contract address and account address derived from a non-default `PublicKeys` changes. + +**Contract author migration.** Read the master nullifier hash directly off `PublicKeys` instead of computing it from a point: + +```diff +- let owner_npk_m = get_public_keys(owner).npk_m; +- let secret = context.request_nhk_app(owner_npk_m.hash()); ++ let owner_npk_m_hash = get_public_keys(owner).npk_m_hash; ++ let secret = context.request_nhk_app(owner_npk_m_hash); +``` + +The same field-rename applies to `.ovpk_m` and `.tpk_m`: these are now `.ovpk_m_hash` and `.tpk_m_hash` respectively. Code that needed those keys as points will not compile; the points are no longer accessible to contract code. + +**Custom account contracts.** Wallets that ship their own Noir account contracts must recompile. Macro-generated calldata extraction and the `request_nsk_app` / `request_ovsk_app` paths use the hash form natively. + +**TS / wallet author migration.** The `PublicKeys` constructor signature changes from four `Point`s to `(npkMHash: Fr, ivpkM: Point, ovpkMHash: Fr, tpkMHash: Fr)`. `KeyValidationRequest` carries `pkMHash: Fr` instead of `pkM: Point`. `KeyStore.getMasterSecretKey` now takes a `pkMHash: Fr` rather than a `Point`. Callers using the auto-generated TS binding pick this up automatically; callers that hand-roll the arg buffer must update. + +**Wallet UI.** Any panel that displayed `masterNullifierPublicKey`, `masterOutgoingViewingPublicKey`, or `masterTaggingPublicKey` as Grumpkin points will no longer compile against the new `PublicKeys` class. The points themselves are no longer in `ContractInstancePublished` and cannot be recovered from the onchain record. Switch to displaying the hashes (`npkMHash`, `ovpkMHash`, `tpkMHash`) or drop the display. + +**PXE storage migration.** `DatabaseVersionManager` deletes pre-v6 databases on first open: users will see registered accounts, contacts, address aliases, and synced notes wiped. Wallets should surface a "your local state was reset, please re-register accounts and re-sync" path. There is no forward migration because the address derived from a given secret changes (the new `public_keys_hash` is over four single-key digests, not four raw points). Previous addresses are not recoverable from the same secret; assets and notes attached to them are inaccessible at the protocol level. + +**Indexer / event-decoder migration.** The `ContractInstancePublished` private log payload is now 13 fields: + +```text +[ MAGIC, address, version, salt, class_id, init_hash, + immutables_hash, + npk_m_hash, + ivpk_m.x, ivpk_m.y, + ovpk_m_hash, + tpk_m_hash, + deployer ] +``` + +`version` is `2`. v1 events should be rejected. + +**Security note (PXE side).** The kernel circuit no longer checks that `npk_m`, `ovpk_m`, `tpk_m` are on-curve or non-infinity (those points are no longer in the witness). The PXE / key store relies on `deriveKeys`'s by-construction guarantee that derived points are on-curve and non-infinity. Account-creation flows that bypass `deriveKeys` (e.g. importing pre-derived public keys from an external source) must validate this themselves, or risk producing unspendable notes. + + +### [Contracts] `ContractInstance` gains `immutablesHash`, address derivation changes + +`ContractInstance` now has a new `immutablesHash: Fr` field that commits to a contract's immutable storage values. The field is folded into the salted initialization hash, so contract addresses are impacted: + +``` +salted_initialization_hash = poseidon2(DOM_SEP__SALTED_INITIALIZATION_HASH, [salt, initialization_hash, deployer, immutables_hash]) +``` + +**You may need to act if:** + +- You hardcode contract addresses computed from instance fields outside the SDK. Recompute them under the new derivation. +- You parse the `ContractInstancePublished` private log directly. The event payload has an extra field, with `immutables_hash` inserted between `initialization_hash` and the public-keys block: + + ``` + [tag, address, version, salt, classId, initialization_hash, immutables_hash, ...publicKeys(5), deployer] + ``` + +- You call `ContractInstanceRegistry.publish_for_public_execution` directly. The function now takes 6 arguments instead of 5, with `immutables_hash` inserted between `initialization_hash` and `public_keys`: + + ```diff + - publish_for_public_execution(salt, contract_class_id, initialization_hash, public_keys, universal_deploy) + + publish_for_public_execution(salt, contract_class_id, initialization_hash, immutables_hash, public_keys, universal_deploy) + ``` + +- You call the `GetContractInstance` AVM opcode directly or use the per-member helpers in `aztec-nr`. A new enum value `ContractInstanceMember::IMMUTABLES_HASH = 3` selects `immutables_hash`. Use the wrapper helper from `aztec::oracle::get_contract_instance`: + + ```rust + use aztec::oracle::get_contract_instance::get_contract_instance_immutables_hash_avm; + let immutables_hash: Option = get_contract_instance_immutables_hash_avm(address); + ``` + +The `aztec.js` `publishInstance` helper handles this automatically. + + ### [Aztec.nr] `emit_private_log_unsafe` / `emit_raw_note_log_unsafe` now take `BoundedVec` The old array-based `emit_private_log_unsafe(tag, log: [Field; N], length)` and `emit_raw_note_log_unsafe(tag, log: [Field; N], length, note_hash_counter)` have been removed. The temporary `_vec_unsafe` variants introduced in a prior release have been renamed to take their place. diff --git a/docs/docs-words.txt b/docs/docs-words.txt index 9bd7144a966b..0074dea2c4d5 100644 --- a/docs/docs-words.txt +++ b/docs/docs-words.txt @@ -360,6 +360,7 @@ unncessary unreverted unrleated unshield +unspendable unstake unstakes usermod diff --git a/noir-projects/aztec-nr/aztec/src/context/private_context.nr b/noir-projects/aztec-nr/aztec/src/context/private_context.nr index 32f57b6aac67..0f1668a13f90 100644 --- a/noir-projects/aztec-nr/aztec/src/context/private_context.nr +++ b/noir-projects/aztec-nr/aztec/src/context/private_context.nr @@ -42,7 +42,7 @@ use crate::protocol::{ hash::compute_contract_class_log_hash, messaging::l2_to_l1_message::L2ToL1Message, side_effect::{Counted, scoped::Scoped}, - traits::{Empty, Hash, ToField}, + traits::{Empty, ToField}, utils::arrays::{ClaimedLengthArray, trimmed_array_length_hint}, }; @@ -753,39 +753,42 @@ impl PrivateContext { /// request validation of this claim, by making a "key validation request" to the protocol's kernel circuits (which /// _are_ allowed to see certain master secret keys). /// - /// When a Key Validation Request tuple of (sk_app, Pk_m, app_address) is submitted to the kernel, it will perform - /// the following derivations to validate the relationship between the claimed sk_app and the user's Pk_m: + /// The app circuit only sees `pk_m_hash` (not the raw point). The kernel derives the + /// point from `sk_m`, hashes it, and asserts equality. When a Key Validation Request tuple of + /// (sk_app, pk_m_hash, app_address) is submitted to the kernel, it performs the following + /// derivations to validate the relationship between the claimed sk_app and the user's pk_m_hash: /// - /// (sk_m) ----> * G ----> Pk_m - /// | | - /// v We use the kernel to prove this - /// h(sk_m, app_address) | sk_app-Pk_m relationship, because app - /// | circuits must not be trusted to see sk_m. - /// v | - /// sk_app - - - - - - - - - + /// (sk_m) ----> * G ----> pk_m ----> hash_public_key(pk_m) + /// | | + /// v | We use the kernel to prove this + /// h(sk_m, app_address) | sk_app-pk_m_hash relationship, because app + /// | | circuits must not be trusted to see sk_m. + /// v | + /// sk_app - - - - - - - - - - - - - - - - - - /// /// The function is named "request_" instead of "get_" to remind the user that a Key Validation Request will be /// emitted to the kernel. /// fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field { - let cached_request = - self.last_key_validation_requests[key_index as u32].unwrap_or(KeyValidationRequest::empty()); + // Match against the cache only when a request is actually present in the slot. + let cached_slot = self.last_key_validation_requests[key_index as u32]; + let cache_hit = cached_slot.is_some() & (cached_slot.unwrap_unchecked().pk_m_hash == pk_m_hash); - if cached_request.pk_m.hash() == pk_m_hash { + if cache_hit { // We get a match so the cached request is the latest one - cached_request.sk_app + cached_slot.unwrap_unchecked().sk_app } else { - // We didn't get a match meaning the cached result is stale Typically we'd validate keys by showing that - // they are the preimage of `pk_m_hash`, but that'd require the oracle returning the master secret keys, - // which could cause malicious contracts to leak it or learn about secrets from other contracts. We - // therefore silo secret keys, and rely on the private kernel to validate that we siloed secret key - // corresponds to correct siloing of the master secret key that hashes to `pk_m_hash`. + // We didn't get a match meaning the cached result is stale. Typically we'd validate keys by showing that + // the master secret key derives to a public key matching `pk_m_hash`, but that'd require the oracle + // returning the master secret keys, which could cause malicious contracts to leak it or learn about + // secrets from other contracts. We therefore silo secret keys, and rely on the private kernel to validate + // that the siloed secret key corresponds to correct siloing of the master secret key that hashes to + // `pk_m_hash`. // Safety: Kernels verify that the key validation request is valid and below we verify that a request for // the correct public key has been received. let request = unsafe { get_key_validation_request(pk_m_hash, key_index) }; - assert(!request.pk_m.is_infinite, "Infinite public key points are not allowed"); - assert_eq(request.pk_m.hash(), pk_m_hash, "Obtained invalid key validation request"); + assert_eq(request.pk_m_hash, pk_m_hash, "Obtained key validation request for wrong pk_m_hash"); self.key_validation_requests_and_separators.push( KeyValidationRequestAndSeparator { diff --git a/noir-projects/aztec-nr/aztec/src/keys/getters/mod.nr b/noir-projects/aztec-nr/aztec/src/keys/getters/mod.nr index d52b43d389e4..aa72b16d3da0 100644 --- a/noir-projects/aztec-nr/aztec/src/keys/getters/mod.nr +++ b/noir-projects/aztec-nr/aztec/src/keys/getters/mod.nr @@ -41,7 +41,7 @@ mod test { use crate::test::helpers::test_environment::TestEnvironment; use std::test::OracleMock; - global KEY_ORACLE_RESPONSE_LENGTH: u32 = 13; // 12 fields for the keys, one field for the partial address + global KEY_ORACLE_RESPONSE_LENGTH: u32 = 6; // 3 key hashes + 1 key point + 1 partial address #[test(should_fail_with = "Invalid public keys hint for address")] unconstrained fn get_public_keys_fails_with_bad_hint() { @@ -50,26 +50,19 @@ mod test { // Instead of querying for some unknown account, which would result in the oracle erroring out, we mock a bad // oracle response to check that the circuit properly checks the address derivation. + // Wire shape: [npk_m_hash, ivpk_m.x, ivpk_m.y, ovpk_m_hash, tpk_m_hash, partial_address]. let mut random_keys_and_partial_address = [0; KEY_ORACLE_RESPONSE_LENGTH]; - // We use randomly generated points on the curve, and a random partial address to ensure that this combination - // does not derive the address and we should see the assertion fail. npk_m + // npk_m_hash random_keys_and_partial_address[0] = 0x292364b852c6c6f01472951e76a39cbcf074591fd0e063a81965e7b51ad868a5; - random_keys_and_partial_address[1] = 0x0a687b46cdc9238f1c311f126aaaa4acbd7a737bff2efd7aeabdb8d805843a27; - random_keys_and_partial_address[2] = 0x0000000000000000000000000000000000000000000000000000000000000000; - // ivpk_m - random_keys_and_partial_address[3] = 0x173c5229a00c5425255680dd6edc27e278c48883991f348fe6985de43b4ec25f; - random_keys_and_partial_address[4] = 0x1698608e23b5f6c2f43c49a559108bb64e2247b8fc2da842296a416817f40b7f; - random_keys_and_partial_address[5] = 0x0000000000000000000000000000000000000000000000000000000000000000; - // ovpk_m - random_keys_and_partial_address[6] = 0x1bad2f7d1ad960a1bd0fe4d2c8d17f5ab4a86ef8b103e0a9e7f67ec0d3b4795e; - random_keys_and_partial_address[7] = 0x206db87110abbecc9fbaef2c865189d94ef2c106202f734ee4eba9257fd28bf1; - random_keys_and_partial_address[8] = 0x0000000000000000000000000000000000000000000000000000000000000000; - // tpk_m - random_keys_and_partial_address[9] = 0x05e3bd9cfe6b47daa139613619cf7d7fd8bb0112b6f2908caa6d9b536ed948ed; - random_keys_and_partial_address[10] = 0x051066f877c9df47552d02e7dc32127ff4edefc8498e813bca1cbd3f5d1be429; - random_keys_and_partial_address[11] = 0x0000000000000000000000000000000000000000000000000000000000000000; + // ivpk_m (x, y) -- arbitrary, doesn't have to be on-curve to make this test fail + random_keys_and_partial_address[1] = 0x173c5229a00c5425255680dd6edc27e278c48883991f348fe6985de43b4ec25f; + random_keys_and_partial_address[2] = 0x1698608e23b5f6c2f43c49a559108bb64e2247b8fc2da842296a416817f40b7f; + // ovpk_m_hash + random_keys_and_partial_address[3] = 0x1bad2f7d1ad960a1bd0fe4d2c8d17f5ab4a86ef8b103e0a9e7f67ec0d3b4795e; + // tpk_m_hash + random_keys_and_partial_address[4] = 0x05e3bd9cfe6b47daa139613619cf7d7fd8bb0112b6f2908caa6d9b536ed948ed; // partial address - random_keys_and_partial_address[12] = 0x236703e2cb00a182e024e98e9f759231b556d25ff19f98896cebb69e9e678cc9; + random_keys_and_partial_address[5] = 0x236703e2cb00a182e024e98e9f759231b556d25ff19f98896cebb69e9e678cc9; let _ = OracleMock::mock("aztec_utl_getPublicKeysAndPartialAddress").returns(Option::some( random_keys_and_partial_address, diff --git a/noir-projects/aztec-nr/aztec/src/macros/notes.nr b/noir-projects/aztec-nr/aztec/src/macros/notes.nr index 2836182df312..f50634480dab 100644 --- a/noir-projects/aztec-nr/aztec/src/macros/notes.nr +++ b/noir-projects/aztec-nr/aztec/src/macros/notes.nr @@ -88,10 +88,7 @@ comptime fn generate_note_hash_trait_impl(s: TypeDefinition) -> Quoted { owner: aztec::protocol::address::AztecAddress, note_hash_for_nullification: Field, ) -> Field { - let owner_npk_m = aztec::keys::getters::get_public_keys(owner).npk_m; - // We invoke hash as a static trait function rather than calling owner_npk_m.hash() directly - // in the quote to avoid "trait not in scope" compiler warnings. - let owner_npk_m_hash = aztec::protocol::traits::Hash::hash(owner_npk_m); + let owner_npk_m_hash = aztec::keys::getters::get_public_keys(owner).npk_m_hash; let secret = context.request_nhk_app(owner_npk_m_hash); aztec::note::utils::compute_note_nullifier(note_hash_for_nullification, [secret]) } @@ -105,10 +102,7 @@ comptime fn generate_note_hash_trait_impl(s: TypeDefinition) -> Quoted { // hiding key (nhk) is also available, so we don't need to handle get_nhk_app potentially // failing. The Option is only needed for the try_get_public_keys call. aztec::keys::getters::try_get_public_keys(owner).map(|public_keys| { - let owner_npk_m = public_keys.npk_m; - // We invoke hash as a static trait function rather than calling owner_npk_m.hash() directly - // in the quote to avoid "trait not in scope" compiler warnings. - let owner_npk_m_hash = aztec::protocol::traits::Hash::hash(owner_npk_m); + let owner_npk_m_hash = public_keys.npk_m_hash; let secret = aztec::keys::getters::get_nhk_app(owner_npk_m_hash); aztec::note::utils::compute_note_nullifier(note_hash_for_nullification, [secret]) }) diff --git a/noir-projects/aztec-nr/aztec/src/oracle/get_contract_instance.nr b/noir-projects/aztec-nr/aztec/src/oracle/get_contract_instance.nr index 11eace998fa6..372729c37a9e 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/get_contract_instance.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/get_contract_instance.nr @@ -35,6 +35,10 @@ unconstrained fn get_contract_instance_class_id_oracle_avm(_address: AztecAddres unconstrained fn get_contract_instance_initialization_hash_oracle_avm( _address: AztecAddress, ) -> [GetContractInstanceResult; 1] {} +#[oracle(aztec_avm_getContractInstanceImmutablesHash)] +unconstrained fn get_contract_instance_immutables_hash_oracle_avm( + _address: AztecAddress, +) -> [GetContractInstanceResult; 1] {} unconstrained fn get_contract_instance_deployer_internal_avm(address: AztecAddress) -> [GetContractInstanceResult; 1] { get_contract_instance_deployer_oracle_avm(address) @@ -47,6 +51,11 @@ unconstrained fn get_contract_instance_initialization_hash_internal_avm( ) -> [GetContractInstanceResult; 1] { get_contract_instance_initialization_hash_oracle_avm(address) } +unconstrained fn get_contract_instance_immutables_hash_internal_avm( + address: AztecAddress, +) -> [GetContractInstanceResult; 1] { + get_contract_instance_immutables_hash_oracle_avm(address) +} pub fn get_contract_instance_deployer_avm(address: AztecAddress) -> Option { // Safety: AVM opcodes are constrained by the AVM itself @@ -78,3 +87,13 @@ pub fn get_contract_instance_initialization_hash_avm(address: AztecAddress) -> O Option::none() } } +pub fn get_contract_instance_immutables_hash_avm(address: AztecAddress) -> Option { + // Safety: AVM opcodes are constrained by the AVM itself + let GetContractInstanceResult { exists, member } = + unsafe { get_contract_instance_immutables_hash_internal_avm(address)[0] }; + if exists { + Option::some(member) + } else { + Option::none() + } +} diff --git a/noir-projects/aztec-nr/aztec/src/oracle/keys.nr b/noir-projects/aztec-nr/aztec/src/oracle/keys.nr index 8f3d2788bf7a..45a733f6da06 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/keys.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/keys.nr @@ -1,33 +1,31 @@ -use crate::protocol::{ - address::{AztecAddress, PartialAddress}, - point::Point, - public_keys::{IvpkM, NpkM, OvpkM, PublicKeys, TpkM}, -}; +use crate::protocol::{address::{AztecAddress, PartialAddress}, point::Point, public_keys::{IvpkM, PublicKeys}}; // TODO(F-498): review naming consistency pub unconstrained fn get_public_keys_and_partial_address(address: AztecAddress) -> (PublicKeys, PartialAddress) { try_get_public_keys_and_partial_address(address).expect(f"Public keys not registered for account {address}") } -// TODO(F-553): The oracle returns 13 fields because each public key is serialized as 3 fields (x, y, is_infinite) by -// the custom `Point` wrapper. Once we drop the wrapper and use `EmbeddedCurvePoint` directly each point will -// serialize to 2 fields and this should become `[Field; 9]` again, with the indices below shifted accordingly. +/// Oracle wire format: `[npk_m_hash, ivpk_m.x, ivpk_m.y, ovpk_m_hash, tpk_m_hash, partial_address]`. +/// +/// Three of the four master public keys are exposed only as hashes; `ivpk_m` is sent +/// as its affine coordinates because address derivation and encrypt-to-address require the point +/// in-circuit. This point is assumed to be non-infinite. #[oracle(aztec_utl_getPublicKeysAndPartialAddress)] -unconstrained fn get_public_keys_and_partial_address_oracle(_address: AztecAddress) -> Option<[Field; 13]> {} +unconstrained fn get_public_keys_and_partial_address_oracle(_address: AztecAddress) -> Option<[Field; 6]> {} // TODO(F-498): review naming consistency pub unconstrained fn try_get_public_keys_and_partial_address( address: AztecAddress, ) -> Option<(PublicKeys, PartialAddress)> { - get_public_keys_and_partial_address_oracle(address).map(|result: [Field; 13]| { + get_public_keys_and_partial_address_oracle(address).map(|result: [Field; 6]| { let keys = PublicKeys { - npk_m: NpkM { inner: Point { x: result[0], y: result[1], is_infinite: result[2] != 0 } }, - ivpk_m: IvpkM { inner: Point { x: result[3], y: result[4], is_infinite: result[5] != 0 } }, - ovpk_m: OvpkM { inner: Point { x: result[6], y: result[7], is_infinite: result[8] != 0 } }, - tpk_m: TpkM { inner: Point { x: result[9], y: result[10], is_infinite: result[11] != 0 } }, + npk_m_hash: result[0], + ivpk_m: IvpkM { inner: Point { x: result[1], y: result[2], is_infinite: false } }, + ovpk_m_hash: result[3], + tpk_m_hash: result[4], }; - let partial_address = PartialAddress::from_field(result[12]); + let partial_address = PartialAddress::from_field(result[5]); (keys, partial_address) }) diff --git a/noir-projects/aztec-nr/aztec/src/oracle/shared_secret.nr b/noir-projects/aztec-nr/aztec/src/oracle/shared_secret.nr index 4785328f9d71..04a0cd198cda 100644 --- a/noir-projects/aztec-nr/aztec/src/oracle/shared_secret.nr +++ b/noir-projects/aztec-nr/aztec/src/oracle/shared_secret.nr @@ -1,8 +1,7 @@ use crate::ephemeral::EphemeralArray; use crate::protocol::{address::AztecAddress, hash::sha256_to_field, point::Point}; -global GET_SHARED_SECRETS_REQUEST_SLOT: Field = - sha256_to_field("AZTEC_NR::GET_SHARED_SECRETS_REQUEST_SLOT".as_bytes()); +global GET_SHARED_SECRETS_REQUEST_SLOT: Field = sha256_to_field("AZTEC_NR::GET_SHARED_SECRETS_REQUEST_SLOT".as_bytes()); #[oracle(aztec_utl_getSharedSecrets)] unconstrained fn get_shared_secrets_oracle( @@ -12,11 +11,7 @@ unconstrained fn get_shared_secrets_oracle( ) -> Field {} /// Convenience wrapper around [`get_shared_secrets`] for a single ephemeral public key. -pub unconstrained fn get_shared_secret( - address: AztecAddress, - eph_pk: Point, - contract_address: AztecAddress, -) -> Field { +pub unconstrained fn get_shared_secret(address: AztecAddress, eph_pk: Point, contract_address: AztecAddress) -> Field { get_shared_secrets::<1>(address, BoundedVec::from_array([eph_pk]), contract_address).get(0) } @@ -44,16 +39,12 @@ pub unconstrained fn get_shared_secrets( eph_pks: BoundedVec, contract_address: AztecAddress, ) -> BoundedVec { - let request_array: EphemeralArray = - EphemeralArray::at(GET_SHARED_SECRETS_REQUEST_SLOT).clear(); + let request_array: EphemeralArray = EphemeralArray::at(GET_SHARED_SECRETS_REQUEST_SLOT).clear(); eph_pks.for_each(|pk| request_array.push(pk)); let response_slot = get_shared_secrets_oracle(address, request_array.slot, contract_address); let response_array: EphemeralArray = EphemeralArray::at(response_slot); - assert( - response_array.len() == eph_pks.len(), - "get_shared_secrets: response length does not match request length", - ); + assert(response_array.len() == eph_pks.len(), "get_shared_secrets: response length does not match request length"); let mut results: BoundedVec = BoundedVec::new(); for i in 0..eph_pks.len() { @@ -64,7 +55,7 @@ pub unconstrained fn get_shared_secrets( mod test { use crate::ephemeral::EphemeralArray; - use crate::oracle::shared_secret::{GET_SHARED_SECRETS_REQUEST_SLOT, get_shared_secrets}; + use crate::oracle::shared_secret::{get_shared_secrets, GET_SHARED_SECRETS_REQUEST_SLOT}; use crate::protocol::{address::AztecAddress, traits::FromField}; use crate::test::helpers::test_environment::TestEnvironment; use crate::utils::point::point_from_x_coord; @@ -86,8 +77,7 @@ mod test { AztecAddress::from_field(2), ); - let request_array: EphemeralArray<_> = - EphemeralArray::at(GET_SHARED_SECRETS_REQUEST_SLOT); + let request_array: EphemeralArray<_> = EphemeralArray::at(GET_SHARED_SECRETS_REQUEST_SLOT); assert_eq(request_array.get(0), pk_a); assert_eq(request_array.get(1), pk_b); assert_eq(request_array.get(2), pk_c); diff --git a/noir-projects/aztec-nr/aztec/src/publish_contract_instance.nr b/noir-projects/aztec-nr/aztec/src/publish_contract_instance.nr index 6cd429499339..c841288e56c4 100644 --- a/noir-projects/aztec-nr/aztec/src/publish_contract_instance.nr +++ b/noir-projects/aztec-nr/aztec/src/publish_contract_instance.nr @@ -25,24 +25,29 @@ pub fn publish_contract_instance_for_public_execution(context: &mut PrivateConte // ../../yarn-project/node_modules/.bin/aztec-cli codegen // target/contract_instance_registry_contract-ContractInstanceRegistry.json --nr -o // ./contracts/contract_instance_registry_contract/src/interface - let mut serialized_args = [0; 16]; + // + // PublicKeys serializes to 6 fields (npk_m_hash, ivpk_m as a 3-field point with + // is_infinite, ovpk_m_hash, tpk_m_hash). Total args: 4 (salt, class_id, init_hash, + // immutables_hash) + 6 (public_keys) + 1 (universal_deploy) = 11. + let mut serialized_args = [0; 11]; serialized_args[0] = instance.salt; serialized_args[1] = instance.contract_class_id.to_field(); serialized_args[2] = instance.initialization_hash; + serialized_args[3] = instance.immutables_hash; let serialized_public_keys = instance.public_keys.serialize(); - for i in 0..12 { - serialized_args[i + 3] = serialized_public_keys[i]; + for i in 0..6 { + serialized_args[i + 4] = serialized_public_keys[i]; } - serialized_args[15] = universal_deploy as Field; + serialized_args[10] = universal_deploy as Field; let _call_result = context.call_private_function( CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS, comptime { FunctionSelector::from_signature( - "publish_for_public_execution(Field,(Field),Field,(((Field,Field,bool)),((Field,Field,bool)),((Field,Field,bool)),((Field,Field,bool))),bool)", + "publish_for_public_execution(Field,(Field),Field,Field,(Field,((Field,Field,bool)),Field,Field),bool)", ) }, serialized_args, diff --git a/noir-projects/aztec-nr/aztec/src/state_vars/private_immutable.nr b/noir-projects/aztec-nr/aztec/src/state_vars/private_immutable.nr index ef84849f3ebb..991d219f6f56 100644 --- a/noir-projects/aztec-nr/aztec/src/state_vars/private_immutable.nr +++ b/noir-projects/aztec-nr/aztec/src/state_vars/private_immutable.nr @@ -12,10 +12,8 @@ use crate::{ }; use crate::protocol::{ - address::AztecAddress, - constants::DOM_SEP__INITIALIZATION_NULLIFIER, - hash::poseidon2_hash_with_separator, - traits::{Hash, Packable}, + address::AztecAddress, constants::DOM_SEP__INITIALIZATION_NULLIFIER, hash::poseidon2_hash_with_separator, + traits::Packable, }; mod test; @@ -82,8 +80,7 @@ impl PrivateImmutable { /// that need to check if a PrivateImmutable has been initialized. /// fn get_initialization_nullifier(self) -> Field { - let owner_npk_m = get_public_keys(self.owner).npk_m; - let owner_npk_m_hash = owner_npk_m.hash(); + let owner_npk_m_hash = get_public_keys(self.owner).npk_m_hash; let secret = self.context.request_nhk_app(owner_npk_m_hash); self.compute_initialization_nullifier(secret) } @@ -137,8 +134,7 @@ where { /// Computes the nullifier that will be created when this PrivateImmutable is first initialized. unconstrained fn get_initialization_nullifier(self) -> Field { - let owner_npk_m = get_public_keys(self.owner).npk_m; - let owner_npk_m_hash = owner_npk_m.hash(); + let owner_npk_m_hash = get_public_keys(self.owner).npk_m_hash; let secret = get_nhk_app(owner_npk_m_hash); self.compute_initialization_nullifier(secret) } diff --git a/noir-projects/aztec-nr/aztec/src/state_vars/private_mutable.nr b/noir-projects/aztec-nr/aztec/src/state_vars/private_mutable.nr index cc1bbade6d6e..56fb2b2a12a7 100644 --- a/noir-projects/aztec-nr/aztec/src/state_vars/private_mutable.nr +++ b/noir-projects/aztec-nr/aztec/src/state_vars/private_mutable.nr @@ -12,10 +12,8 @@ use crate::{ }; use crate::protocol::{ - address::AztecAddress, - constants::DOM_SEP__INITIALIZATION_NULLIFIER, - hash::poseidon2_hash_with_separator, - traits::{Hash, Packable}, + address::AztecAddress, constants::DOM_SEP__INITIALIZATION_NULLIFIER, hash::poseidon2_hash_with_separator, + traits::Packable, }; mod test; @@ -104,8 +102,7 @@ where /// also be useful for contracts that need to check if a PrivateMutable has been initialized. /// fn get_initialization_nullifier(self) -> Field { - let owner_npk_m = get_public_keys(self.owner).npk_m; - let owner_npk_m_hash = owner_npk_m.hash(); + let owner_npk_m_hash = get_public_keys(self.owner).npk_m_hash; let secret = self.context.request_nhk_app(owner_npk_m_hash); self.compute_initialization_nullifier(secret) } @@ -311,8 +308,7 @@ where { /// Computes the nullifier that will be created when this PrivateMutable is first initialized. unconstrained fn get_initialization_nullifier(self) -> Field { - let owner_npk_m = get_public_keys(self.owner).npk_m; - let owner_npk_m_hash = owner_npk_m.hash(); + let owner_npk_m_hash = get_public_keys(self.owner).npk_m_hash; let secret = get_nhk_app(owner_npk_m_hash); self.compute_initialization_nullifier(secret) } diff --git a/noir-projects/aztec-nr/aztec/src/state_vars/single_private_immutable.nr b/noir-projects/aztec-nr/aztec/src/state_vars/single_private_immutable.nr index 326a4843110d..519b80ec8caa 100644 --- a/noir-projects/aztec-nr/aztec/src/state_vars/single_private_immutable.nr +++ b/noir-projects/aztec-nr/aztec/src/state_vars/single_private_immutable.nr @@ -12,9 +12,7 @@ use crate::{ }; use crate::protocol::{ - constants::DOM_SEP__INITIALIZATION_NULLIFIER, - hash::poseidon2_hash_with_separator, - traits::{Hash, Packable}, + constants::DOM_SEP__INITIALIZATION_NULLIFIER, hash::poseidon2_hash_with_separator, traits::Packable, }; mod test; @@ -87,8 +85,7 @@ impl SinglePrivateImmutable { /// that need to check if a SinglePrivateImmutable has been initialized. fn get_initialization_nullifier(self) -> Field { let contract_address = self.context.this_address(); - let contract_npk_m = get_public_keys(contract_address).npk_m; - let contract_npk_m_hash = contract_npk_m.hash(); + let contract_npk_m_hash = get_public_keys(contract_address).npk_m_hash; let secret = self.context.request_nhk_app(contract_npk_m_hash); self.compute_initialization_nullifier(secret) } @@ -152,8 +149,7 @@ where /// Computes the nullifier that will be created when this SinglePrivateImmutable is first initialized. unconstrained fn get_initialization_nullifier(self) -> Field { let contract_address = self.context.this_address(); - let contract_npk_m = get_public_keys(contract_address).npk_m; - let contract_npk_m_hash = contract_npk_m.hash(); + let contract_npk_m_hash = get_public_keys(contract_address).npk_m_hash; let secret = get_nhk_app(contract_npk_m_hash); self.compute_initialization_nullifier(secret) } diff --git a/noir-projects/aztec-nr/aztec/src/state_vars/single_private_mutable.nr b/noir-projects/aztec-nr/aztec/src/state_vars/single_private_mutable.nr index d286aa346b78..05ae0cd658c8 100644 --- a/noir-projects/aztec-nr/aztec/src/state_vars/single_private_mutable.nr +++ b/noir-projects/aztec-nr/aztec/src/state_vars/single_private_mutable.nr @@ -12,10 +12,8 @@ use crate::{ }; use crate::protocol::{ - address::AztecAddress, - constants::DOM_SEP__INITIALIZATION_NULLIFIER, - hash::poseidon2_hash_with_separator, - traits::{Hash, Packable}, + address::AztecAddress, constants::DOM_SEP__INITIALIZATION_NULLIFIER, hash::poseidon2_hash_with_separator, + traits::Packable, }; mod test; @@ -122,8 +120,7 @@ where /// also be useful for contracts that need to check if a SinglePrivateMutable has been initialized. fn get_initialization_nullifier(self) -> Field { let contract_address = self.context.this_address(); - let contract_npk_m = get_public_keys(contract_address).npk_m; - let contract_npk_m_hash = contract_npk_m.hash(); + let contract_npk_m_hash = get_public_keys(contract_address).npk_m_hash; let secret = self.context.request_nhk_app(contract_npk_m_hash); self.compute_initialization_nullifier(secret) } @@ -243,8 +240,7 @@ where /// Computes the nullifier that will be created when this SinglePrivateMutable is first initialized. unconstrained fn get_initialization_nullifier(self) -> Field { let contract_address = self.context.this_address(); - let contract_npk_m = get_public_keys(contract_address).npk_m; - let contract_npk_m_hash = contract_npk_m.hash(); + let contract_npk_m_hash = get_public_keys(contract_address).npk_m_hash; let secret = get_nhk_app(contract_npk_m_hash); self.compute_initialization_nullifier(secret) } diff --git a/noir-projects/aztec-nr/aztec/src/state_vars/single_use_claim.nr b/noir-projects/aztec-nr/aztec/src/state_vars/single_use_claim.nr index 28f0ac6f860d..eb6c81088340 100644 --- a/noir-projects/aztec-nr/aztec/src/state_vars/single_use_claim.nr +++ b/noir-projects/aztec-nr/aztec/src/state_vars/single_use_claim.nr @@ -1,6 +1,5 @@ use crate::protocol::{ address::AztecAddress, constants::DOM_SEP__SINGLE_USE_CLAIM_NULLIFIER, hash::poseidon2_hash_with_separator, - traits::Hash, }; use crate::{ @@ -104,7 +103,7 @@ impl SingleUseClaim<&mut PrivateContext> { /// The implementation of this function emits a nullifier derived from the `owner`'s nullifier hiding key and the /// storage slot of the underlying state variable. pub fn claim(self) { - let owner_nhk_app = self.context.request_nhk_app(get_public_keys(self.owner).npk_m.hash()); + let owner_nhk_app = self.context.request_nhk_app(get_public_keys(self.owner).npk_m_hash); self.context.push_nullifier(self.compute_nullifier(owner_nhk_app)); } @@ -116,7 +115,7 @@ impl SingleUseClaim<&mut PrivateContext> { /// This function generates a kernel nullifier read request, so it can even assert the existence of pending claims, /// i.e. when [`SingleUseClaim::claim`] was called in the same transaction as [`SingleUseClaim::assert_claimed`]. pub fn assert_claimed(self) { - let owner_nhk_app = self.context.request_nhk_app(get_public_keys(self.owner).npk_m.hash()); + let owner_nhk_app = self.context.request_nhk_app(get_public_keys(self.owner).npk_m_hash); let nullifier = self.compute_nullifier(owner_nhk_app); // Safety: `check_nullifier_exists` is an unconstrained function - we can constrain a true value @@ -136,7 +135,7 @@ impl SingleUseClaim<&mut PrivateContext> { impl SingleUseClaim { /// Returns `true` if an owner has claimed this single use claim. pub unconstrained fn has_claimed(self) -> bool { - let owner_nhk_app = get_nhk_app(get_public_keys(self.owner).npk_m.hash()); + let owner_nhk_app = get_nhk_app(get_public_keys(self.owner).npk_m_hash); check_nullifier_exists(self.compute_nullifier(owner_nhk_app)) } } diff --git a/noir-projects/aztec-nr/aztec/src/test/helpers/test_environment/test/misc.nr b/noir-projects/aztec-nr/aztec/src/test/helpers/test_environment/test/misc.nr index 26ab11663952..d03347ea83f4 100644 --- a/noir-projects/aztec-nr/aztec/src/test/helpers/test_environment/test/misc.nr +++ b/noir-projects/aztec-nr/aztec/src/test/helpers/test_environment/test/misc.nr @@ -60,8 +60,5 @@ unconstrained fn txe_oracle_version_is_checked_upon_env_creation() { let _env = TestEnvironment::new(); assert_eq(mock.times_called(), 1); - assert_eq( - mock.get_last_params::<(Field, Field)>(), - (TXE_ORACLE_VERSION_MAJOR, TXE_ORACLE_VERSION_MINOR), - ); + assert_eq(mock.get_last_params::<(Field, Field)>(), (TXE_ORACLE_VERSION_MAJOR, TXE_ORACLE_VERSION_MINOR)); } diff --git a/noir-projects/aztec-nr/uint-note/src/uint_note.nr b/noir-projects/aztec-nr/uint-note/src/uint_note.nr index 979f3934775c..c7427a3e8e2d 100644 --- a/noir-projects/aztec-nr/uint-note/src/uint_note.nr +++ b/noir-projects/aztec-nr/uint-note/src/uint_note.nr @@ -15,7 +15,7 @@ use aztec::{ DOM_SEP__PARTIAL_NOTE_VALIDITY_COMMITMENT, }, hash::{compute_log_tag, compute_siloed_nullifier, poseidon2_hash_with_separator}, - traits::{Deserialize, FromField, Hash, Packable, Serialize, ToField}, + traits::{Deserialize, FromField, Packable, Serialize, ToField}, }, }; @@ -64,8 +64,7 @@ impl NoteHash for UintNote { owner: AztecAddress, note_hash_for_nullification: Field, ) -> Field { - let owner_npk_m = get_public_keys(owner).npk_m; - let owner_npk_m_hash = owner_npk_m.hash(); + let owner_npk_m_hash = get_public_keys(owner).npk_m_hash; let secret = context.request_nhk_app(owner_npk_m_hash); compute_note_nullifier(note_hash_for_nullification, [secret]) } @@ -76,8 +75,7 @@ impl NoteHash for UintNote { note_hash_for_nullification: Field, ) -> Option { try_get_public_keys(owner).map(|public_keys| { - let owner_npk_m = public_keys.npk_m; - let owner_npk_m_hash = owner_npk_m.hash(); + let owner_npk_m_hash = public_keys.npk_m_hash; let secret = get_nhk_app(owner_npk_m_hash); compute_note_nullifier(note_hash_for_nullification, [secret]) }) diff --git a/noir-projects/noir-contracts/contracts/app/card_game_contract/src/cards.nr b/noir-projects/noir-contracts/contracts/app/card_game_contract/src/cards.nr index 1886bf121746..104a9d2b6f88 100644 --- a/noir-projects/noir-contracts/contracts/app/card_game_contract/src/cards.nr +++ b/noir-projects/noir-contracts/contracts/app/card_game_contract/src/cards.nr @@ -9,7 +9,7 @@ use aztec::{ protocol::{ address::AztecAddress, constants::MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, - traits::{Deserialize, FromField, Hash, Packable, Serialize, ToField}, + traits::{Deserialize, FromField, Packable, Serialize, ToField}, }, state_vars::{Owned, PrivateSet, StateVariable}, }; @@ -181,7 +181,7 @@ impl Deck { global PACK_CARDS: u32 = 3; // Limited by number of write requests (max 4) pub fn get_pack_cards(seed: Field, owner: AztecAddress, context: &mut PrivateContext) -> [Card; PACK_CARDS] { - let owner_npk_m_hash = get_public_keys(owner).npk_m.hash(); + let owner_npk_m_hash = get_public_keys(owner).npk_m_hash; // generate pseudo randomness deterministically from 'seed' and user secret let secret = context.request_nhk_app(owner_npk_m_hash); diff --git a/noir-projects/noir-contracts/contracts/app/nft_contract/src/types/nft_note.nr b/noir-projects/noir-contracts/contracts/app/nft_contract/src/types/nft_note.nr index 4b52fc52d803..20dc4833691a 100644 --- a/noir-projects/noir-contracts/contracts/app/nft_contract/src/types/nft_note.nr +++ b/noir-projects/noir-contracts/contracts/app/nft_contract/src/types/nft_note.nr @@ -15,7 +15,7 @@ use aztec::{ DOM_SEP__PARTIAL_NOTE_VALIDITY_COMMITMENT, }, hash::{compute_log_tag, poseidon2_hash_with_separator}, - traits::{Deserialize, Hash, Packable, Serialize, ToField}, + traits::{Deserialize, Packable, Serialize, ToField}, }, }; @@ -60,8 +60,7 @@ impl NoteHash for NFTNote { owner: AztecAddress, note_hash_for_nullification: Field, ) -> Field { - let owner_npk_m = get_public_keys(owner).npk_m; - let owner_npk_m_hash = owner_npk_m.hash(); + let owner_npk_m_hash = get_public_keys(owner).npk_m_hash; let secret = context.request_nhk_app(owner_npk_m_hash); compute_note_nullifier(note_hash_for_nullification, [secret]) } @@ -72,8 +71,7 @@ impl NoteHash for NFTNote { note_hash_for_nullification: Field, ) -> Option { try_get_public_keys(owner).map(|public_keys| { - let owner_npk_m = public_keys.npk_m; - let owner_npk_m_hash = owner_npk_m.hash(); + let owner_npk_m_hash = public_keys.npk_m_hash; let secret = get_nhk_app(owner_npk_m_hash); compute_note_nullifier(note_hash_for_nullification, [secret]) }) diff --git a/noir-projects/noir-contracts/contracts/protocol/contract_instance_registry_contract/src/main.nr b/noir-projects/noir-contracts/contracts/protocol/contract_instance_registry_contract/src/main.nr index e8f1e8c0bb4a..ba22dec62c62 100644 --- a/noir-projects/noir-contracts/contracts/protocol/contract_instance_registry_contract/src/main.nr +++ b/noir-projects/noir-contracts/contracts/protocol/contract_instance_registry_contract/src/main.nr @@ -32,14 +32,16 @@ pub contract ContractInstanceRegistry { salt: Field, contract_class_id: ContractClassId, initialization_hash: Field, + immutables_hash: Field, public_keys: PublicKeys, deployer: AztecAddress, } - // Custom serialization is required because we don't want to waste one field for the `is_infinite` flag of public - // key points (public key points will never be the infinity point). + // Custom serialization is required because: + // - npk_m, ovpk_m, and tpk_m are exposed only as hashes so we serialize the hashes directly. + // - For ivpk_m we drop the `is_infinite` flag (we assume non-infinity). impl ContractInstancePublished { - fn serialize_non_standard(self) -> [Field; 15] { + fn serialize_non_standard(self) -> [Field; 13] { [ self.CONTRACT_INSTANCE_PUBLISHED_MAGIC_VALUE, self.address.to_field(), @@ -47,14 +49,12 @@ pub contract ContractInstanceRegistry { self.salt, self.contract_class_id.to_field(), self.initialization_hash, - self.public_keys.npk_m.serialize()[0], - self.public_keys.npk_m.serialize()[1], - self.public_keys.ivpk_m.serialize()[0], - self.public_keys.ivpk_m.serialize()[1], - self.public_keys.ovpk_m.serialize()[0], - self.public_keys.ovpk_m.serialize()[1], - self.public_keys.tpk_m.serialize()[0], - self.public_keys.tpk_m.serialize()[1], + self.immutables_hash, + self.public_keys.npk_m_hash, + self.public_keys.ivpk_m.inner.x, + self.public_keys.ivpk_m.inner.y, + self.public_keys.ovpk_m_hash, + self.public_keys.tpk_m_hash, self.deployer.to_field(), ] } @@ -77,13 +77,15 @@ pub contract ContractInstanceRegistry { /// Publishes a new contract instance. /// - /// The caller provides deployment parameters (salt, class_id, init_hash, public_keys, universal_deploy). + /// The caller provides deployment parameters (salt, class_id, init_hash, immutables_hash, public_keys, + /// universal_deploy). /// The `universal_deploy` flag controls whether the deployer address is bound into the contract address: /// when true, deployer is zero (anyone can deploy the same instance); when false, deployer is the caller. /// /// This function: /// 1. Verifies the contract class is registered in ContractClassRegistry (nullifier existence check). - /// 2. Validates public key points are on the Grumpkin curve (preventing AVM DoS via invalid points). + /// 2. Validates `ivpk_m` is on the Grumpkin curve and not the point at infinity (preventing AVM DoS via an invalid + /// point). `npk_m`, `ovpk_m`, and `tpk_m` are exposed only as hashes and are not validated in-circuit. /// 3. Computes the deterministic contract address from the deployment parameters. /// 4. Emits the address as a nullifier (proving publication preventing duplicate deployment) /// --> this address nullifier is then checked to exist by the AVM upon public function execution (if it doesn't @@ -95,6 +97,7 @@ pub contract ContractInstanceRegistry { salt: Field, contract_class_id: ContractClassId, initialization_hash: Field, + immutables_hash: Field, public_keys: PublicKeys, universal_deploy: bool, ) -> return_data aztec::protocol::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs { @@ -103,7 +106,9 @@ pub contract ContractInstanceRegistry { // body, I have removed that check. assert_compatible_oracle_version(); - let serialized_params: [Field; 16] = [salt, contract_class_id.to_field(), initialization_hash] + // 4 prefix fields (salt, class_id, init_hash, immutables_hash) + 6 public-key fields + 1 + // universal_deploy flag = 11. + let serialized_params: [Field; 11] = [salt, contract_class_id.to_field(), initialization_hash, immutables_hash] .concat(public_keys.serialize()) .concat([universal_deploy.to_field()]); @@ -126,9 +131,17 @@ pub contract ContractInstanceRegistry { context.maybe_msg_sender().unwrap() }; - let partial_address = PartialAddress::compute(contract_class_id, salt, initialization_hash, deployer); + let partial_address = PartialAddress::compute( + contract_class_id, + salt, + initialization_hash, + deployer, + immutables_hash, + ); - // Validate public key points lie on the Grumpkin curve and are non-0 to prevent AVM DoS attacks. + // Validate `ivpk_m` is on the Grumpkin curve and is not the point at infinity (preventing AVM + // DoS attacks). The other three master keys are exposed as hashes and have no + // curve-point to validate here. public_keys.validate_on_curve(); public_keys.validate_non_infinity(); @@ -138,23 +151,24 @@ pub contract ContractInstanceRegistry { // We use no domain separators because these are the only nullifiers this contract uses. context.push_nullifier(address.to_field()); - // Broadcast deployment event. Uses non-standard serialization (2 fields per point, - // omitting is_infinite) for TypeScript SDK compatibility. + // Broadcast deployment event. Version 2 carries hashes for npk/ovpk/tpk and the affine + // coordinates of ivpk only; see `serialize_non_standard`. let event = ContractInstancePublished { CONTRACT_INSTANCE_PUBLISHED_MAGIC_VALUE, contract_class_id, address, public_keys, initialization_hash, + immutables_hash, salt, deployer, - version: 1, + version: 2, }; let payload = event.serialize_non_standard(); debug_log_format("ContractInstancePublished: {}", payload); - // We pad the payload with [0] to match the length required by emit_private_log. Since the log is not + // We pad the payload with zeros to match the length required by emit_private_log. Since the log is not // encrypted, padding with zero rather than a random value is acceptable (we don't care about privacy here). - let padded_log = payload.concat([0]); + let padded_log = payload.concat([0, 0, 0]); let length = payload.len(); context.emit_private_log(padded_log, length); @@ -307,6 +321,7 @@ pub contract ContractInstanceRegistry { pub _salt: Field, pub _contract_class_id: ContractClassId, pub _initialization_hash: Field, + pub _immutables_hash: Field, pub _public_keys: PublicKeys, pub _universal_deploy: bool, } diff --git a/noir-projects/noir-contracts/contracts/protocol_interface/contract_instance_registry_interface/src/main.nr b/noir-projects/noir-contracts/contracts/protocol_interface/contract_instance_registry_interface/src/main.nr index d672c3b7bf5b..43af16745a71 100644 --- a/noir-projects/noir-contracts/contracts/protocol_interface/contract_instance_registry_interface/src/main.nr +++ b/noir-projects/noir-contracts/contracts/protocol_interface/contract_instance_registry_interface/src/main.nr @@ -25,6 +25,7 @@ pub contract ContractInstanceRegistry { salt: Field, contract_class_id: ContractClassId, initialization_hash: Field, + immutables_hash: Field, public_keys: PublicKeys, universal_deploy: bool, ) {} diff --git a/noir-projects/noir-contracts/contracts/test/avm_test_contract/src/main.nr b/noir-projects/noir-contracts/contracts/test/avm_test_contract/src/main.nr index 6ae17f9c7354..610f8176a3a0 100644 --- a/noir-projects/noir-contracts/contracts/test/avm_test_contract/src/main.nr +++ b/noir-projects/noir-contracts/contracts/test/avm_test_contract/src/main.nr @@ -16,7 +16,7 @@ pub contract AvmTest { use aztec::macros::{functions::{external, view}, storage::storage}; use aztec::oracle::get_contract_instance::{ get_contract_instance_class_id_avm, get_contract_instance_deployer_avm, - get_contract_instance_initialization_hash_avm, + get_contract_instance_immutables_hash_avm, get_contract_instance_initialization_hash_avm, }; use aztec::protocol::abis::function_selector::FunctionSelector; use aztec::protocol::{address::{AztecAddress, EthAddress}, point::Point, scalar::Scalar}; @@ -389,20 +389,24 @@ pub contract AvmTest { [4, 5, 6] // Should not get here. } + // This function is called from avm/avm_simulator.test.ts to test retrieval #[external("public")] fn test_get_contract_instance(address: AztecAddress) { let deployer = get_contract_instance_deployer_avm(address); let class_id = get_contract_instance_class_id_avm(address); let initialization_hash = get_contract_instance_initialization_hash_avm(address); + let immutables_hash = get_contract_instance_immutables_hash_avm(address); assert(deployer.is_some(), "Contract instance not found when getting DEPLOYER!"); assert(class_id.is_some(), "Contract instance not found when getting CLASS_ID!"); assert(initialization_hash.is_some(), "Contract instance not found when getting INIT_HASH!"); + assert(immutables_hash.is_some(), "Contract instance not found when getting IMMUTABLES_HASH!"); // The values here should match those in `avm_simulator.test.ts` assert(deployer.unwrap().eq(AztecAddress::from_field(0x456))); assert(class_id.unwrap().eq(ContractClassId::from_field(0x789))); assert(initialization_hash.unwrap() == 0x101112); + assert(immutables_hash.unwrap() == 0x202221); } #[external("public")] @@ -411,12 +415,14 @@ pub contract AvmTest { expected_deployer: AztecAddress, expected_class_id: ContractClassId, expected_initialization_hash: Field, + expected_immutables_hash: Field, ) { _test_get_contract_instance_matches( address, expected_deployer, expected_class_id, expected_initialization_hash, + expected_immutables_hash, ); } @@ -426,19 +432,23 @@ pub contract AvmTest { expected_deployer: AztecAddress, expected_class_id: ContractClassId, expected_initialization_hash: Field, + expected_immutables_hash: Field, ) { let deployer = get_contract_instance_deployer_avm(address); let class_id = get_contract_instance_class_id_avm(address); let initialization_hash = get_contract_instance_initialization_hash_avm(address); + let immutables_hash = get_contract_instance_immutables_hash_avm(address); assert(deployer.is_some(), "Contract instance not found when getting DEPLOYER!"); assert(class_id.is_some(), "Contract instance not found when getting CLASS_ID!"); assert(initialization_hash.is_some(), "Contract instance not found when getting INIT_HASH!"); + assert(immutables_hash.is_some(), "Contract instance not found when getting IMMUTABLES_HASH!"); // The values here should match those in `avm_simulator.test.ts` assert(deployer.unwrap().eq(expected_deployer)); assert(class_id.unwrap().eq(expected_class_id)); assert(initialization_hash.unwrap().eq(expected_initialization_hash)); + assert(immutables_hash.unwrap().eq(expected_immutables_hash)); // Get a Protocol Contract and it should exist aztec::oracle::logging::debug_log("Get Contract Instance Protocol Contract Instance"); @@ -842,6 +852,7 @@ pub contract AvmTest { expected_deployer: AztecAddress, expected_class_id: ContractClassId, expected_initialization_hash: Field, + expected_immutables_hash: Field, skip_strictly_limited_side_effects: bool, ) { aztec::oracle::logging::debug_log("biwise_ops"); @@ -877,6 +888,7 @@ pub contract AvmTest { expected_deployer, expected_class_id, expected_initialization_hash, + expected_immutables_hash, ); aztec::oracle::logging::debug_log("get_address"); let _ = _get_address(self.address); diff --git a/noir-projects/noir-contracts/contracts/test/scope_test_contract/src/main.nr b/noir-projects/noir-contracts/contracts/test/scope_test_contract/src/main.nr index 27dd883cfed8..53a41d35fdde 100644 --- a/noir-projects/noir-contracts/contracts/test/scope_test_contract/src/main.nr +++ b/noir-projects/noir-contracts/contracts/test/scope_test_contract/src/main.nr @@ -9,7 +9,7 @@ pub contract ScopeTest { keys::getters::{get_nhk_app, get_public_keys}, macros::{functions::{external, initializer, view}, storage::storage}, messages::message_delivery::MessageDelivery, - protocol::{address::AztecAddress, traits::Hash}, + protocol::address::AztecAddress, state_vars::{Owned, PrivateImmutable}, }; @@ -52,7 +52,7 @@ pub contract ScopeTest { /// Will fail if the caller is not authorized to access the owner's keys. #[external("private")] fn get_nhk(owner: AztecAddress) -> Field { - let owner_npk_m_hash = get_public_keys(owner).npk_m.hash(); + let owner_npk_m_hash = get_public_keys(owner).npk_m_hash; self.context.request_nhk_app(owner_npk_m_hash) } @@ -67,7 +67,7 @@ pub contract ScopeTest { /// Will fail if the caller is not authorized to access the owner's keys. #[external("utility")] unconstrained fn get_nhk_utility(owner: AztecAddress) -> Field { - let owner_npk_m_hash = get_public_keys(owner).npk_m.hash(); + let owner_npk_m_hash = get_public_keys(owner).npk_m_hash; get_nhk_app(owner_npk_m_hash) } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-init-2/Prover.toml b/noir-projects/noir-protocol-circuits/crates/private-kernel-init-2/Prover.toml new file mode 100644 index 000000000000..ad9bdf3b8638 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-init-2/Prover.toml @@ -0,0 +1,4016 @@ +vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" +is_private_only = true +first_nullifier_hint = "0x22c8f916474c9e4fbc086a9476c89c93120e1b8f7e32f1167216e7c3cb2e3308" +revertible_counter_hint = "0x0000000000000000000000000000000000000000000000000000000000000005" + +[tx_request] +args_hash = "0x02486714bcf7b63435b8818a646f5124643019b4d7a09497d20cca8d58ae946d" +salt = "0x0151ac979fc0d39f599d2b839d8bc37405936ad2d0d39b60185aa75a6d0e7336" + + [tx_request.origin] + inner = "0x1a5bc640b9ee6b7cb908e6672e5678531c8f4cb21c956616e436eecad76a452d" + + [tx_request.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000f81aedd1" + +[tx_request.tx_context.gas_settings.gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" +l2_gas = "0x000000000000000000000000000000000000000000000000000000000063cae0" + +[tx_request.tx_context.gas_settings.teardown_gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000018000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" + +[tx_request.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000336bfe2ba6" + +[tx_request.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [tx_request.function_data] + is_private = true + + [tx_request.function_data.selector] + inner = "0x000000000000000000000000000000000000000000000000000000009d57a239" + +[[protocol_contracts.derived_addresses]] +inner = "0x2c78cadfe08eabbb0e2a15b62eefd07a08cbc1631fa2be7962fd219308d9f1e3" + +[[protocol_contracts.derived_addresses]] +inner = "0x0d6429ccd33eeec2a03a7b2f78d6c901ad9406bf2058231382147de5014303fd" + +[[protocol_contracts.derived_addresses]] +inner = "0x0b286a1c928fbe1ca3be78fe2f2bd25a2eec7f5f15c2757a2db53b2a8d499358" + +[[protocol_contracts.derived_addresses]] +inner = "0x1cef6885d1ace5a36534202d1f593b94ac0876ff4933745085ad62da062a3b5e" + +[[protocol_contracts.derived_addresses]] +inner = "0x2ccc3471349063b3b0c5a6362e0dbfc3c21b534f84fc963483667b32840e259a" + +[[protocol_contracts.derived_addresses]] +inner = "0x0ad78bd90b0e2e0887928b98b621517d04a6bddebf6b20bdb76ddd8aec6f05fd" + +[[protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[private_call_0.vk] +key = [ + "0x0000000000000000000000000000000000000000000000000000000000000010", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000b61", + "0x0000000000000000000000000000007b6222b3a18551d60b847957202de6c8f5", + "0x00000000000000000000000000000000001e26b96548b9f12369e9c3ec0eee85", + "0x000000000000000000000000000000025aac0bbaf1beff1c0500e3ec38d34c8a", + "0x00000000000000000000000000000000002c498aff2f95b25bb92e2c9360aff5", + "0x00000000000000000000000000000039d32590e9d6e0be118712b9402c606156", + "0x000000000000000000000000000000000026588627e22f203f6399975fb67258", + "0x000000000000000000000000000000097282335613efda63abaeaddc915f44db", + "0x000000000000000000000000000000000021b51f545ea031ad8c826962f52545", + "0x00000000000000000000000000000035a0536197418c2ba2c29a1830f709420c", + "0x000000000000000000000000000000000020f8cabd08dfc29e045e0b80eb42d3", + "0x00000000000000000000000000000099e53cda88a63b8e751a2bc253f7a689a7", + "0x0000000000000000000000000000000000231a514e7a4dd0e23c4faf8d567c77", + "0x0000000000000000000000000000002dac12ff4e48e530611ceb7a400c099e4a", + "0x00000000000000000000000000000000001ad1cb6dbbe8ea3dd6c4f44ffdce56", + "0x000000000000000000000000000000dfd19e74f4e4c641b3b3f623825ccd495f", + "0x00000000000000000000000000000000000ce4453cef94251418336baa54e582", + "0x0000000000000000000000000000007ad93fd648d3587168e2ba9ee66dbbf918", + "0x00000000000000000000000000000000000a7680894366d3b1755d14152e528e", + "0x00000000000000000000000000000008bf43eecffcec9e31d916289a212b8f88", + "0x0000000000000000000000000000000000216620e5bd7b177f3fa15ceeb2526e", + "0x00000000000000000000000000000021db86993540e76c420c850640a25f7d94", + "0x000000000000000000000000000000000017418ee5d4d58a54e7728b755757a8", + "0x0000000000000000000000000000000cf5f978296643872c59d00be3c23ad68d", + "0x000000000000000000000000000000000013e45088158c3bf8ac1f8e71eec154", + "0x000000000000000000000000000000768cc857ea136153788ffa81c07daddaf2", + "0x000000000000000000000000000000000014b992148ee6906cb3a1989f3c4bb1", + "0x0000000000000000000000000000000127e074cd6ea24f75f86f3ab119f9ae5d", + "0x00000000000000000000000000000000001719d1f7fc4645193b8036cf9a3d52", + "0x0000000000000000000000000000001fc48b67fb4ec9714cfe69efa8469d2faa", + "0x00000000000000000000000000000000002800a5c6aa06adba0feb138f51b7c1", + "0x000000000000000000000000000000626607acd3cfe08cec8ccec45fc27222a0", + "0x00000000000000000000000000000000000bf5451f8e8805b3e83e17c778ac8f", + "0x000000000000000000000000000000622ac3715a21583a169b4c635c162bdc13", + "0x000000000000000000000000000000000012374104ee9056dfafba40f457c0a8", + "0x000000000000000000000000000000f6c09b75f7561f7fbbd272af5d3efa974b", + "0x00000000000000000000000000000000000e0a7bd7a377bca3ff6c89d68a3e5e", + "0x0000000000000000000000000000009d165e9a47e021ab9760d27339570655e5", + "0x0000000000000000000000000000000000000b204b0dc1f11b52bb345fb52145", + "0x000000000000000000000000000000d4c558b53b27cb4c171f8a5eb0bd1e3a2c", + "0x00000000000000000000000000000000002f6870272192d541c1b8887b15a95a", + "0x0000000000000000000000000000008f4c64ade1e7b515b074c100d489415d4c", + "0x00000000000000000000000000000000000f9aca92beccde2e1b08c99ab92a6c", + "0x0000000000000000000000000000008be6976e9870523051d19531843262ce4c", + "0x0000000000000000000000000000000000277419877e0ba35217f219676b5656", + "0x00000000000000000000000000000051ec180d05026f2f62b1674ca2e1a2c142", + "0x000000000000000000000000000000000022264cbd2ea66b7766612864c5108c", + "0x000000000000000000000000000000f137ae2b224915db0c43de1611134011d0", + "0x000000000000000000000000000000000011877af1a2b9b35d6ac04c489fe3ba", + "0x000000000000000000000000000000935ae3a5a2c4a7aad8e94a7cf1c4bec70e", + "0x00000000000000000000000000000000002a56488e09fd406c14aca4acf2b4c3", + "0x000000000000000000000000000000e770a6c5c0093eb5de2e5aa8d173e9ef05", + "0x000000000000000000000000000000000005522908d6e06b02d6938a789bb5c9", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000b139df614924ddb845d70d642d94873569", + "0x00000000000000000000000000000000000084d02351f0d2b405f3af6092edc0", + "0x0000000000000000000000000000006c1123c8d14bdfbfa99f95d1fd0d9674f7", + "0x00000000000000000000000000000000002be519d31aea4dac51b16b3655b459", + "0x00000000000000000000000000000035b52a2f19454b2d02086d012cfc44cbdb", + "0x000000000000000000000000000000000027f3e1c4d5482e3b1ebcbc5e43d1d2", + "0x000000000000000000000000000000bc81f2a307249de2d56c3c8151aa3a4179", + "0x000000000000000000000000000000000014745d0c8957b03309ffd69c523944", + "0x000000000000000000000000000000d90966909da4a8611a68a5b2544044ee27", + "0x00000000000000000000000000000000002dda368cf4f8ae011ba33953ccdbdc", + "0x00000000000000000000000000000099fd8e2a4efaa0e979e53c6360f11a3520", + "0x000000000000000000000000000000000029023563407bf604b94f3d3b82e32c", + "0x00000000000000000000000000000095ced0bf10b79aec2651f808812961ce57", + "0x0000000000000000000000000000000000204601f003e0e59d1865597a5cdcd4", + "0x000000000000000000000000000000fd07b0a28f8510ae42eefbbd2d0136dc4f", + "0x00000000000000000000000000000000001e3aba113eb2b6e0d9a07cb16188c0", + "0x0000000000000000000000000000004496315acb001bd07077d5e61a5fd28f1b", + "0x00000000000000000000000000000000001a39ca40a2fdca943fd7c57ea59fc9", + "0x0000000000000000000000000000001a6e9238224f825fbe059c173514ee0fe7", + "0x000000000000000000000000000000000022f701f63bad50d3161322f8d104b3", + "0x000000000000000000000000000000e7cb0e4c388d5b2b1350a0c1b259d7c4aa", + "0x0000000000000000000000000000000000216c09ccaf44298565b3e593e3a7bd", + "0x000000000000000000000000000000d840ba780d73076cfaadb07a9a1a2cad8b", + "0x00000000000000000000000000000000002a887121806c1166b16f3aa9de6716", + "0x0000000000000000000000000000000e3b5cb0fc3e09ea8b4059e2a6109ff857", + "0x00000000000000000000000000000000001794754a1a61af4fa7976eefdac79e", + "0x000000000000000000000000000000dfef9deedb32693d7cc279f72cdc785d1e", + "0x00000000000000000000000000000000000e55622ad6ca63ffde7f64ed504b16", + "0x000000000000000000000000000000d08df7bdd8d57cb1d65728efccbbfcf607", + "0x000000000000000000000000000000000005f2689ecd1c3bf58c28357d95d48a", + "0x0000000000000000000000000000002d7d2927cc7e65b41792f5745ba169663e", + "0x00000000000000000000000000000000002b5f2432471d8c12ea391ac1a0bd12", + "0x000000000000000000000000000000773d8fd379e59dbcbab02af010d195c779", + "0x000000000000000000000000000000000008826f48f7b0250873af38fa8f7500", + "0x0000000000000000000000000000006165595d9a271241c16e0472c174fba8f8", + "0x00000000000000000000000000000000001c673e22bf04c83bddc2f02ebaae36", + "0x0000000000000000000000000000008d6afb067ac5198bb372113d34c56552fa", + "0x00000000000000000000000000000000001e08cbe1d21feee99c841191e54333", + "0x0000000000000000000000000000007646a1a3ca480b5d7322e5e4bb688049f7", + "0x0000000000000000000000000000000000269f2465562733cff2488fe75060fe", + "0x0000000000000000000000000000005524b80d26a1d910532fda24c2383f979b", + "0x000000000000000000000000000000000023bf14a9a6153ade3200bcc787ba79", + "0x00000000000000000000000000000038d56d2f4e530f74fb02bb70d781488b16", + "0x00000000000000000000000000000000001d1731444ac607cb0623133a479871", + "0x000000000000000000000000000000fe08dc45003f859a25494ba5135502e42f", + "0x00000000000000000000000000000000001e6d7c5b53a5e88d78640651a5c6a0", + "0x000000000000000000000000000000ddf4dedac0a43ba687e608b3e6081b8546", + "0x000000000000000000000000000000000004c2446dcf61c32ba4b038fe7365fb", + "0x0000000000000000000000000000004557b361ff0d6568e896319c496fbe24b8", + "0x00000000000000000000000000000000000668a26f50d3354953d4b2766e8020", + "0x000000000000000000000000000000ea507b90f982c43d39d3f699d22b1f7c4a", + "0x00000000000000000000000000000000001429723650e7543325ff8bef1c4ffd", + "0x00000000000000000000000000000049c19043bd4f1ef29d5413b1f118d0f722", + "0x00000000000000000000000000000000001d7ad7b3a27a9bc7992d806af0ebc9", + "0x000000000000000000000000000000f291d1109ea1f48586582a3767b0392cbe", + "0x0000000000000000000000000000000000026df82a517f9dabb3c389c07aebc7", + "0x0000000000000000000000000000000999c4e1d13eba177baf97921ee863ca58", + "0x000000000000000000000000000000000002f7f537a4f96f2ca4eb19a57f0b9f", + "0x000000000000000000000000000000dea34b6c529204f209cd1420a81a3102bb", + "0x00000000000000000000000000000000001c53a430fcbd4b95ffc23b6461fa15", + "0x0000000000000000000000000000005c0cab22cbb5bdccf85116184958790eb4", + "0x00000000000000000000000000000000001b715af5e709bb9f06822082ee3120", + "0x000000000000000000000000000000c77eaa3f49d17dfe395648540f4cd0abc6", + "0x000000000000000000000000000000000007df3cadf5a234989c3f0b92052395", + "0x0000000000000000000000000000009c11b61aaa7a95751ddef148053d00a6e7", + "0x00000000000000000000000000000000000f65d42148106db82a9e434cb19459", + "0x000000000000000000000000000000f99b662c4e3bcd3fdffb75cad5deb632e6", + "0x0000000000000000000000000000000000284f78ec2bc1c17ffa75e285ad4529", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000059a5cd5c1c2d2e7cac107aaf0123ae4f84", + "0x0000000000000000000000000000000000170ffa45422a2680cd492bad46789d", + "0x0000000000000000000000000000003c91ea4fe538abe3c344c3603398af1cbc", + "0x0000000000000000000000000000000000295e7a3f8df6111a6bd51041d5179b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000006c326bcc176f6bf7b61c67c607b538604e", + "0x00000000000000000000000000000000002e0df8ede24ac545f6f615607ae5a5", + "0x0000000000000000000000000000004810e97feaf203b539c161e31c09b9910d", + "0x00000000000000000000000000000000000e2612cea9f45e6238f1fcd8fe80e4" +] +hash = "0x11197593d62d0e7554158b832253460bcc00da8b6551eb5d955ef72444d95a3f" + +[private_call_0.verification_key_hints] +contract_class_artifact_hash = "0x1d9e0e30582ed207c6ba761454f1f542d807eb0a2b35a50b23297a6db34e3680" +contract_class_public_bytecode_commitment = "0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e" +updated_class_id_delayed_public_mutable_values = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [private_call_0.verification_key_hints.function_leaf_membership_witness] + leaf_index = "0" + sibling_path = [ + "0x2cc233639ce62adaea3ec034abce91a0b008ca3b50da04eb0789bf1f438162ea", + "0x0f60b735d348fd08a8da88fe4b04361698e2bca73fbebb6cc1fdcb86a4d03c89", + "0x2974d8999d00928aa1378118756d6a4ba1368b1da89b2b1059c17fbb88ad21a8", + "0x2e6127fb2bcf542677ed9dfc6cd90a61a075142999aebccf345c816aff3a1d92", + "0x267a9c24e849f51869c93086ded207858dfb130344e1879a9d15d35096464824", + "0x1eb5f748aca7413c8875abf2789be0a1aec323884a365d9a59a1859aa2bce94e", + "0x2402a100768c2e339831cdb0b63e5c272a6f3318323a37642bea76ab5ea1ed0c" +] + + [private_call_0.verification_key_hints.public_keys] + npk_m_hash = "0x2f1c4d79837ad500ede908112d4cc2af5d3af9fe982b8628035ccc97f15ee24c" + ovpk_m_hash = "0x1378ed60b21b30e7ad5260606275cd3b580932cef2ed8e95dcc953334277d28f" + tpk_m_hash = "0x25aed22eebf640703b2a68bc209562e3f5c5dadd47925e0bdd41df5e2102fb98" + +[private_call_0.verification_key_hints.public_keys.ivpk_m.inner] +x = "0x17e45034ac640fd73c526836d47063c3158695ecd39fe841bd338ad7acf9f238" +y = "0x2b6dff182f1d814024994bce38d73c4ac9f7587b5e90b8351b08d65e1ed2a7ea" +is_infinite = false + + [private_call_0.verification_key_hints.salted_initialization_hash] + inner = "0x2de7750983e40a640c1540354955cbda141ba8ababbbabb93b83843a4a5c9e18" + + [private_call_0.verification_key_hints.updated_class_id_witness] + leaf_index = "123" + sibling_path = [ + "0x2848a1d7320b3bfb616ba2ff5b175f3dbbe07753e40389d913e60089060bca9e", + "0x0575020764758ac1e237d111ad2129b58c276979d075a2617d047edf1fa0af80", + "0x28d9c1b19a6d32ba2f59b1371ff35722075ccc81c08c306c0b2412697e18a906", + "0x13981cd7447462f1010ec3a2725d09dd4fad76d010fbc2cb1e6eaaf93f680abc", + "0x2edd4e68944dac758244213037fbe9d622c7c28d6070f16862b3e8986090bee4", + "0x1d5ea1a288ff1ff4cabceaaa2f93eda378a5fb0a2a55423f4d4d205969181931", + "0x23b80d0ef13d744a52faabf5651164d28f7faf902653e41a35472eea87936e6e", + "0x02c691e1474ab605965337b84f97e9ac2a34e1214040cf86d9e229f08f4494d5", + "0x16c8aff52f0422f4bfc502620fe15dd6a4de67637563b7a8175f2d5727d268a4", + "0x1c76b6744bc3d6b1cd4b53459a08b4959643c0768fde657299fcc82e2732f744", + "0x12a6fac0fdfbd7897d8fe955f454cdb309ce8597d647ebfd0ba614c4eb215581", + "0x002b13fd827e0e0d6b4b44c63fdeaf75cfed5190728ff712530f5f0f6f92b1e4", + "0x1b61a4759569c7e380534b815a326c2f0614ce68188b3421b09db1a560349f4b", + "0x24faee168ea3e7ce5d9d22f24679594896a633ca5d12947fbcd2c28b1d27f94e", + "0x2c0e30deebb4fc9949601b0240d319424d3169290c5cd22c49c2f80b43491c24", + "0x1633b0cb253526da43ee63f3ec7a5ff4c9122f6f6ff53c5be3d6ee7e1daa7a4b", + "0x21a12dfd04d263a6a93feb45f10ae47f6142e9e0e29d66c20581bfa463983f43", + "0x0d02013ff44b6cc6cf983824fe5104671333c8243de05421c7a94033b02ef493", + "0x2f99a81e7faafb4d396d0cc32fe7e024c191325432ec3deb26878c8e69aa8a74", + "0x0f608351d05582fbead9c229631e4225305201e70d552a4c23915db3263507e3", + "0x1a85d719ace8c684b69950b47b17fb4b8a67b4454a5a8ff68bc33c2da4db4ce6", + "0x0ca806e767c92a5a84ae7fbc87886017fd616d5bb9944e76cb744051e30f8653", + "0x2dcebbd4d2afb62103883556c608e2ab29a0741ff744317f74d74ead537241db", + "0x0ceca69e0225bf70d28927ed19b793b034137ed87c901dd468a5c7d019b0c5a0", + "0x1983e65b490c4c4a2f0ba1bec5cf90a4cef0df719453e3c781d6310e7cdbcdd4", + "0x076cd8d40f992539f8034583bc6f2875f14eede666b8ddf12aac71fe90fd69ce", + "0x0caa288adc7dc74c3b3def6da3c6dcf8686ec1274eb35882437b2468ab598176", + "0x0179c92d038dd475c55c50689d306b24f0b7ff3622802b910be46b43ecef6596", + "0x1e60a8b88790824b178e6de4e2fa4f4623acd0a0bf100ba8fd9ccf95a7c9ca1c", + "0x0a0ce3ff3f93a8b62f857fb65f6e7db9330936e59b5ac6aa81a74c39aa5aeb1c", + "0x103f2e85701d4675ad6301fd100ffd649afc1f83a31ffbc7a71f12ba02625df5", + "0x1fb00a9227786ad2097c61cad83c201267d75841911691a9f554d8a02d3ecc90", + "0x19aedacdf53ccbe46ede5f653e3aa90872dd7184bf72b9a3763f750553a0fd9f", + "0x29c1557a25b705aa12decc723da5bc6ee57ff0d73dcd2eeeeeb8502d52bb80e2", + "0x1bfa49b22303484fb94e39d5e675fc3e71879d694b75e04eb521fdf7811997b8", + "0x15c54e05a78faa6df55608aa09cc2b4d94f9aecce72c64656ab2b1672a1acf35", + "0x1b5bf5d6a04a7fdc1f0ad8d5932c215ecd4d63c63d4c1af5b3d4947f66c9b194", + "0x0fdb0bd3ddf4531ca4f1de9e1a0d5d5997669c98f410e18e295cbc70e991f729", + "0x1e8e5a078bc01f2bfe12ffdf5cbd75109055869f0a6707b5c8eddbca3b9052ab", + "0x2995c91c614c3274568d97c6f8c70b9df77361434f18e77b48a19c390090c44c" +] + + [private_call_0.verification_key_hints.updated_class_id_leaf] + slot = "0x1f29d351ad8d747c09020ea47be7a38833dccaaf378b55d7d8e6e79f1892c1a3" + value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" + next_slot = "0x2511fb7ac309f6693b0411aac44ee65c49b46b778d669ad0a19168cc49f93d57" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000082" + +[private_call_1.vk] +key = [ + "0x000000000000000000000000000000000000000000000000000000000000000f", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000001ecf", + "0x0000000000000000000000000000004e5d53d6b0dcb727fb0a33d6f23326ba13", + "0x0000000000000000000000000000000000270b1029efbcacf2ba8156be926f36", + "0x0000000000000000000000000000007600c8bfba70975b81933fa1375cc49525", + "0x0000000000000000000000000000000000265b4f40ec4362ecaa6574a26fb9e7", + "0x00000000000000000000000000000002a42259f84697487cf0c806cff78d376b", + "0x00000000000000000000000000000000000a6da882cb12c7c9c8851044af46fd", + "0x0000000000000000000000000000000900fa9df2854c361a2b8ebb4204bc11e2", + "0x0000000000000000000000000000000000143a6867f9c677696dfc6145c0c2c2", + "0x0000000000000000000000000000005c613b43829a134f234301805866bff5c4", + "0x000000000000000000000000000000000013475408680fcccaf629834bd8e7ef", + "0x000000000000000000000000000000d41c74cb34c4413784a7fe1a3282b8ac71", + "0x0000000000000000000000000000000000208a8fea14e1035198fa205027c3aa", + "0x000000000000000000000000000000214caa5099e30bd4a4e7c1e951df172823", + "0x000000000000000000000000000000000010d4ddfb284638abb946bb5ea54ce8", + "0x000000000000000000000000000000b8eccfd963140d75ef69510d499e067c38", + "0x000000000000000000000000000000000022601a5ccbb6f31253dfb90449ea30", + "0x000000000000000000000000000000e62806cc11817d65af2ca51f43374683d9", + "0x0000000000000000000000000000000000217caebd3a47049f39f536f74363dd", + "0x0000000000000000000000000000008675da1f10d0a3ac0694740302e4c151d9", + "0x0000000000000000000000000000000000063c9ac7b0c51b14ea568b914ddb81", + "0x000000000000000000000000000000c849ad93ed5bb6e903001c8afc4d0839cf", + "0x00000000000000000000000000000000000a6b6070a20448dcdfa172b42f4ec2", + "0x000000000000000000000000000000d868ec79d642032bfcb95ae042b6f1ac2f", + "0x000000000000000000000000000000000020a1badffea327b0c2382295e2bf37", + "0x00000000000000000000000000000096a76c0e5d034f551c375f3e163cda5ba5", + "0x000000000000000000000000000000000004377ed9eb4ad9a1f79a2c5f294687", + "0x00000000000000000000000000000026c41b380a9fe2218f43552af149474957", + "0x00000000000000000000000000000000000615923fe00c15504bb1df8742dea4", + "0x0000000000000000000000000000001fc48b67fb4ec9714cfe69efa8469d2faa", + "0x00000000000000000000000000000000002800a5c6aa06adba0feb138f51b7c1", + "0x000000000000000000000000000000626607acd3cfe08cec8ccec45fc27222a0", + "0x00000000000000000000000000000000000bf5451f8e8805b3e83e17c778ac8f", + "0x00000000000000000000000000000009f6c6c04f9663d4a48f223d1249b2be6a", + "0x00000000000000000000000000000000002ff1eba1b37fdea02479c1e08d4d9a", + "0x00000000000000000000000000000048eacfade5f40fa7633579d12282f34788", + "0x00000000000000000000000000000000000c1d432a61ced2e150052be1bdcbdc", + "0x000000000000000000000000000000fbb81a2a7bfda945d91e8bbf67859e2558", + "0x00000000000000000000000000000000000c5cf53ad125e9e20a43f4ba1b49e3", + "0x000000000000000000000000000000253f23492f5e66c4a71242b6065814d6be", + "0x000000000000000000000000000000000023aed5cc445240ea7e33642f388c0f", + "0x0000000000000000000000000000004e7b1102cb6629ce1c142b72b28d4121ec", + "0x00000000000000000000000000000000000be005e3dd35052d36f1618a30871c", + "0x000000000000000000000000000000d90c80545e6168100c5b30f2cd3ed03619", + "0x000000000000000000000000000000000025a3812bfb861f4f004b772688f421", + "0x0000000000000000000000000000008e81605a5541040e1f2ec3750c9cc1ad91", + "0x000000000000000000000000000000000022e98685d97495dd44d59443a4ddf7", + "0x000000000000000000000000000000bc71506d95e3eb7ccfc3f274c99ff4b4a7", + "0x0000000000000000000000000000000000164b75e08b8d331120c23eadfca1e2", + "0x000000000000000000000000000000d4cdc90349d20a48a3e8ca44261cc4d5d9", + "0x00000000000000000000000000000000002ca5fac829cab6e119a24a7549cbdd", + "0x0000000000000000000000000000001887ff5bf46b7fefa8e7e305115c8ecb82", + "0x0000000000000000000000000000000000246f6db366525ceafcc2bd631bcdda", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000cd0ea7c07146a4f133bec5927e060bc57", + "0x000000000000000000000000000000000008366b1a0b90d771f72558197500b0", + "0x000000000000000000000000000000511886d35341446044afbc3f131db62ef7", + "0x000000000000000000000000000000000018ed754624197b0ade7b09f979f764", + "0x0000000000000000000000000000002ddab298f8f8f4e5601e3e5b2d0502f5b4", + "0x000000000000000000000000000000000019aaba272386a074151b33e7573b7a", + "0x000000000000000000000000000000526847ceeeeabd41693ed875f287c0172a", + "0x00000000000000000000000000000000000a6ab59df9f9f596112cc75e7ad0e1", + "0x000000000000000000000000000000c7dcabda3081bd36cd3728c290d35f049a", + "0x00000000000000000000000000000000002f5adb48cf156083022ff35b8dea57", + "0x000000000000000000000000000000100d5b11bbd6a432f89a7661ee462f4fd0", + "0x00000000000000000000000000000000000a6db230819796b38024f7ac3652af", + "0x000000000000000000000000000000faf8c3a8115abf040a7987e13562d25823", + "0x00000000000000000000000000000000000766baad18942e49b8513a2598f024", + "0x00000000000000000000000000000065343c030b950f495ef279c3ae6fa8cf8e", + "0x0000000000000000000000000000000000004195275abab416e6285e7fef5c42", + "0x000000000000000000000000000000a4d73493608bf60776185cb54569d37884", + "0x00000000000000000000000000000000000d2294694cde8c2b80f26954c9654c", + "0x0000000000000000000000000000002c883362a20769983f3001e037dadf85aa", + "0x0000000000000000000000000000000000305e619e436bc34d062dd828db185e", + "0x0000000000000000000000000000001a24b6aca234e5b59fee9c5f5799bca8c8", + "0x0000000000000000000000000000000000263d9ec2c0e4fd83010bcf422e073a", + "0x000000000000000000000000000000d5a18905211738ce550bd5df1e6f651e6b", + "0x000000000000000000000000000000000006849a1a5a4ae4bd50b85f57b79ff3", + "0x0000000000000000000000000000007085114bdad689e95391baa4e1199ceb32", + "0x000000000000000000000000000000000016d5d494b1c50f319e77e3be309979", + "0x000000000000000000000000000000258d56a0e151bf30b8744bb9401e8d8e8a", + "0x0000000000000000000000000000000000050dde6b5d9c72348fa2f2095e5ee8", + "0x000000000000000000000000000000676b88185357d24cb206fc939d7a7b13eb", + "0x0000000000000000000000000000000000242d174d168d7f057cc67a38cd4554", + "0x000000000000000000000000000000c9247a8333e75b895693b3a746f9c0fe63", + "0x000000000000000000000000000000000016f81cfda626001669e616e793146c", + "0x000000000000000000000000000000082e949fec7d6423b2c0fb406b2cee538e", + "0x0000000000000000000000000000000000089fd3f1823232561b1b9247fec27b", + "0x0000000000000000000000000000001b70523f6729991b2187b0c6fd61bac5a8", + "0x00000000000000000000000000000000001a1036f5381975fa25b6c7d78cd3d3", + "0x0000000000000000000000000000007b21e17d5b6e5851a9e14e08561b54647b", + "0x000000000000000000000000000000000013f459b5b6220fd49e4b86fa2cf759", + "0x0000000000000000000000000000000abe91579c6b726e246955c9d64a21109b", + "0x00000000000000000000000000000000001318f7e0b6149e80d854e0f175357e", + "0x0000000000000000000000000000004a33bf4661d63052dd2a8aba3a2ca31c6f", + "0x000000000000000000000000000000000018e73a3b131452a25fd8eba6d9bf11", + "0x000000000000000000000000000000b2f9e03f56e553b01741e7797773b63ae0", + "0x00000000000000000000000000000000000e0e1faf47f04536946ea7f4b9add9", + "0x000000000000000000000000000000d4801c1612d60931ff9acaf1c4e3da5f11", + "0x000000000000000000000000000000000024fdcc1a51fe3ff2087b655b20caf5", + "0x0000000000000000000000000000004cbf700c9e4dffe3436c402ef2763a9d82", + "0x00000000000000000000000000000000001ad39a65f5e94beb8f4aa4a4eb72e5", + "0x000000000000000000000000000000ae5f6f0773eea4e72673c43f98f59c77bc", + "0x000000000000000000000000000000000017e6d8fba023937a7c9dcc496f97cb", + "0x0000000000000000000000000000007de8ad390b0d705cd3935bd3b0ab7b4702", + "0x000000000000000000000000000000000020f6d9c94dfee2edb5ffdc6d73a9cb", + "0x00000000000000000000000000000009b9e999e33b4eefa6bf7f32ec014cf07d", + "0x00000000000000000000000000000000000b19c397850a390fae5e2aae8478b7", + "0x0000000000000000000000000000008018e7399b887105f9b220042a598cb537", + "0x00000000000000000000000000000000000dfc609597d01c19940874c4f45ea8", + "0x0000000000000000000000000000007b51a05d7a2c5523f0231f4b47d6602cb0", + "0x000000000000000000000000000000000012d37368bab765c45e538db3ba336b", + "0x0000000000000000000000000000003425dcfe2083a93586c7d4ab95ea10bfc5", + "0x00000000000000000000000000000000002c4225a6d08ba0bc43964a7b93a360", + "0x000000000000000000000000000000141e28a99bfffc1133051bda380a6a2492", + "0x00000000000000000000000000000000000a67f6456af27a15c4cc7bd3cfa3d3", + "0x00000000000000000000000000000078ef6f7fe4e465da00834b45dfdd49d921", + "0x00000000000000000000000000000000002ed6911e528e948d8e9dd33c411ad4", + "0x0000000000000000000000000000004021a31886522f571c4105a3493d4902f5", + "0x00000000000000000000000000000000002c5d54fd117985469cae7c46f00bd2", + "0x0000000000000000000000000000009f4db1d104e923ee0be0180b9481ad7353", + "0x00000000000000000000000000000000001d80d0ccf52aba1ca04d3d93b7465a", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000339b9ff46aac534bec7cbabf748cc261bb", + "0x00000000000000000000000000000000001a79a371ba6e290aae903c62d93d38", + "0x000000000000000000000000000000e8ba9f98cbba842d599752ff3bdb58a1dc", + "0x00000000000000000000000000000000002060d719336689061cd0e72794e35f", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000006c326bcc176f6bf7b61c67c607b538604e", + "0x00000000000000000000000000000000002e0df8ede24ac545f6f615607ae5a5", + "0x0000000000000000000000000000004810e97feaf203b539c161e31c09b9910d", + "0x00000000000000000000000000000000000e2612cea9f45e6238f1fcd8fe80e4" +] +hash = "0x103b5b395e745292eb788f93c2f8700433cdf9b3113e086984e70fd6df2b932b" + +[private_call_1.verification_key_hints] +contract_class_artifact_hash = "0x06c89aad50296e10a3cf790b9d73c854d096b136adb7cdde89447ef5591392f3" +contract_class_public_bytecode_commitment = "0x1d694c92cbd2f2f8a373c90582a93a2889a43d04c84a4a0147c606655ae98dc5" +updated_class_id_delayed_public_mutable_values = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [private_call_1.verification_key_hints.function_leaf_membership_witness] + leaf_index = "0" + sibling_path = [ + "0x011238ee64b18828d55242673008fae81f12fc8d61617d35f910c8cb0683f665", + "0x29a39e8a923a570c2ff08365769dc6b9c551d550ee0e1a351eab6e04cd0df0a3", + "0x2974d8999d00928aa1378118756d6a4ba1368b1da89b2b1059c17fbb88ad21a8", + "0x2e6127fb2bcf542677ed9dfc6cd90a61a075142999aebccf345c816aff3a1d92", + "0x267a9c24e849f51869c93086ded207858dfb130344e1879a9d15d35096464824", + "0x1eb5f748aca7413c8875abf2789be0a1aec323884a365d9a59a1859aa2bce94e", + "0x2402a100768c2e339831cdb0b63e5c272a6f3318323a37642bea76ab5ea1ed0c" +] + + [private_call_1.verification_key_hints.public_keys] + npk_m_hash = "0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a26" + ovpk_m_hash = "0x0e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b" + tpk_m_hash = "0x082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0" + +[private_call_1.verification_key_hints.public_keys.ivpk_m.inner] +x = "0x00c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c" +y = "0x1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb151" +is_infinite = false + + [private_call_1.verification_key_hints.salted_initialization_hash] + inner = "0x18f60f80bfefaaf0fae5a0505bc6ae3d0240a1bd010a0bc3fe55c20a05c924de" + + [private_call_1.verification_key_hints.updated_class_id_witness] + leaf_index = "134" + sibling_path = [ + "0x04faeb1fbcaba22bb78f190827a5dd614409f548340279badeb318d58f40c003", + "0x22f1b4d319f851468b77a99c6bde547499fc0dafc3676279d0724f0cff0186a2", + "0x02863b9ba1de6f80706d154369db20f4660240d04c2588e80259928737caa007", + "0x072c485f46fea63147c965f3bf2ae2a16a6cef7035c1a8140796c225f7b502b2", + "0x1d52af9cd9f69c1286e9a96fd498e736789a5bc463fceb1c176a4f9292f7cbe3", + "0x1ff1d5db01572c915915a22173c73d8073df9af4e4c57f6af29df5315da44419", + "0x070dcbac794fa663bc71b42d80775c0cea8c3ed7580207cfd30fd1285813ce07", + "0x23133cdd5344591bc2ab830355d7972651d536892416317c4f6ceef63e4eb068", + "0x16c8aff52f0422f4bfc502620fe15dd6a4de67637563b7a8175f2d5727d268a4", + "0x1c76b6744bc3d6b1cd4b53459a08b4959643c0768fde657299fcc82e2732f744", + "0x12a6fac0fdfbd7897d8fe955f454cdb309ce8597d647ebfd0ba614c4eb215581", + "0x002b13fd827e0e0d6b4b44c63fdeaf75cfed5190728ff712530f5f0f6f92b1e4", + "0x1b61a4759569c7e380534b815a326c2f0614ce68188b3421b09db1a560349f4b", + "0x24faee168ea3e7ce5d9d22f24679594896a633ca5d12947fbcd2c28b1d27f94e", + "0x2c0e30deebb4fc9949601b0240d319424d3169290c5cd22c49c2f80b43491c24", + "0x1633b0cb253526da43ee63f3ec7a5ff4c9122f6f6ff53c5be3d6ee7e1daa7a4b", + "0x21a12dfd04d263a6a93feb45f10ae47f6142e9e0e29d66c20581bfa463983f43", + "0x0d02013ff44b6cc6cf983824fe5104671333c8243de05421c7a94033b02ef493", + "0x2f99a81e7faafb4d396d0cc32fe7e024c191325432ec3deb26878c8e69aa8a74", + "0x0f608351d05582fbead9c229631e4225305201e70d552a4c23915db3263507e3", + "0x1a85d719ace8c684b69950b47b17fb4b8a67b4454a5a8ff68bc33c2da4db4ce6", + "0x0ca806e767c92a5a84ae7fbc87886017fd616d5bb9944e76cb744051e30f8653", + "0x2dcebbd4d2afb62103883556c608e2ab29a0741ff744317f74d74ead537241db", + "0x0ceca69e0225bf70d28927ed19b793b034137ed87c901dd468a5c7d019b0c5a0", + "0x1983e65b490c4c4a2f0ba1bec5cf90a4cef0df719453e3c781d6310e7cdbcdd4", + "0x076cd8d40f992539f8034583bc6f2875f14eede666b8ddf12aac71fe90fd69ce", + "0x0caa288adc7dc74c3b3def6da3c6dcf8686ec1274eb35882437b2468ab598176", + "0x0179c92d038dd475c55c50689d306b24f0b7ff3622802b910be46b43ecef6596", + "0x1e60a8b88790824b178e6de4e2fa4f4623acd0a0bf100ba8fd9ccf95a7c9ca1c", + "0x0a0ce3ff3f93a8b62f857fb65f6e7db9330936e59b5ac6aa81a74c39aa5aeb1c", + "0x103f2e85701d4675ad6301fd100ffd649afc1f83a31ffbc7a71f12ba02625df5", + "0x1fb00a9227786ad2097c61cad83c201267d75841911691a9f554d8a02d3ecc90", + "0x19aedacdf53ccbe46ede5f653e3aa90872dd7184bf72b9a3763f750553a0fd9f", + "0x29c1557a25b705aa12decc723da5bc6ee57ff0d73dcd2eeeeeb8502d52bb80e2", + "0x1bfa49b22303484fb94e39d5e675fc3e71879d694b75e04eb521fdf7811997b8", + "0x15c54e05a78faa6df55608aa09cc2b4d94f9aecce72c64656ab2b1672a1acf35", + "0x1b5bf5d6a04a7fdc1f0ad8d5932c215ecd4d63c63d4c1af5b3d4947f66c9b194", + "0x0fdb0bd3ddf4531ca4f1de9e1a0d5d5997669c98f410e18e295cbc70e991f729", + "0x1e8e5a078bc01f2bfe12ffdf5cbd75109055869f0a6707b5c8eddbca3b9052ab", + "0x2995c91c614c3274568d97c6f8c70b9df77361434f18e77b48a19c390090c44c" +] + + [private_call_1.verification_key_hints.updated_class_id_leaf] + slot = "0x00636bd5b0883a2a1830afcbc6b4b41d16f9639ece8274acc27154705f3b8276" + value = "0x0000000000000000000000000000000000000000000000000000000000000012" + next_slot = "0x01a19f390779d3a125f11b7c60ce770979b067defbc52b8f0f898bbbc3454c6f" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000080" + +[app_public_inputs_0] +args_hash = "0x02486714bcf7b63435b8818a646f5124643019b4d7a09497d20cca8d58ae946d" +returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" +start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000002" +end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000a" +expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +expected_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" +is_fee_payer = true +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0d77eb" + + [app_public_inputs_0.call_context] + is_static_call = false + + [app_public_inputs_0.call_context.msg_sender] + inner = "0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000" + + [app_public_inputs_0.call_context.contract_address] + inner = "0x1a5bc640b9ee6b7cb908e6672e5678531c8f4cb21c956616e436eecad76a452d" + + [app_public_inputs_0.call_context.function_selector] + inner = "0x000000000000000000000000000000000000000000000000000000009d57a239" + + [app_public_inputs_0.note_hash_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x2dd746d2f347ebd8d2f591aaf062159b2cceeadb449a919ada77febe9b940e78" +counter = "0x0000000000000000000000000000000000000000000000000000000000000003" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifier_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.note_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x20f721110cd2674df07fe76cb6f6d43b9704d876ec3a63e8213ccc98a791d3b9" + returns_hash = "0x20fd6cca0f81d2e3d2192b45a0208ef249e8032b9785fe9ecfed10beb1d36cb5" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000006" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000009" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x1a5bc640b9ee6b7cb908e6672e5678531c8f4cb21c956616e436eecad76a452d" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0603f2bc643a4bf06692b6ea01af9cc928ebf24c8b9f8f359afdc60db9d40e3c" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x000000000000000000000000000000000000000000000000000000000cca003a" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_teardown_call_request] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.contract_class_logs_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.contract_class_logs_hashes.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.contract_class_logs_hashes.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.anchor_block_header] + sponge_blob_hash = "0x2f558adc653a6a683f54170a4e3dae8e0d4ba2c84cd9f344d503fe330cb35e31" + total_fees = "0x00000000000000000000000000000000000000000000000002449f1e83b9af00" + total_mana_used = "0x000000000000000000000000000000000000000000000000000000000008992c" + + [app_public_inputs_0.anchor_block_header.last_archive] + root = "0x10be4ebc997dc24abc6485ffe1083eece538d2c803bdbbf84a57eb22b99f4e0d" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" + +[app_public_inputs_0.anchor_block_header.state.l1_to_l2_message_tree] +root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" + +[app_public_inputs_0.anchor_block_header.state.partial.note_hash_tree] +root = "0x16c5b9c25398499f649c59f6d3e931edf963460b8761248e3b17bb1f5794f3db" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" + +[app_public_inputs_0.anchor_block_header.state.partial.nullifier_tree] +root = "0x2dd3f55fc629452f3b9e9af072058cbb8cdac165fe9b362ccaed7a6ca31fc22e" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" + +[app_public_inputs_0.anchor_block_header.state.partial.public_data_tree] +root = "0x230f9d4acea01315bfa2dd1733846f3f5c6a2e24f73d2c502cac359cb4a64c05" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" + + [app_public_inputs_0.anchor_block_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000f81aedd1" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c266b" + + [app_public_inputs_0.anchor_block_header.global_variables.coinbase] + inner = "0x0000000000000000000000005ea83c9061394d0c643bd0df9d2d0c6d3102f6dc" + + [app_public_inputs_0.anchor_block_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.anchor_block_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000004386faeb40" + + [app_public_inputs_0.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000f81aedd1" + +[app_public_inputs_0.tx_context.gas_settings.gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" +l2_gas = "0x000000000000000000000000000000000000000000000000000000000063cae0" + +[app_public_inputs_0.tx_context.gas_settings.teardown_gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000018000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" + +[app_public_inputs_0.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000336bfe2ba6" + +[app_public_inputs_0.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1] +args_hash = "0x20f721110cd2674df07fe76cb6f6d43b9704d876ec3a63e8213ccc98a791d3b9" +returns_hash = "0x20fd6cca0f81d2e3d2192b45a0208ef249e8032b9785fe9ecfed10beb1d36cb5" +start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000006" +end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000009" +expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +expected_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000007" +min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +is_fee_payer = false +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0d77eb" + + [app_public_inputs_1.call_context] + is_static_call = false + + [app_public_inputs_1.call_context.msg_sender] + inner = "0x1a5bc640b9ee6b7cb908e6672e5678531c8f4cb21c956616e436eecad76a452d" + + [app_public_inputs_1.call_context.contract_address] + inner = "0x0603f2bc643a4bf06692b6ea01af9cc928ebf24c8b9f8f359afdc60db9d40e3c" + + [app_public_inputs_1.call_context.function_selector] + inner = "0x000000000000000000000000000000000000000000000000000000000cca003a" + + [app_public_inputs_1.note_hash_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifier_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.note_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x187e53c08c6177e7be8e18cd1511a7b02fac95d620a7349072f8c986b4aa193c" + counter = "0x0000000000000000000000000000000000000000000000000000000000000007" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_teardown_call_request] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs] + length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000008" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000007" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x27f7908974fa11bc63765f7a1b114d07d9ad578813f4d0bd17d9813ca6b27d7e", + "0x2b4f001ce369a77d37023f59330365467ee04d275c895aedb8694611542d94d9", + "0x08ab102205d6d7cdc51b690d90dbaeae75deee6f290cfd0f16d4f5f76c6c107b", + "0x075fe0ac96f29e3c3fddb3ae675d0b61832a9312d86bc21d7ddd178f2fe7a18b", + "0x1a8d36da37286095e016128c77667d821885a35c428c2a5a8d3d7027613d63b2", + "0x0c2abcb09984b5ac2ff447fb27c9d44680d2d1a7f388309464fd86e54c12096e", + "0x021d186c82a2da8eda6c7dd59d9f5077f63945e66c22a6fdce79703ef90ed0e5", + "0x232182781c34950c9a3d0b394017d4656a64b90b58cf0e6b994573576180df46", + "0x132bd5a7c2d3ca8a3257057b54c8c37152ee21c6c1365b1b9710198ed5212f92", + "0x147ccd354ce72dda084dbb9dc934bc12df8e572aafd7d5ac5a4465bd7b9129eb", + "0x0f1fe8876cf409abae1e327fb730f9b5aa06290c89efb0e95d3eee9c30c8d6fe", + "0x011da20d31c9ab9a33f3c961f804ebfee1d16fb1fbacc4b5a6a84cdc9f976433", + "0x00504bd1efa46596911c37ebd9be8fb98c8061008af020d503b7cb145229aa0b", + "0x1dca533ae55a689ce6546d8e3bc1e37f1db389ddc02fc8819c1db3d2157891e7", + "0x0d7510b19f7d59fc1c93dd530a39b8c5d435c788f840e11d93a55ef03a281009", + "0x1961fbc5069d8d9c5da1d25951827876da2fa0e58de781dc30b3f5da5d9e6621" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000010" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.contract_class_logs_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.contract_class_logs_hashes.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.contract_class_logs_hashes.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.anchor_block_header] + sponge_blob_hash = "0x2f558adc653a6a683f54170a4e3dae8e0d4ba2c84cd9f344d503fe330cb35e31" + total_fees = "0x00000000000000000000000000000000000000000000000002449f1e83b9af00" + total_mana_used = "0x000000000000000000000000000000000000000000000000000000000008992c" + + [app_public_inputs_1.anchor_block_header.last_archive] + root = "0x10be4ebc997dc24abc6485ffe1083eece538d2c803bdbbf84a57eb22b99f4e0d" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" + +[app_public_inputs_1.anchor_block_header.state.l1_to_l2_message_tree] +root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" + +[app_public_inputs_1.anchor_block_header.state.partial.note_hash_tree] +root = "0x16c5b9c25398499f649c59f6d3e931edf963460b8761248e3b17bb1f5794f3db" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" + +[app_public_inputs_1.anchor_block_header.state.partial.nullifier_tree] +root = "0x2dd3f55fc629452f3b9e9af072058cbb8cdac165fe9b362ccaed7a6ca31fc22e" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" + +[app_public_inputs_1.anchor_block_header.state.partial.public_data_tree] +root = "0x230f9d4acea01315bfa2dd1733846f3f5c6a2e24f73d2c502cac359cb4a64c05" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" + + [app_public_inputs_1.anchor_block_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000f81aedd1" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c266b" + + [app_public_inputs_1.anchor_block_header.global_variables.coinbase] + inner = "0x0000000000000000000000005ea83c9061394d0c643bd0df9d2d0c6d3102f6dc" + + [app_public_inputs_1.anchor_block_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.anchor_block_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000004386faeb40" + + [app_public_inputs_1.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000f81aedd1" + +[app_public_inputs_1.tx_context.gas_settings.gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" +l2_gas = "0x000000000000000000000000000000000000000000000000000000000063cae0" + +[app_public_inputs_1.tx_context.gas_settings.teardown_gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000018000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" + +[app_public_inputs_1.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000336bfe2ba6" + +[app_public_inputs_1.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-init-3/Prover.toml b/noir-projects/noir-protocol-circuits/crates/private-kernel-init-3/Prover.toml new file mode 100644 index 000000000000..19c3001432f0 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-init-3/Prover.toml @@ -0,0 +1,5989 @@ +vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" +is_private_only = true +first_nullifier_hint = "0x0376cca63c52eaa5f415738d2b371223600cabef83495b4c6a9e0c3c0a647a3d" +revertible_counter_hint = "0x0000000000000000000000000000000000000000000000000000000000000005" + +[tx_request] +args_hash = "0x0e4a049212502ddf801e6de7e638cc14cfa74a583afb5b0112958f1f263384b0" +salt = "0x1a2fd2df752551a143f27fc16a54deac89bfe6f0a31f8ccf68a1ca86369e72eb" + + [tx_request.origin] + inner = "0x1a5bc640b9ee6b7cb908e6672e5678531c8f4cb21c956616e436eecad76a452d" + + [tx_request.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000f81aedd1" + +[tx_request.tx_context.gas_settings.gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" +l2_gas = "0x000000000000000000000000000000000000000000000000000000000063cae0" + +[tx_request.tx_context.gas_settings.teardown_gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000018000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" + +[tx_request.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000001cc0d810418" + +[tx_request.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [tx_request.function_data] + is_private = true + + [tx_request.function_data.selector] + inner = "0x000000000000000000000000000000000000000000000000000000009d57a239" + +[[protocol_contracts.derived_addresses]] +inner = "0x2c78cadfe08eabbb0e2a15b62eefd07a08cbc1631fa2be7962fd219308d9f1e3" + +[[protocol_contracts.derived_addresses]] +inner = "0x0d6429ccd33eeec2a03a7b2f78d6c901ad9406bf2058231382147de5014303fd" + +[[protocol_contracts.derived_addresses]] +inner = "0x0b286a1c928fbe1ca3be78fe2f2bd25a2eec7f5f15c2757a2db53b2a8d499358" + +[[protocol_contracts.derived_addresses]] +inner = "0x1cef6885d1ace5a36534202d1f593b94ac0876ff4933745085ad62da062a3b5e" + +[[protocol_contracts.derived_addresses]] +inner = "0x2ccc3471349063b3b0c5a6362e0dbfc3c21b534f84fc963483667b32840e259a" + +[[protocol_contracts.derived_addresses]] +inner = "0x0ad78bd90b0e2e0887928b98b621517d04a6bddebf6b20bdb76ddd8aec6f05fd" + +[[protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[private_call_0.vk] +key = [ + "0x0000000000000000000000000000000000000000000000000000000000000010", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000b61", + "0x0000000000000000000000000000007b6222b3a18551d60b847957202de6c8f5", + "0x00000000000000000000000000000000001e26b96548b9f12369e9c3ec0eee85", + "0x000000000000000000000000000000025aac0bbaf1beff1c0500e3ec38d34c8a", + "0x00000000000000000000000000000000002c498aff2f95b25bb92e2c9360aff5", + "0x00000000000000000000000000000039d32590e9d6e0be118712b9402c606156", + "0x000000000000000000000000000000000026588627e22f203f6399975fb67258", + "0x000000000000000000000000000000097282335613efda63abaeaddc915f44db", + "0x000000000000000000000000000000000021b51f545ea031ad8c826962f52545", + "0x00000000000000000000000000000035a0536197418c2ba2c29a1830f709420c", + "0x000000000000000000000000000000000020f8cabd08dfc29e045e0b80eb42d3", + "0x00000000000000000000000000000099e53cda88a63b8e751a2bc253f7a689a7", + "0x0000000000000000000000000000000000231a514e7a4dd0e23c4faf8d567c77", + "0x0000000000000000000000000000002dac12ff4e48e530611ceb7a400c099e4a", + "0x00000000000000000000000000000000001ad1cb6dbbe8ea3dd6c4f44ffdce56", + "0x000000000000000000000000000000dfd19e74f4e4c641b3b3f623825ccd495f", + "0x00000000000000000000000000000000000ce4453cef94251418336baa54e582", + "0x0000000000000000000000000000007ad93fd648d3587168e2ba9ee66dbbf918", + "0x00000000000000000000000000000000000a7680894366d3b1755d14152e528e", + "0x00000000000000000000000000000008bf43eecffcec9e31d916289a212b8f88", + "0x0000000000000000000000000000000000216620e5bd7b177f3fa15ceeb2526e", + "0x00000000000000000000000000000021db86993540e76c420c850640a25f7d94", + "0x000000000000000000000000000000000017418ee5d4d58a54e7728b755757a8", + "0x0000000000000000000000000000000cf5f978296643872c59d00be3c23ad68d", + "0x000000000000000000000000000000000013e45088158c3bf8ac1f8e71eec154", + "0x000000000000000000000000000000768cc857ea136153788ffa81c07daddaf2", + "0x000000000000000000000000000000000014b992148ee6906cb3a1989f3c4bb1", + "0x0000000000000000000000000000000127e074cd6ea24f75f86f3ab119f9ae5d", + "0x00000000000000000000000000000000001719d1f7fc4645193b8036cf9a3d52", + "0x0000000000000000000000000000001fc48b67fb4ec9714cfe69efa8469d2faa", + "0x00000000000000000000000000000000002800a5c6aa06adba0feb138f51b7c1", + "0x000000000000000000000000000000626607acd3cfe08cec8ccec45fc27222a0", + "0x00000000000000000000000000000000000bf5451f8e8805b3e83e17c778ac8f", + "0x000000000000000000000000000000622ac3715a21583a169b4c635c162bdc13", + "0x000000000000000000000000000000000012374104ee9056dfafba40f457c0a8", + "0x000000000000000000000000000000f6c09b75f7561f7fbbd272af5d3efa974b", + "0x00000000000000000000000000000000000e0a7bd7a377bca3ff6c89d68a3e5e", + "0x0000000000000000000000000000009d165e9a47e021ab9760d27339570655e5", + "0x0000000000000000000000000000000000000b204b0dc1f11b52bb345fb52145", + "0x000000000000000000000000000000d4c558b53b27cb4c171f8a5eb0bd1e3a2c", + "0x00000000000000000000000000000000002f6870272192d541c1b8887b15a95a", + "0x0000000000000000000000000000008f4c64ade1e7b515b074c100d489415d4c", + "0x00000000000000000000000000000000000f9aca92beccde2e1b08c99ab92a6c", + "0x0000000000000000000000000000008be6976e9870523051d19531843262ce4c", + "0x0000000000000000000000000000000000277419877e0ba35217f219676b5656", + "0x00000000000000000000000000000051ec180d05026f2f62b1674ca2e1a2c142", + "0x000000000000000000000000000000000022264cbd2ea66b7766612864c5108c", + "0x000000000000000000000000000000f137ae2b224915db0c43de1611134011d0", + "0x000000000000000000000000000000000011877af1a2b9b35d6ac04c489fe3ba", + "0x000000000000000000000000000000935ae3a5a2c4a7aad8e94a7cf1c4bec70e", + "0x00000000000000000000000000000000002a56488e09fd406c14aca4acf2b4c3", + "0x000000000000000000000000000000e770a6c5c0093eb5de2e5aa8d173e9ef05", + "0x000000000000000000000000000000000005522908d6e06b02d6938a789bb5c9", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000b139df614924ddb845d70d642d94873569", + "0x00000000000000000000000000000000000084d02351f0d2b405f3af6092edc0", + "0x0000000000000000000000000000006c1123c8d14bdfbfa99f95d1fd0d9674f7", + "0x00000000000000000000000000000000002be519d31aea4dac51b16b3655b459", + "0x00000000000000000000000000000035b52a2f19454b2d02086d012cfc44cbdb", + "0x000000000000000000000000000000000027f3e1c4d5482e3b1ebcbc5e43d1d2", + "0x000000000000000000000000000000bc81f2a307249de2d56c3c8151aa3a4179", + "0x000000000000000000000000000000000014745d0c8957b03309ffd69c523944", + "0x000000000000000000000000000000d90966909da4a8611a68a5b2544044ee27", + "0x00000000000000000000000000000000002dda368cf4f8ae011ba33953ccdbdc", + "0x00000000000000000000000000000099fd8e2a4efaa0e979e53c6360f11a3520", + "0x000000000000000000000000000000000029023563407bf604b94f3d3b82e32c", + "0x00000000000000000000000000000095ced0bf10b79aec2651f808812961ce57", + "0x0000000000000000000000000000000000204601f003e0e59d1865597a5cdcd4", + "0x000000000000000000000000000000fd07b0a28f8510ae42eefbbd2d0136dc4f", + "0x00000000000000000000000000000000001e3aba113eb2b6e0d9a07cb16188c0", + "0x0000000000000000000000000000004496315acb001bd07077d5e61a5fd28f1b", + "0x00000000000000000000000000000000001a39ca40a2fdca943fd7c57ea59fc9", + "0x0000000000000000000000000000001a6e9238224f825fbe059c173514ee0fe7", + "0x000000000000000000000000000000000022f701f63bad50d3161322f8d104b3", + "0x000000000000000000000000000000e7cb0e4c388d5b2b1350a0c1b259d7c4aa", + "0x0000000000000000000000000000000000216c09ccaf44298565b3e593e3a7bd", + "0x000000000000000000000000000000d840ba780d73076cfaadb07a9a1a2cad8b", + "0x00000000000000000000000000000000002a887121806c1166b16f3aa9de6716", + "0x0000000000000000000000000000000e3b5cb0fc3e09ea8b4059e2a6109ff857", + "0x00000000000000000000000000000000001794754a1a61af4fa7976eefdac79e", + "0x000000000000000000000000000000dfef9deedb32693d7cc279f72cdc785d1e", + "0x00000000000000000000000000000000000e55622ad6ca63ffde7f64ed504b16", + "0x000000000000000000000000000000d08df7bdd8d57cb1d65728efccbbfcf607", + "0x000000000000000000000000000000000005f2689ecd1c3bf58c28357d95d48a", + "0x0000000000000000000000000000002d7d2927cc7e65b41792f5745ba169663e", + "0x00000000000000000000000000000000002b5f2432471d8c12ea391ac1a0bd12", + "0x000000000000000000000000000000773d8fd379e59dbcbab02af010d195c779", + "0x000000000000000000000000000000000008826f48f7b0250873af38fa8f7500", + "0x0000000000000000000000000000006165595d9a271241c16e0472c174fba8f8", + "0x00000000000000000000000000000000001c673e22bf04c83bddc2f02ebaae36", + "0x0000000000000000000000000000008d6afb067ac5198bb372113d34c56552fa", + "0x00000000000000000000000000000000001e08cbe1d21feee99c841191e54333", + "0x0000000000000000000000000000007646a1a3ca480b5d7322e5e4bb688049f7", + "0x0000000000000000000000000000000000269f2465562733cff2488fe75060fe", + "0x0000000000000000000000000000005524b80d26a1d910532fda24c2383f979b", + "0x000000000000000000000000000000000023bf14a9a6153ade3200bcc787ba79", + "0x00000000000000000000000000000038d56d2f4e530f74fb02bb70d781488b16", + "0x00000000000000000000000000000000001d1731444ac607cb0623133a479871", + "0x000000000000000000000000000000fe08dc45003f859a25494ba5135502e42f", + "0x00000000000000000000000000000000001e6d7c5b53a5e88d78640651a5c6a0", + "0x000000000000000000000000000000ddf4dedac0a43ba687e608b3e6081b8546", + "0x000000000000000000000000000000000004c2446dcf61c32ba4b038fe7365fb", + "0x0000000000000000000000000000004557b361ff0d6568e896319c496fbe24b8", + "0x00000000000000000000000000000000000668a26f50d3354953d4b2766e8020", + "0x000000000000000000000000000000ea507b90f982c43d39d3f699d22b1f7c4a", + "0x00000000000000000000000000000000001429723650e7543325ff8bef1c4ffd", + "0x00000000000000000000000000000049c19043bd4f1ef29d5413b1f118d0f722", + "0x00000000000000000000000000000000001d7ad7b3a27a9bc7992d806af0ebc9", + "0x000000000000000000000000000000f291d1109ea1f48586582a3767b0392cbe", + "0x0000000000000000000000000000000000026df82a517f9dabb3c389c07aebc7", + "0x0000000000000000000000000000000999c4e1d13eba177baf97921ee863ca58", + "0x000000000000000000000000000000000002f7f537a4f96f2ca4eb19a57f0b9f", + "0x000000000000000000000000000000dea34b6c529204f209cd1420a81a3102bb", + "0x00000000000000000000000000000000001c53a430fcbd4b95ffc23b6461fa15", + "0x0000000000000000000000000000005c0cab22cbb5bdccf85116184958790eb4", + "0x00000000000000000000000000000000001b715af5e709bb9f06822082ee3120", + "0x000000000000000000000000000000c77eaa3f49d17dfe395648540f4cd0abc6", + "0x000000000000000000000000000000000007df3cadf5a234989c3f0b92052395", + "0x0000000000000000000000000000009c11b61aaa7a95751ddef148053d00a6e7", + "0x00000000000000000000000000000000000f65d42148106db82a9e434cb19459", + "0x000000000000000000000000000000f99b662c4e3bcd3fdffb75cad5deb632e6", + "0x0000000000000000000000000000000000284f78ec2bc1c17ffa75e285ad4529", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000059a5cd5c1c2d2e7cac107aaf0123ae4f84", + "0x0000000000000000000000000000000000170ffa45422a2680cd492bad46789d", + "0x0000000000000000000000000000003c91ea4fe538abe3c344c3603398af1cbc", + "0x0000000000000000000000000000000000295e7a3f8df6111a6bd51041d5179b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000006c326bcc176f6bf7b61c67c607b538604e", + "0x00000000000000000000000000000000002e0df8ede24ac545f6f615607ae5a5", + "0x0000000000000000000000000000004810e97feaf203b539c161e31c09b9910d", + "0x00000000000000000000000000000000000e2612cea9f45e6238f1fcd8fe80e4" +] +hash = "0x11197593d62d0e7554158b832253460bcc00da8b6551eb5d955ef72444d95a3f" + +[private_call_0.verification_key_hints] +contract_class_artifact_hash = "0x1d9e0e30582ed207c6ba761454f1f542d807eb0a2b35a50b23297a6db34e3680" +contract_class_public_bytecode_commitment = "0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e" +updated_class_id_delayed_public_mutable_values = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [private_call_0.verification_key_hints.function_leaf_membership_witness] + leaf_index = "0" + sibling_path = [ + "0x2cc233639ce62adaea3ec034abce91a0b008ca3b50da04eb0789bf1f438162ea", + "0x0f60b735d348fd08a8da88fe4b04361698e2bca73fbebb6cc1fdcb86a4d03c89", + "0x2974d8999d00928aa1378118756d6a4ba1368b1da89b2b1059c17fbb88ad21a8", + "0x2e6127fb2bcf542677ed9dfc6cd90a61a075142999aebccf345c816aff3a1d92", + "0x267a9c24e849f51869c93086ded207858dfb130344e1879a9d15d35096464824", + "0x1eb5f748aca7413c8875abf2789be0a1aec323884a365d9a59a1859aa2bce94e", + "0x2402a100768c2e339831cdb0b63e5c272a6f3318323a37642bea76ab5ea1ed0c" +] + + [private_call_0.verification_key_hints.public_keys] + npk_m_hash = "0x2f1c4d79837ad500ede908112d4cc2af5d3af9fe982b8628035ccc97f15ee24c" + ovpk_m_hash = "0x1378ed60b21b30e7ad5260606275cd3b580932cef2ed8e95dcc953334277d28f" + tpk_m_hash = "0x25aed22eebf640703b2a68bc209562e3f5c5dadd47925e0bdd41df5e2102fb98" + +[private_call_0.verification_key_hints.public_keys.ivpk_m.inner] +x = "0x17e45034ac640fd73c526836d47063c3158695ecd39fe841bd338ad7acf9f238" +y = "0x2b6dff182f1d814024994bce38d73c4ac9f7587b5e90b8351b08d65e1ed2a7ea" +is_infinite = false + + [private_call_0.verification_key_hints.salted_initialization_hash] + inner = "0x2de7750983e40a640c1540354955cbda141ba8ababbbabb93b83843a4a5c9e18" + + [private_call_0.verification_key_hints.updated_class_id_witness] + leaf_index = "123" + sibling_path = [ + "0x2848a1d7320b3bfb616ba2ff5b175f3dbbe07753e40389d913e60089060bca9e", + "0x0575020764758ac1e237d111ad2129b58c276979d075a2617d047edf1fa0af80", + "0x197c46bd1868465bea0e1ca4eb0c791d4d43dcfa5ec01979117a2d968636c8f1", + "0x13981cd7447462f1010ec3a2725d09dd4fad76d010fbc2cb1e6eaaf93f680abc", + "0x2edd4e68944dac758244213037fbe9d622c7c28d6070f16862b3e8986090bee4", + "0x1d5ea1a288ff1ff4cabceaaa2f93eda378a5fb0a2a55423f4d4d205969181931", + "0x23b80d0ef13d744a52faabf5651164d28f7faf902653e41a35472eea87936e6e", + "0x02c691e1474ab605965337b84f97e9ac2a34e1214040cf86d9e229f08f4494d5", + "0x16c8aff52f0422f4bfc502620fe15dd6a4de67637563b7a8175f2d5727d268a4", + "0x1c76b6744bc3d6b1cd4b53459a08b4959643c0768fde657299fcc82e2732f744", + "0x12a6fac0fdfbd7897d8fe955f454cdb309ce8597d647ebfd0ba614c4eb215581", + "0x002b13fd827e0e0d6b4b44c63fdeaf75cfed5190728ff712530f5f0f6f92b1e4", + "0x1b61a4759569c7e380534b815a326c2f0614ce68188b3421b09db1a560349f4b", + "0x24faee168ea3e7ce5d9d22f24679594896a633ca5d12947fbcd2c28b1d27f94e", + "0x2c0e30deebb4fc9949601b0240d319424d3169290c5cd22c49c2f80b43491c24", + "0x1633b0cb253526da43ee63f3ec7a5ff4c9122f6f6ff53c5be3d6ee7e1daa7a4b", + "0x21a12dfd04d263a6a93feb45f10ae47f6142e9e0e29d66c20581bfa463983f43", + "0x0d02013ff44b6cc6cf983824fe5104671333c8243de05421c7a94033b02ef493", + "0x2f99a81e7faafb4d396d0cc32fe7e024c191325432ec3deb26878c8e69aa8a74", + "0x0f608351d05582fbead9c229631e4225305201e70d552a4c23915db3263507e3", + "0x1a85d719ace8c684b69950b47b17fb4b8a67b4454a5a8ff68bc33c2da4db4ce6", + "0x0ca806e767c92a5a84ae7fbc87886017fd616d5bb9944e76cb744051e30f8653", + "0x2dcebbd4d2afb62103883556c608e2ab29a0741ff744317f74d74ead537241db", + "0x0ceca69e0225bf70d28927ed19b793b034137ed87c901dd468a5c7d019b0c5a0", + "0x1983e65b490c4c4a2f0ba1bec5cf90a4cef0df719453e3c781d6310e7cdbcdd4", + "0x076cd8d40f992539f8034583bc6f2875f14eede666b8ddf12aac71fe90fd69ce", + "0x0caa288adc7dc74c3b3def6da3c6dcf8686ec1274eb35882437b2468ab598176", + "0x0179c92d038dd475c55c50689d306b24f0b7ff3622802b910be46b43ecef6596", + "0x1e60a8b88790824b178e6de4e2fa4f4623acd0a0bf100ba8fd9ccf95a7c9ca1c", + "0x0a0ce3ff3f93a8b62f857fb65f6e7db9330936e59b5ac6aa81a74c39aa5aeb1c", + "0x103f2e85701d4675ad6301fd100ffd649afc1f83a31ffbc7a71f12ba02625df5", + "0x1fb00a9227786ad2097c61cad83c201267d75841911691a9f554d8a02d3ecc90", + "0x19aedacdf53ccbe46ede5f653e3aa90872dd7184bf72b9a3763f750553a0fd9f", + "0x29c1557a25b705aa12decc723da5bc6ee57ff0d73dcd2eeeeeb8502d52bb80e2", + "0x1bfa49b22303484fb94e39d5e675fc3e71879d694b75e04eb521fdf7811997b8", + "0x15c54e05a78faa6df55608aa09cc2b4d94f9aecce72c64656ab2b1672a1acf35", + "0x1b5bf5d6a04a7fdc1f0ad8d5932c215ecd4d63c63d4c1af5b3d4947f66c9b194", + "0x0fdb0bd3ddf4531ca4f1de9e1a0d5d5997669c98f410e18e295cbc70e991f729", + "0x1e8e5a078bc01f2bfe12ffdf5cbd75109055869f0a6707b5c8eddbca3b9052ab", + "0x2995c91c614c3274568d97c6f8c70b9df77361434f18e77b48a19c390090c44c" +] + + [private_call_0.verification_key_hints.updated_class_id_leaf] + slot = "0x1f29d351ad8d747c09020ea47be7a38833dccaaf378b55d7d8e6e79f1892c1a3" + value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" + next_slot = "0x2511fb7ac309f6693b0411aac44ee65c49b46b778d669ad0a19168cc49f93d57" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000082" + +[private_call_1.vk] +key = [ + "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000347", + "0x000000000000000000000000000000d78842d18da378b75ea5ecba09e24ba714", + "0x00000000000000000000000000000000002614d3b3afd5c98cc271bb129aa4bb", + "0x000000000000000000000000000000dcb5d6e5f2dc6a6dafbac3d99e47a24119", + "0x0000000000000000000000000000000000175d55301ed1c5b1c62da959d3fc6f", + "0x0000000000000000000000000000009ee8ccc66f353c3e7bdcd350ac4998dc90", + "0x00000000000000000000000000000000001fa45e6bb1b43b70150d132ad729b3", + "0x000000000000000000000000000000d9f8955545361a6a22980bc0f7b651d7f1", + "0x0000000000000000000000000000000000274fa1311795d3fb681f38da2f4b5e", + "0x00000000000000000000000000000091be5017efe75c83eda91ec4bd1b42baf8", + "0x00000000000000000000000000000000001e1320cf89e65f8059750bd3e6b9de", + "0x000000000000000000000000000000b0e3421324eb3d1e8d315e02dd5e3bb069", + "0x000000000000000000000000000000000020b7707896a1118a547874cd3d80f6", + "0x0000000000000000000000000000005aef4684fb42d4e382c97c38cfd4b843e2", + "0x00000000000000000000000000000000002dc76f6be8447d41aeeb5f8fbe56ce", + "0x000000000000000000000000000000291eaf624ea58ac49bb2966a00767c1bee", + "0x0000000000000000000000000000000000061c5512bff8ca586035bc8c7ccb29", + "0x0000000000000000000000000000005a2c1a95ca457f8a3e52ef27330df96092", + "0x00000000000000000000000000000000001b500485cff873b5722090a4fd39bc", + "0x00000000000000000000000000000045cfcb9dba052df46fd0909a62c7f83a85", + "0x000000000000000000000000000000000013d8218b28b1cefe69df2445eee754", + "0x0000000000000000000000000000004256d472632ec7880e32b87785d837de9b", + "0x000000000000000000000000000000000024fcaff42d72e45ec189cc0b090c08", + "0x000000000000000000000000000000a5998134f404e813099347fbc65e520ffb", + "0x00000000000000000000000000000000002e84db533ec72a5aed8e08c5bb2e4c", + "0x0000000000000000000000000000002c8af6b50cb7b3a1b5c9f42321383ac95f", + "0x00000000000000000000000000000000001b77619171b002d76b7d7084c0c4a3", + "0x0000000000000000000000000000001f74c98dd4249922d3882988a92d23f0a2", + "0x00000000000000000000000000000000001c0b2de307a80de2addfd628a37371", + "0x0000000000000000000000000000001fc48b67fb4ec9714cfe69efa8469d2faa", + "0x00000000000000000000000000000000002800a5c6aa06adba0feb138f51b7c1", + "0x000000000000000000000000000000626607acd3cfe08cec8ccec45fc27222a0", + "0x00000000000000000000000000000000000bf5451f8e8805b3e83e17c778ac8f", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000009294bfa73402e7d7f181253c64739c4e57", + "0x000000000000000000000000000000000012eb8c51856dd3dac0290a2cf2f2ac", + "0x0000000000000000000000000000003652676c6f29515781b4f2e9107a3ad802", + "0x00000000000000000000000000000000002358ca9e65f12e25d9269a3daa3867", + "0x00000000000000000000000000000010132bea790e06b24ec62c94c9739bf7fc", + "0x00000000000000000000000000000000000b5413bcabe6b86f13aa5e58caefc8", + "0x000000000000000000000000000000f3237b868b577980a9e8c5bfe705c02b3f", + "0x00000000000000000000000000000000001713038b46367ec42e6e3f890c5c9c", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000235c9995c3bdb6ab05bfca8c4049d2c847", + "0x00000000000000000000000000000000000afc8fc26b080a90461cbe02e9a6d0", + "0x000000000000000000000000000000173de4469e782937b09e8dcd77b50d1704", + "0x00000000000000000000000000000000000720f74870fef7ce9c03a59b27c7c7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000009be835eed95bf0cc42300a68f5358b9bb2", + "0x00000000000000000000000000000000001f34644d7229734b59b90f401278a6", + "0x000000000000000000000000000000e4bb4606126464c38ce411a355feefe834", + "0x0000000000000000000000000000000000090cff50304d6d56f40552fe8fbc43", + "0x000000000000000000000000000000878f9b15b540d6b97936ff6f7fcbc40369", + "0x00000000000000000000000000000000000107632f87301cfc69893652ebff38", + "0x0000000000000000000000000000008b441474e5363738eedbe070487f6777b9", + "0x00000000000000000000000000000000002797248ef1768570cf11bd6c3f2cd5", + "0x00000000000000000000000000000082ead96c117b51634c284d114f577257f4", + "0x0000000000000000000000000000000000147cc59c4e253f962c751eea2813a6", + "0x000000000000000000000000000000d456e249e3d9448cbdcdacd2a882671f52", + "0x00000000000000000000000000000000002981e0bdcc199c7d64806f20b36fa0", + "0x000000000000000000000000000000abfc90b4471135ca2ab8ba7c405edbc4e3", + "0x000000000000000000000000000000000023cfe401afd6bbfa4d35b6007170b4", + "0x000000000000000000000000000000c9ce5aded190329ae1a889665442ad7cd9", + "0x00000000000000000000000000000000000d708b930b128365c05717683bb86d", + "0x000000000000000000000000000000b823096a368099e4a5d6862151a7549148", + "0x00000000000000000000000000000000000d503250145a3efda57c6d32a4908a", + "0x000000000000000000000000000000f17e7bf93cfb998cd43bbd2ad3050125b9", + "0x00000000000000000000000000000000000930e7a51e277067f5271e46dc1252", + "0x00000000000000000000000000000038cfe8a840de63616a7362610bd3578168", + "0x00000000000000000000000000000000001c8141e7febc0876e0fe25d2579d62", + "0x000000000000000000000000000000152c755dee390a0c43ebf06a142061bd1e", + "0x00000000000000000000000000000000002c55e5fe44bef19e878f10b91e109d", + "0x000000000000000000000000000000ed38501369c52c2d563fdee920fa81afed", + "0x00000000000000000000000000000000002c0040967b7c6a962ddbb2773e40ac", + "0x0000000000000000000000000000008b720a162b659c1d6b99ff7f5ea1943bf0", + "0x00000000000000000000000000000000002037f64217f765367a73dc8809a402", + "0x000000000000000000000000000000333ce1795d12def27b282c7e9d940377d1", + "0x0000000000000000000000000000000000222e04a026255b1716e250489c02be", + "0x0000000000000000000000000000000fb2c89741afacaee5671840d555ee6200", + "0x00000000000000000000000000000000002b8b656e09e7a782aedb62ab07c4de", + "0x000000000000000000000000000000b8d83eee65d8da3867d44e479895cd3885", + "0x0000000000000000000000000000000000005290388f5c314efc8786ca753020", + "0x000000000000000000000000000000d962ca29ad326f0ca366e48b1094c90ba6", + "0x00000000000000000000000000000000002667dc84b31ddb50e7cbe8117469e1", + "0x000000000000000000000000000000edf193bc38e0bde8a4247cb94aac7c3453", + "0x0000000000000000000000000000000000130e46d1e5b5054183bbf59f75d5f1", + "0x000000000000000000000000000000d76ec7bf0b5b79acbcfa8fdcc4b7e1f43e", + "0x0000000000000000000000000000000000205b8db525acd7ad31210b279cf5aa", + "0x000000000000000000000000000000fa94df30aa6642a201c24b4ff9c513e7b4", + "0x000000000000000000000000000000000020ea9468339e4a650306e096fc7eb8", + "0x000000000000000000000000000000b67f58244f388df32f1c53d4e80d390c72", + "0x00000000000000000000000000000000001566a4116792031cf65c94bdfe703e", + "0x000000000000000000000000000000a6a0281f1c337f8b6e2c2ceb786ee11a82", + "0x00000000000000000000000000000000000921dbb00839427d1bbf18977b5e90", + "0x00000000000000000000000000000031e8e63905e4a45e4933e971d14318e6eb", + "0x00000000000000000000000000000000001e0193b93c681de90ee266c1c96ea9", + "0x0000000000000000000000000000002b5e19e56d15c9e6b6fe9067ee99196975", + "0x00000000000000000000000000000000002ad08af4cdb0b92223ccf588748fa6", + "0x0000000000000000000000000000003e5a1bd944e4c82fa00876f1dab8617c72", + "0x00000000000000000000000000000000001adc187328e0e2842fee7ba44727cc", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000a4bc612c9919e31850cacbdb2c0ebee136", + "0x00000000000000000000000000000000000a68940d7f098fcba91e5d2543efc5", + "0x000000000000000000000000000000c2036981811af6499bb28cf5780bff85a0", + "0x00000000000000000000000000000000001d7867c0364339f803e83b9073fe73", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000006c326bcc176f6bf7b61c67c607b538604e", + "0x00000000000000000000000000000000002e0df8ede24ac545f6f615607ae5a5", + "0x0000000000000000000000000000004810e97feaf203b539c161e31c09b9910d", + "0x00000000000000000000000000000000000e2612cea9f45e6238f1fcd8fe80e4" +] +hash = "0x1531ed0e20d6d05f1aeb06f746c8c4b8f467174836d6edf915b0c45099b393ed" + +[private_call_1.verification_key_hints] +contract_class_artifact_hash = "0x23e12e098d940ef2795fc61735ed268fdd624134af96a39ec20efd4da8253a5a" +contract_class_public_bytecode_commitment = "0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e" +updated_class_id_delayed_public_mutable_values = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [private_call_1.verification_key_hints.function_leaf_membership_witness] + leaf_index = "0" + sibling_path = [ + "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", + "0x1eeeb8fb2c3d5ed2bdeb4545deda4551d41e22e63ebfe4e47e98d83847870dc9", + "0x2974d8999d00928aa1378118756d6a4ba1368b1da89b2b1059c17fbb88ad21a8", + "0x2e6127fb2bcf542677ed9dfc6cd90a61a075142999aebccf345c816aff3a1d92", + "0x267a9c24e849f51869c93086ded207858dfb130344e1879a9d15d35096464824", + "0x1eb5f748aca7413c8875abf2789be0a1aec323884a365d9a59a1859aa2bce94e", + "0x2402a100768c2e339831cdb0b63e5c272a6f3318323a37642bea76ab5ea1ed0c" +] + + [private_call_1.verification_key_hints.public_keys] + npk_m_hash = "0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a26" + ovpk_m_hash = "0x0e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b" + tpk_m_hash = "0x082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0" + +[private_call_1.verification_key_hints.public_keys.ivpk_m.inner] +x = "0x00c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c" +y = "0x1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb151" +is_infinite = false + + [private_call_1.verification_key_hints.salted_initialization_hash] + inner = "0x28acc8124b398dcb4bfe1e23a886d244156df682b7bc2ee00132e80e21ade98d" + + [private_call_1.verification_key_hints.updated_class_id_witness] + leaf_index = "119" + sibling_path = [ + "0x0367624bc197266ce056aec8d19a5f089edceb4f0901727a0b128da357b67e1b", + "0x25e343ef927ea3980db5fdc788830d0b84a1dc80052cfac2dec9f5666716bfe9", + "0x2523970382de270c1acd87f98b4ed454353257f9c689dc608f7dc1b6ca23741a", + "0x06e7dff9596de301b2b1de0d823f50f5d5b7eec918ba502edd702a3b4351da32", + "0x2edd4e68944dac758244213037fbe9d622c7c28d6070f16862b3e8986090bee4", + "0x1d5ea1a288ff1ff4cabceaaa2f93eda378a5fb0a2a55423f4d4d205969181931", + "0x23b80d0ef13d744a52faabf5651164d28f7faf902653e41a35472eea87936e6e", + "0x02c691e1474ab605965337b84f97e9ac2a34e1214040cf86d9e229f08f4494d5", + "0x16c8aff52f0422f4bfc502620fe15dd6a4de67637563b7a8175f2d5727d268a4", + "0x1c76b6744bc3d6b1cd4b53459a08b4959643c0768fde657299fcc82e2732f744", + "0x12a6fac0fdfbd7897d8fe955f454cdb309ce8597d647ebfd0ba614c4eb215581", + "0x002b13fd827e0e0d6b4b44c63fdeaf75cfed5190728ff712530f5f0f6f92b1e4", + "0x1b61a4759569c7e380534b815a326c2f0614ce68188b3421b09db1a560349f4b", + "0x24faee168ea3e7ce5d9d22f24679594896a633ca5d12947fbcd2c28b1d27f94e", + "0x2c0e30deebb4fc9949601b0240d319424d3169290c5cd22c49c2f80b43491c24", + "0x1633b0cb253526da43ee63f3ec7a5ff4c9122f6f6ff53c5be3d6ee7e1daa7a4b", + "0x21a12dfd04d263a6a93feb45f10ae47f6142e9e0e29d66c20581bfa463983f43", + "0x0d02013ff44b6cc6cf983824fe5104671333c8243de05421c7a94033b02ef493", + "0x2f99a81e7faafb4d396d0cc32fe7e024c191325432ec3deb26878c8e69aa8a74", + "0x0f608351d05582fbead9c229631e4225305201e70d552a4c23915db3263507e3", + "0x1a85d719ace8c684b69950b47b17fb4b8a67b4454a5a8ff68bc33c2da4db4ce6", + "0x0ca806e767c92a5a84ae7fbc87886017fd616d5bb9944e76cb744051e30f8653", + "0x2dcebbd4d2afb62103883556c608e2ab29a0741ff744317f74d74ead537241db", + "0x0ceca69e0225bf70d28927ed19b793b034137ed87c901dd468a5c7d019b0c5a0", + "0x1983e65b490c4c4a2f0ba1bec5cf90a4cef0df719453e3c781d6310e7cdbcdd4", + "0x076cd8d40f992539f8034583bc6f2875f14eede666b8ddf12aac71fe90fd69ce", + "0x0caa288adc7dc74c3b3def6da3c6dcf8686ec1274eb35882437b2468ab598176", + "0x0179c92d038dd475c55c50689d306b24f0b7ff3622802b910be46b43ecef6596", + "0x1e60a8b88790824b178e6de4e2fa4f4623acd0a0bf100ba8fd9ccf95a7c9ca1c", + "0x0a0ce3ff3f93a8b62f857fb65f6e7db9330936e59b5ac6aa81a74c39aa5aeb1c", + "0x103f2e85701d4675ad6301fd100ffd649afc1f83a31ffbc7a71f12ba02625df5", + "0x1fb00a9227786ad2097c61cad83c201267d75841911691a9f554d8a02d3ecc90", + "0x19aedacdf53ccbe46ede5f653e3aa90872dd7184bf72b9a3763f750553a0fd9f", + "0x29c1557a25b705aa12decc723da5bc6ee57ff0d73dcd2eeeeeb8502d52bb80e2", + "0x1bfa49b22303484fb94e39d5e675fc3e71879d694b75e04eb521fdf7811997b8", + "0x15c54e05a78faa6df55608aa09cc2b4d94f9aecce72c64656ab2b1672a1acf35", + "0x1b5bf5d6a04a7fdc1f0ad8d5932c215ecd4d63c63d4c1af5b3d4947f66c9b194", + "0x0fdb0bd3ddf4531ca4f1de9e1a0d5d5997669c98f410e18e295cbc70e991f729", + "0x1e8e5a078bc01f2bfe12ffdf5cbd75109055869f0a6707b5c8eddbca3b9052ab", + "0x2995c91c614c3274568d97c6f8c70b9df77361434f18e77b48a19c390090c44c" +] + + [private_call_1.verification_key_hints.updated_class_id_leaf] + slot = "0x15d83fc6aef4d33787e8b2f45f47282217f56eedafe4c3456f98211053ee38af" + value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" + next_slot = "0x18d8563211a45773494e257e92d4c8fdac1d0d7d4d533ac158523f4e37744230" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000083" + +[private_call_2.vk] +key = [ + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000347", + "0x000000000000000000000000000000939ecc7e0238ba4538d07d06515106b715", + "0x000000000000000000000000000000000027f7faae22e35882db334002325b9a", + "0x0000000000000000000000000000005b7135656f7af02984fc29f460c2a39618", + "0x000000000000000000000000000000000015221e93ac7028e30bbf11170c8af7", + "0x000000000000000000000000000000d725982b5326885c8dbd7db7737acde886", + "0x0000000000000000000000000000000000096c86aff7dc8e83432bf71d155e54", + "0x000000000000000000000000000000b52a552f2377e7ad8de1275a5fab15b09c", + "0x00000000000000000000000000000000002921048ee5922f5021bf3414d233cb", + "0x000000000000000000000000000000c7cf0ad69cb6b47c7f5a005582eb4c0d5c", + "0x0000000000000000000000000000000000088d4215fd4cb39439928a35c36826", + "0x000000000000000000000000000000fa0549dd5c225f4523cd33dfdaa35a6d08", + "0x00000000000000000000000000000000001a5c6875705097231840579a7abe46", + "0x000000000000000000000000000000a53e503273acac0c370811e406798da8cb", + "0x0000000000000000000000000000000000263d9dd6253344f0b0f0d32aebd392", + "0x00000000000000000000000000000077fce21217a229537a0fe2347b7497c667", + "0x00000000000000000000000000000000002bc83252d459bcaa9a65d5f851ebc1", + "0x000000000000000000000000000000582db2c2b5419a8949d4a040faaae2d90c", + "0x0000000000000000000000000000000000272efacb35c7e6ef1b1c87b23b1986", + "0x000000000000000000000000000000c56053e996805d61c3087f426b76d05d91", + "0x00000000000000000000000000000000001a5dde0d931482170055089c35182d", + "0x0000000000000000000000000000005b20c5c214ec1bac8c86b04411d459ec25", + "0x0000000000000000000000000000000000059b95f533b5615af11b06773f3559", + "0x0000000000000000000000000000008ab521c6ee63c1f56d3e0e05cb23080a98", + "0x0000000000000000000000000000000000055c3afbbd2da250ac604a24bb2ef9", + "0x000000000000000000000000000000b02119ad4ce7d63abb9510f1ddff318823", + "0x000000000000000000000000000000000029a492a4d6587d8589814704f58870", + "0x000000000000000000000000000000e7c4b069553db68acdd0c13aec0d682052", + "0x00000000000000000000000000000000000fdedea57a1d5532c8074aa04fa4b1", + "0x0000000000000000000000000000001fc48b67fb4ec9714cfe69efa8469d2faa", + "0x00000000000000000000000000000000002800a5c6aa06adba0feb138f51b7c1", + "0x000000000000000000000000000000626607acd3cfe08cec8ccec45fc27222a0", + "0x00000000000000000000000000000000000bf5451f8e8805b3e83e17c778ac8f", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000c1324a637ac6aa9cce6d2f9458f6dfb351", + "0x0000000000000000000000000000000000091b6347806ddbaffc97bddc7a30dd", + "0x000000000000000000000000000000fe95016d73b67c279bba4e66e8d9703537", + "0x000000000000000000000000000000000005f0d9f14086df89040735f71fa7b7", + "0x00000000000000000000000000000005efa022dc2e8eb479b2b78d83c8765d5e", + "0x000000000000000000000000000000000018619d74d1bcaa0904107337bd012e", + "0x0000000000000000000000000000007546da679d2f3fa476de4b4caac4f8e720", + "0x0000000000000000000000000000000000022c0dbbf61f2b793f2d7e1a14f7ea", + "0x000000000000000000000000000000377837418627c78b9c5581cc090fa58e38", + "0x00000000000000000000000000000000001382a8f9f8f16c26c6fb5623a58a6e", + "0x0000000000000000000000000000000e6b1306d2ee4c0e782f794233e8cbef0e", + "0x000000000000000000000000000000000015b08ca4c24b72dce50f64314d5da9", + "0x0000000000000000000000000000008cb1ed0e54e2be1b693e7930db7cb80ab3", + "0x0000000000000000000000000000000000239d76e639d9cdf7dfabf6c51f899c", + "0x0000000000000000000000000000000ae1f82ad50cbd733f08e432946514a350", + "0x0000000000000000000000000000000000295d7b2a57a16c715033860938fd50", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000e24abed3d841d011ef73411a094875efcb", + "0x0000000000000000000000000000000000214dda13d13241bacb5802308722ac", + "0x000000000000000000000000000000e199a3fb1785a3aec260f70f8e375a1a2b", + "0x0000000000000000000000000000000000069692a44d75d315feef84b77236e2", + "0x000000000000000000000000000000f14079d90bffc6fbec385022d0458981ad", + "0x0000000000000000000000000000000000061e4d15aea9c20c425c89f3f2fb4d", + "0x000000000000000000000000000000bc69945a1c97d6970f8069c46e47282b46", + "0x00000000000000000000000000000000002756f7fde3edd1c8f306f63df0237c", + "0x0000000000000000000000000000003697ab9c36685cc97805a81d7d2c9135b6", + "0x00000000000000000000000000000000002dfe72fbb64b8bf80041637521df7f", + "0x000000000000000000000000000000ba93cf80ee63038d9cbb53e8028c2171b2", + "0x00000000000000000000000000000000000d1cfd416d77e90cebf25b135b75c7", + "0x000000000000000000000000000000b8d64485c600b5bdc5aeaf70405edf46a8", + "0x0000000000000000000000000000000000211e94dafb97ac2bf1fc042e75e30e", + "0x0000000000000000000000000000007b3535533bf23ebc5e93f72f3178e40167", + "0x00000000000000000000000000000000000297f06e65bd27d0af59e48e282d13", + "0x000000000000000000000000000000e1575bec02ddb89a48eb03929177e08295", + "0x0000000000000000000000000000000000129d4383c4e0b52d70655b8f6dd3c1", + "0x000000000000000000000000000000c20bd4ea75f38d2e6b41161274a4a9bff9", + "0x00000000000000000000000000000000000d10237adc48d09824b74c0bf30af8", + "0x0000000000000000000000000000005bc3d742bc3521ee9bfd22eca4fe041d4f", + "0x00000000000000000000000000000000000dd34305439efd31d8f1069f2f1298", + "0x000000000000000000000000000000724a171fe6ee9412cdc4f2ff3d25849659", + "0x00000000000000000000000000000000001ae910663d2ca08ca35718d11c7ebf", + "0x00000000000000000000000000000075ffa7853e4e65151b0a07a653a4deff20", + "0x00000000000000000000000000000000002a899e407fe87d860ec446a9b9d50e", + "0x0000000000000000000000000000009f811b594a5ca4e03abfac98d71c4cad52", + "0x00000000000000000000000000000000002c4577b0ffa13c22944caeef4aeb7b", + "0x000000000000000000000000000000b22122da5120631c81ae7c090fab5c4eb4", + "0x000000000000000000000000000000000014ddbc63b8e87cf38d5f1bdedf8932", + "0x000000000000000000000000000000e79feec7013b1298f980ee48a3951c46ea", + "0x0000000000000000000000000000000000144a09988130e955b0f991671fc734", + "0x000000000000000000000000000000fccadf005dcf11dfae7e16251da139c64c", + "0x00000000000000000000000000000000000e2455a5b1f5bb6808f9c69e1b4b83", + "0x000000000000000000000000000000cad73f1e10fe30f6c3c6604462a9ad39e5", + "0x000000000000000000000000000000000023af407ebb2ebbb916b19f5e1806bd", + "0x000000000000000000000000000000358c8f99a29f2dcc8d936d1537bb16215f", + "0x00000000000000000000000000000000002f321ab6de1f6a2c179488e418d570", + "0x000000000000000000000000000000fc501808c7eeac2a8f1a94ba2d24be4281", + "0x00000000000000000000000000000000000abc0fe411716883c4a7cd5df8c5af", + "0x000000000000000000000000000000ea4b9a97a081f3d16f86c349dc23079367", + "0x00000000000000000000000000000000000a9606176049cae0de6c5847c80222", + "0x00000000000000000000000000000061d6ccdec76d72dc64ada1a81f788664c1", + "0x00000000000000000000000000000000000c0408321acfdf3367b63b83b33a9e", + "0x000000000000000000000000000000c570f10738530d83d30ed979bbc4acbf18", + "0x0000000000000000000000000000000000157eccb3d3c1c095eb8edbeec669b4", + "0x000000000000000000000000000000aab92fa5f685cbf4f8720464e2232dbe5e", + "0x00000000000000000000000000000000002c51b29180e84ca25a542c74b13be9", + "0x000000000000000000000000000000bf4ae6cdd940147e48440e3155e3e4d90b", + "0x00000000000000000000000000000000002068fd4b37ed9dc0f51780c6bbc319", + "0x00000000000000000000000000000010b17735f490af682367ecbaea8f46ede8", + "0x000000000000000000000000000000000023783618dae8e3dad244ee5b4fa5bf", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000006cbfd45394e5c611c0c1ce272ee3cc6e47", + "0x0000000000000000000000000000000000224fe3dc1b6636cee421f29842b37a", + "0x0000000000000000000000000000003dae50a4473ffe62298a434d706481e6c8", + "0x00000000000000000000000000000000001c6855a0c6a537f41c9ed7a5c1b7e5", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000006c326bcc176f6bf7b61c67c607b538604e", + "0x00000000000000000000000000000000002e0df8ede24ac545f6f615607ae5a5", + "0x0000000000000000000000000000004810e97feaf203b539c161e31c09b9910d", + "0x00000000000000000000000000000000000e2612cea9f45e6238f1fcd8fe80e4" +] +hash = "0x073f4bb2a667f5058abfb94949c5a8d5b1977df83de82a05390a90f8bb420751" + +[private_call_2.verification_key_hints] +contract_class_artifact_hash = "0x114be567f8aa3cadf98ceedfadbe6edb25681584cfdda8dd44acf0437b1ddc54" +contract_class_public_bytecode_commitment = "0x260735cf6645c6f07d2f0ebe2bfbd3062e95ddc820661329a5422bc239261bba" +updated_class_id_delayed_public_mutable_values = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [private_call_2.verification_key_hints.function_leaf_membership_witness] + leaf_index = "0" + sibling_path = [ + "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", + "0x1eeeb8fb2c3d5ed2bdeb4545deda4551d41e22e63ebfe4e47e98d83847870dc9", + "0x2974d8999d00928aa1378118756d6a4ba1368b1da89b2b1059c17fbb88ad21a8", + "0x2e6127fb2bcf542677ed9dfc6cd90a61a075142999aebccf345c816aff3a1d92", + "0x267a9c24e849f51869c93086ded207858dfb130344e1879a9d15d35096464824", + "0x1eb5f748aca7413c8875abf2789be0a1aec323884a365d9a59a1859aa2bce94e", + "0x2402a100768c2e339831cdb0b63e5c272a6f3318323a37642bea76ab5ea1ed0c" +] + + [private_call_2.verification_key_hints.public_keys] + npk_m_hash = "0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a26" + ovpk_m_hash = "0x0e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b" + tpk_m_hash = "0x082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0" + +[private_call_2.verification_key_hints.public_keys.ivpk_m.inner] +x = "0x00c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c" +y = "0x1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb151" +is_infinite = false + + [private_call_2.verification_key_hints.salted_initialization_hash] + inner = "0x0afe58e6645b396d31e0de341c28e73e0eee8c2d5fa7bd89a905a8c77cfc45b7" + + [private_call_2.verification_key_hints.updated_class_id_witness] + leaf_index = "134" + sibling_path = [ + "0x04faeb1fbcaba22bb78f190827a5dd614409f548340279badeb318d58f40c003", + "0x22f1b4d319f851468b77a99c6bde547499fc0dafc3676279d0724f0cff0186a2", + "0x02863b9ba1de6f80706d154369db20f4660240d04c2588e80259928737caa007", + "0x072c485f46fea63147c965f3bf2ae2a16a6cef7035c1a8140796c225f7b502b2", + "0x1d52af9cd9f69c1286e9a96fd498e736789a5bc463fceb1c176a4f9292f7cbe3", + "0x1ff1d5db01572c915915a22173c73d8073df9af4e4c57f6af29df5315da44419", + "0x070dcbac794fa663bc71b42d80775c0cea8c3ed7580207cfd30fd1285813ce07", + "0x1e40bcb76d2b688cff569abcc238c9f6bc9960fa9b07dd12652117fe819b1626", + "0x16c8aff52f0422f4bfc502620fe15dd6a4de67637563b7a8175f2d5727d268a4", + "0x1c76b6744bc3d6b1cd4b53459a08b4959643c0768fde657299fcc82e2732f744", + "0x12a6fac0fdfbd7897d8fe955f454cdb309ce8597d647ebfd0ba614c4eb215581", + "0x002b13fd827e0e0d6b4b44c63fdeaf75cfed5190728ff712530f5f0f6f92b1e4", + "0x1b61a4759569c7e380534b815a326c2f0614ce68188b3421b09db1a560349f4b", + "0x24faee168ea3e7ce5d9d22f24679594896a633ca5d12947fbcd2c28b1d27f94e", + "0x2c0e30deebb4fc9949601b0240d319424d3169290c5cd22c49c2f80b43491c24", + "0x1633b0cb253526da43ee63f3ec7a5ff4c9122f6f6ff53c5be3d6ee7e1daa7a4b", + "0x21a12dfd04d263a6a93feb45f10ae47f6142e9e0e29d66c20581bfa463983f43", + "0x0d02013ff44b6cc6cf983824fe5104671333c8243de05421c7a94033b02ef493", + "0x2f99a81e7faafb4d396d0cc32fe7e024c191325432ec3deb26878c8e69aa8a74", + "0x0f608351d05582fbead9c229631e4225305201e70d552a4c23915db3263507e3", + "0x1a85d719ace8c684b69950b47b17fb4b8a67b4454a5a8ff68bc33c2da4db4ce6", + "0x0ca806e767c92a5a84ae7fbc87886017fd616d5bb9944e76cb744051e30f8653", + "0x2dcebbd4d2afb62103883556c608e2ab29a0741ff744317f74d74ead537241db", + "0x0ceca69e0225bf70d28927ed19b793b034137ed87c901dd468a5c7d019b0c5a0", + "0x1983e65b490c4c4a2f0ba1bec5cf90a4cef0df719453e3c781d6310e7cdbcdd4", + "0x076cd8d40f992539f8034583bc6f2875f14eede666b8ddf12aac71fe90fd69ce", + "0x0caa288adc7dc74c3b3def6da3c6dcf8686ec1274eb35882437b2468ab598176", + "0x0179c92d038dd475c55c50689d306b24f0b7ff3622802b910be46b43ecef6596", + "0x1e60a8b88790824b178e6de4e2fa4f4623acd0a0bf100ba8fd9ccf95a7c9ca1c", + "0x0a0ce3ff3f93a8b62f857fb65f6e7db9330936e59b5ac6aa81a74c39aa5aeb1c", + "0x103f2e85701d4675ad6301fd100ffd649afc1f83a31ffbc7a71f12ba02625df5", + "0x1fb00a9227786ad2097c61cad83c201267d75841911691a9f554d8a02d3ecc90", + "0x19aedacdf53ccbe46ede5f653e3aa90872dd7184bf72b9a3763f750553a0fd9f", + "0x29c1557a25b705aa12decc723da5bc6ee57ff0d73dcd2eeeeeb8502d52bb80e2", + "0x1bfa49b22303484fb94e39d5e675fc3e71879d694b75e04eb521fdf7811997b8", + "0x15c54e05a78faa6df55608aa09cc2b4d94f9aecce72c64656ab2b1672a1acf35", + "0x1b5bf5d6a04a7fdc1f0ad8d5932c215ecd4d63c63d4c1af5b3d4947f66c9b194", + "0x0fdb0bd3ddf4531ca4f1de9e1a0d5d5997669c98f410e18e295cbc70e991f729", + "0x1e8e5a078bc01f2bfe12ffdf5cbd75109055869f0a6707b5c8eddbca3b9052ab", + "0x2995c91c614c3274568d97c6f8c70b9df77361434f18e77b48a19c390090c44c" +] + + [private_call_2.verification_key_hints.updated_class_id_leaf] + slot = "0x00636bd5b0883a2a1830afcbc6b4b41d16f9639ece8274acc27154705f3b8276" + value = "0x0000000000000000000000000000000000000000000000000000000000000012" + next_slot = "0x01a19f390779d3a125f11b7c60ce770979b067defbc52b8f0f898bbbc3454c6f" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000080" + +[app_public_inputs_0] +args_hash = "0x0e4a049212502ddf801e6de7e638cc14cfa74a583afb5b0112958f1f263384b0" +returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" +start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000002" +end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000f" +expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +expected_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" +is_fee_payer = true +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0d700b" + + [app_public_inputs_0.call_context] + is_static_call = false + + [app_public_inputs_0.call_context.msg_sender] + inner = "0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000" + + [app_public_inputs_0.call_context.contract_address] + inner = "0x1a5bc640b9ee6b7cb908e6672e5678531c8f4cb21c956616e436eecad76a452d" + + [app_public_inputs_0.call_context.function_selector] + inner = "0x000000000000000000000000000000000000000000000000000000009d57a239" + + [app_public_inputs_0.note_hash_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x2dd746d2f347ebd8d2f591aaf062159b2cceeadb449a919ada77febe9b940e78" +counter = "0x0000000000000000000000000000000000000000000000000000000000000003" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifier_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.note_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000002" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0ebd7eba73dc20bf082971c1d7211dc1ea94d1955f3f8bdfcb6ffe5555dfb502" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000006" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000009" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x1a5bc640b9ee6b7cb908e6672e5678531c8f4cb21c956616e436eecad76a452d" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000003" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x000000000000000000000000000000000000000000000000000000006934ed0d" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0e251fbf263324b797960cb40a76612db073a017b0c373f8bcad29f31877b767" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000a" + end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000e" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x1a5bc640b9ee6b7cb908e6672e5678531c8f4cb21c956616e436eecad76a452d" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000002" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x00000000000000000000000000000000000000000000000000000000a59b4137" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_teardown_call_request] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.contract_class_logs_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.contract_class_logs_hashes.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.contract_class_logs_hashes.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.anchor_block_header] + sponge_blob_hash = "0x0536a4ab22763da9987147107b1502cd6c0f5100c5057af90cc913dfb7555a97" + total_fees = "0x00000000000000000000000000000000000000000000000002c5b2a32761f680" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a8282" + + [app_public_inputs_0.anchor_block_header.last_archive] + root = "0x07b049e8df80c5fcaf98c5f5e83697da80766abb0aed71e3e8269717cdf0ce8d" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" + +[app_public_inputs_0.anchor_block_header.state.l1_to_l2_message_tree] +root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000001800" + +[app_public_inputs_0.anchor_block_header.state.partial.note_hash_tree] +root = "0x16c5b9c25398499f649c59f6d3e931edf963460b8761248e3b17bb1f5794f3db" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" + +[app_public_inputs_0.anchor_block_header.state.partial.nullifier_tree] +root = "0x2b5af9d9cfd13b27d7e5971722fd8e4139011ea9f30375f3e2bd633d64e7293f" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" + +[app_public_inputs_0.anchor_block_header.state.partial.public_data_tree] +root = "0x17494afd96414c3d5543c103ea394725d765efb8b615fcbb273725c82a6d2e68" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" + + [app_public_inputs_0.anchor_block_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000f81aedd1" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000006" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000006" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c1e8b" + + [app_public_inputs_0.anchor_block_header.global_variables.coinbase] + inner = "0x0000000000000000000000005ea83c9061394d0c643bd0df9d2d0c6d3102f6dc" + + [app_public_inputs_0.anchor_block_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.anchor_block_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000004386faeb40" + + [app_public_inputs_0.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000f81aedd1" + +[app_public_inputs_0.tx_context.gas_settings.gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" +l2_gas = "0x000000000000000000000000000000000000000000000000000000000063cae0" + +[app_public_inputs_0.tx_context.gas_settings.teardown_gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000018000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" + +[app_public_inputs_0.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000001cc0d810418" + +[app_public_inputs_0.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1] +args_hash = "0x0ebd7eba73dc20bf082971c1d7211dc1ea94d1955f3f8bdfcb6ffe5555dfb502" +returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" +start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000006" +end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000009" +expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +expected_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +is_fee_payer = false +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0d700b" + + [app_public_inputs_1.call_context] + is_static_call = false + + [app_public_inputs_1.call_context.msg_sender] + inner = "0x1a5bc640b9ee6b7cb908e6672e5678531c8f4cb21c956616e436eecad76a452d" + + [app_public_inputs_1.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000003" + + [app_public_inputs_1.call_context.function_selector] + inner = "0x000000000000000000000000000000000000000000000000000000006934ed0d" + + [app_public_inputs_1.note_hash_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifier_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.note_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers] + length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000007" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x30405a0693eed61f76d3d7c18614b8d3286aa2ad3039533e2658766de9ab4e15" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_teardown_call_request] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.contract_class_logs_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[app_public_inputs_1.contract_class_logs_hashes.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000008" + + [app_public_inputs_1.contract_class_logs_hashes.array.inner] + value = "0x242b9549d1e2c420a764a5aa2ba58d98b77e35fef8ffa5aa787f9b325f2b5005" + length = "0x0000000000000000000000000000000000000000000000000000000000000068" + + [app_public_inputs_1.anchor_block_header] + sponge_blob_hash = "0x0536a4ab22763da9987147107b1502cd6c0f5100c5057af90cc913dfb7555a97" + total_fees = "0x00000000000000000000000000000000000000000000000002c5b2a32761f680" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a8282" + + [app_public_inputs_1.anchor_block_header.last_archive] + root = "0x07b049e8df80c5fcaf98c5f5e83697da80766abb0aed71e3e8269717cdf0ce8d" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" + +[app_public_inputs_1.anchor_block_header.state.l1_to_l2_message_tree] +root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000001800" + +[app_public_inputs_1.anchor_block_header.state.partial.note_hash_tree] +root = "0x16c5b9c25398499f649c59f6d3e931edf963460b8761248e3b17bb1f5794f3db" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" + +[app_public_inputs_1.anchor_block_header.state.partial.nullifier_tree] +root = "0x2b5af9d9cfd13b27d7e5971722fd8e4139011ea9f30375f3e2bd633d64e7293f" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" + +[app_public_inputs_1.anchor_block_header.state.partial.public_data_tree] +root = "0x17494afd96414c3d5543c103ea394725d765efb8b615fcbb273725c82a6d2e68" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" + + [app_public_inputs_1.anchor_block_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000f81aedd1" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000006" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000006" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c1e8b" + + [app_public_inputs_1.anchor_block_header.global_variables.coinbase] + inner = "0x0000000000000000000000005ea83c9061394d0c643bd0df9d2d0c6d3102f6dc" + + [app_public_inputs_1.anchor_block_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.anchor_block_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000004386faeb40" + + [app_public_inputs_1.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000f81aedd1" + +[app_public_inputs_1.tx_context.gas_settings.gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" +l2_gas = "0x000000000000000000000000000000000000000000000000000000000063cae0" + +[app_public_inputs_1.tx_context.gas_settings.teardown_gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000018000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" + +[app_public_inputs_1.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000001cc0d810418" + +[app_public_inputs_1.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2] +args_hash = "0x0e251fbf263324b797960cb40a76612db073a017b0c373f8bcad29f31877b767" +returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" +start_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000a" +end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000e" +expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +expected_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +is_fee_payer = false +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0d700b" + + [app_public_inputs_2.call_context] + is_static_call = false + + [app_public_inputs_2.call_context.msg_sender] + inner = "0x1a5bc640b9ee6b7cb908e6672e5678531c8f4cb21c956616e436eecad76a452d" + + [app_public_inputs_2.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000002" + + [app_public_inputs_2.call_context.function_selector] + inner = "0x00000000000000000000000000000000000000000000000000000000a59b4137" + + [app_public_inputs_2.note_hash_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifier_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x30405a0693eed61f76d3d7c18614b8d3286aa2ad3039533e2658766de9ab4e15" +counter = "0x000000000000000000000000000000000000000000000000000000000000000b" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000003" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.note_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers] + length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x000000000000000000000000000000000000000000000000000000000000000c" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0603f2bc643a4bf06692b6ea01af9cc928ebf24c8b9f8f359afdc60db9d40e3c" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_teardown_call_request] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs] + length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x000000000000000000000000000000000000000000000000000000000000000d" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x174c6b3d0fd14728e4fc5e53f7b262ab943546a7e125e2ed5e9fde3cf0b3e22f", + "0x0603f2bc643a4bf06692b6ea01af9cc928ebf24c8b9f8f359afdc60db9d40e3c", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x1032ac682578d498c2288d1726fd4eafc40634ef1248e4a0218d27e98013091c", + "0x30405a0693eed61f76d3d7c18614b8d3286aa2ad3039533e2658766de9ab4e15", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a26", + "0x00c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c", + "0x1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb151", + "0x0e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b", + "0x082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0", + "0x1a5bc640b9ee6b7cb908e6672e5678531c8f4cb21c956616e436eecad76a452d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x000000000000000000000000000000000000000000000000000000000000000d" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.contract_class_logs_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.contract_class_logs_hashes.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.contract_class_logs_hashes.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.anchor_block_header] + sponge_blob_hash = "0x0536a4ab22763da9987147107b1502cd6c0f5100c5057af90cc913dfb7555a97" + total_fees = "0x00000000000000000000000000000000000000000000000002c5b2a32761f680" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a8282" + + [app_public_inputs_2.anchor_block_header.last_archive] + root = "0x07b049e8df80c5fcaf98c5f5e83697da80766abb0aed71e3e8269717cdf0ce8d" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" + +[app_public_inputs_2.anchor_block_header.state.l1_to_l2_message_tree] +root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000001800" + +[app_public_inputs_2.anchor_block_header.state.partial.note_hash_tree] +root = "0x16c5b9c25398499f649c59f6d3e931edf963460b8761248e3b17bb1f5794f3db" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" + +[app_public_inputs_2.anchor_block_header.state.partial.nullifier_tree] +root = "0x2b5af9d9cfd13b27d7e5971722fd8e4139011ea9f30375f3e2bd633d64e7293f" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" + +[app_public_inputs_2.anchor_block_header.state.partial.public_data_tree] +root = "0x17494afd96414c3d5543c103ea394725d765efb8b615fcbb273725c82a6d2e68" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" + + [app_public_inputs_2.anchor_block_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000f81aedd1" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000006" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000006" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c1e8b" + + [app_public_inputs_2.anchor_block_header.global_variables.coinbase] + inner = "0x0000000000000000000000005ea83c9061394d0c643bd0df9d2d0c6d3102f6dc" + + [app_public_inputs_2.anchor_block_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.anchor_block_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000004386faeb40" + + [app_public_inputs_2.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000f81aedd1" + +[app_public_inputs_2.tx_context.gas_settings.gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" +l2_gas = "0x000000000000000000000000000000000000000000000000000000000063cae0" + +[app_public_inputs_2.tx_context.gas_settings.teardown_gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000018000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" + +[app_public_inputs_2.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000001cc0d810418" + +[app_public_inputs_2.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-init/Prover.toml b/noir-projects/noir-protocol-circuits/crates/private-kernel-init/Prover.toml index 11d2e8ee0b13..2c9c13b491fc 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-init/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-init/Prover.toml @@ -1,18 +1,18 @@ -vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" +vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" is_private_only = false -first_nullifier_hint = "0x09fac458f9e079d0117ef63746c55ce66b3e5d95c8420974d9c69f369b0d77ef" +first_nullifier_hint = "0x233e95769f6a7d3be5b0c68b13431ad2214bcede52ae9c10e340ac57871b65fb" revertible_counter_hint = "0x0000000000000000000000000000000000000000000000000000000000000005" [tx_request] -args_hash = "0x2237e42a84e35fc9371ec568e04d6db13130f02f527e0cce6f78ebf038f70f5f" -salt = "0x0dcc552c9a204fa5c60481076f34e420fdd64d81a8c273ad1c336f00b6912f8c" +args_hash = "0x04a65dff28c7219e24a65785e4145db8afe036681c48c8348314e2eeba1c56d3" +salt = "0x2ebfaeadfb0e170b136b798638f54796e2ba938a2566a404a6ef114a7313194e" [tx_request.origin] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2" [tx_request.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" [tx_request.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" @@ -37,22 +37,22 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 inner = "0x000000000000000000000000000000000000000000000000000000009d57a239" [[protocol_contracts.derived_addresses]] -inner = "0x1520f4bb11a3a1d2248a03d8472e9af4bb8324eb1d2d8c83bce61894383464b9" +inner = "0x2c78cadfe08eabbb0e2a15b62eefd07a08cbc1631fa2be7962fd219308d9f1e3" [[protocol_contracts.derived_addresses]] -inner = "0x26a43bf066852a7b1ec3c5b454f41735fea12e2ffbefed471058124b91d94018" +inner = "0x0d6429ccd33eeec2a03a7b2f78d6c901ad9406bf2058231382147de5014303fd" [[protocol_contracts.derived_addresses]] -inner = "0x1bd26c6831ebc53674b13ac69a0c534563c37e46c2cbb36f2deca107a26515fa" +inner = "0x0b286a1c928fbe1ca3be78fe2f2bd25a2eec7f5f15c2757a2db53b2a8d499358" [[protocol_contracts.derived_addresses]] -inner = "0x06870c63132d2a4e3356a76d773240efe729e7d9b9380a7a3cf1798fc9031aed" +inner = "0x1cef6885d1ace5a36534202d1f593b94ac0876ff4933745085ad62da062a3b5e" [[protocol_contracts.derived_addresses]] -inner = "0x0083c4dfb922796f1086d399f8f3d021159d1a87ba3b833dcdf9863c630ba643" +inner = "0x2ccc3471349063b3b0c5a6362e0dbfc3c21b534f84fc963483667b32840e259a" [[protocol_contracts.derived_addresses]] -inner = "0x0b4d3a9a7a3caf83f9c2060347e48cc28c7f04d2560d1cbf5bf08d4832128a97" +inner = "0x0ad78bd90b0e2e0887928b98b621517d04a6bddebf6b20bdb76ddd8aec6f05fd" [[protocol_contracts.derived_addresses]] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -73,152 +73,152 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key = [ "0x0000000000000000000000000000000000000000000000000000000000000010", "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000b81", - "0x000000000000000000000000000000323d5a3bacf46ff720167bfa82f1d3a470", - "0x00000000000000000000000000000000000109869e9ff89595121baa1badc56f", - "0x00000000000000000000000000000028564096270cb8849cc3552446a7787f44", - "0x00000000000000000000000000000000002c0182a1646ff1fe580199388a6e67", - "0x000000000000000000000000000000e207084f39d03f0b9d49d65a831a476bdc", - "0x00000000000000000000000000000000002aac72303765a3fadee7fa1db1be05", - "0x0000000000000000000000000000005e8598ff5e2c6cd7dc473187b18a60e56e", - "0x00000000000000000000000000000000002a412cc07438f09a0dd6201ad2c845", - "0x0000000000000000000000000000005946521ae9065d5a2f1e7016a837d41720", - "0x00000000000000000000000000000000000ea66d443ec8deb6a04dc4f974a8e0", - "0x0000000000000000000000000000006d72fbabcf2fb19129b47b1cea05b6fbea", - "0x0000000000000000000000000000000000093da4177e03b9ceffde6bfcba715b", - "0x00000000000000000000000000000073b9e515320060a26b76a2585026e35095", - "0x00000000000000000000000000000000001d0acd33c22a462a2f19a01731d7d1", - "0x000000000000000000000000000000ddce5c2135081e4f770a66abb583c2d173", - "0x0000000000000000000000000000000000157776c2b29efb55f9a8431e76ae1c", - "0x0000000000000000000000000000001bca989328d1c9116bb16813323cecba31", - "0x00000000000000000000000000000000001b5dc4ef90e0723fdc7945ef4c54ce", - "0x0000000000000000000000000000004e18c66149c3b7ac47179461f6e195cc80", - "0x00000000000000000000000000000000001281bbcfe7ef0f2fccf4cd92272414", - "0x0000000000000000000000000000003c8e508f2ffeb91e6f3f83c3f6c86d56ba", - "0x0000000000000000000000000000000000064d022b5e2c394f45dcd33af07326", - "0x00000000000000000000000000000002cafc1f9a92a5ee32f170622efede1b43", - "0x00000000000000000000000000000000000aceb2867aa9d36e777e91c8af94e4", - "0x0000000000000000000000000000009de7a9cc413e4291453c88d92591e15064", - "0x00000000000000000000000000000000002a99adc4aea9cf55b7adb21dc2d7b5", - "0x000000000000000000000000000000c5c063499d6beb3c15a568f0eb3b9accfb", - "0x0000000000000000000000000000000000085343e51f8e54f7e4b3bca5b8ccdb", - "0x0000000000000000000000000000004df9e2c11487e96cde4a354328c2322b7e", - "0x00000000000000000000000000000000001e71380507bf8f7a65f542a668967e", - "0x000000000000000000000000000000387a87e1fd5a4d755a72bf4223e72cf175", - "0x0000000000000000000000000000000000140d1d6145c78a4cd60b85534d174f", - "0x00000000000000000000000000000009dd5aa20682fbbc7e632f8a1db534e9b3", - "0x00000000000000000000000000000000000634427a3afc7faeb13b2d9dfb819f", - "0x000000000000000000000000000000b4197b6332dcded183750122f25b0a2519", - "0x000000000000000000000000000000000027607abc7388bbdbd2d7f96188fbb4", - "0x00000000000000000000000000000003d113f92b1cd5b3ff63420794e03ef685", - "0x0000000000000000000000000000000000207b2aef1ef8b28ace8c83aecf7e28", - "0x000000000000000000000000000000450f7e6b497cd2a96ae6b92be64fae5c6b", - "0x00000000000000000000000000000000002120f64101472951f06f632de5145f", - "0x000000000000000000000000000000debece59d8788da9e5f8d8dc220168c1d2", - "0x000000000000000000000000000000000015786f0aad65395b2bc4b537336ede", - "0x00000000000000000000000000000060a0d6c54c73c3690cecc86bddbfbcc42b", - "0x000000000000000000000000000000000000e01e5f4b5f9c61b6b572d6a489a8", - "0x00000000000000000000000000000051925bb85f77dc843e87768cad13898c66", - "0x00000000000000000000000000000000001d2e8c943486f2d8077ca3a545e58e", - "0x0000000000000000000000000000001eae3f40b556ff78fd87a9f0bf9835f121", - "0x000000000000000000000000000000000001a9ddb01e083df4fa7944b38b1d66", - "0x0000000000000000000000000000000a71144260f9510eea1b6b164635f58a85", - "0x00000000000000000000000000000000002450da73f6d16c22bbfee6979c1aa5", - "0x000000000000000000000000000000a05fce07c3de8206138c6fff56b0384a77", - "0x00000000000000000000000000000000001413ce1460c3807fa23afc23048488", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000fa598d6d181474b0f0bc69f2183b523e80", - "0x00000000000000000000000000000000000d8c40ab9e154226f73e321ea0aadd", - "0x000000000000000000000000000000d279bcf5f49b4e581e307f708085120acc", - "0x00000000000000000000000000000000000b7a923678250450f635555bd4cd46", - "0x000000000000000000000000000000cc727ba574f665e0eb1b68de979a694028", - "0x00000000000000000000000000000000000a6f019b23bb4dc91aa9fa1c549e8f", - "0x00000000000000000000000000000048e4410bd774618ebb93dddc7ad9cb3ea4", - "0x000000000000000000000000000000000023dd18195483e82d97eb518a8c3ba4", - "0x000000000000000000000000000000bb65ab115ceeb8fb08e90f292f09d0cef2", - "0x00000000000000000000000000000000000eb1879efc776a7cac9ccb88550a4f", - "0x0000000000000000000000000000001d331e0112dd2d8cd8ce94e7b32843751b", - "0x000000000000000000000000000000000011e69febc35e19e3d67d16f534ec53", - "0x000000000000000000000000000000919614fa3ba8ef2dacf8ea9a6805df8e9f", - "0x000000000000000000000000000000000021f21cdf5a4aa72e8ff57923e8543b", - "0x000000000000000000000000000000708a9164194ce14fac9d0386a3adcb4bc0", - "0x000000000000000000000000000000000028d7bc88df3ad73259787bf5d7d01a", - "0x0000000000000000000000000000002964cf46a5183cb04145d9a8b439a32df1", - "0x00000000000000000000000000000000001539ee0fec0781bc1760b30e479b1e", - "0x000000000000000000000000000000ba5f4a89c83775cb92fcc3ff4c358a7553", - "0x00000000000000000000000000000000002640734ef86775f76d689e95814fc3", - "0x0000000000000000000000000000009c2f263653c7e2af7401216151678eade5", - "0x000000000000000000000000000000000022cac24cb9b9c0bd20263c02178a74", - "0x0000000000000000000000000000009b91b2b9cd766ab9d54d4e0ce5b31b2df9", - "0x000000000000000000000000000000000021feeed9c2bbeaf1b31b97bd475898", - "0x000000000000000000000000000000b167db6919d49e56465b96227e40c83b61", - "0x00000000000000000000000000000000001382f4cd681ca5a3b409cc27c9622f", - "0x0000000000000000000000000000004459ed40f5cbfa7d6a37b8ea44d6cbd6dc", - "0x00000000000000000000000000000000001bd5f7d5688bb20ed13a7d6c96ef7a", - "0x000000000000000000000000000000ca992efecefafda29e202a7a347d81367e", - "0x00000000000000000000000000000000001db9c5d73ac26232863ae012269306", - "0x0000000000000000000000000000008ee5b3d7b16d5fe16702aa8885d4b96219", - "0x00000000000000000000000000000000000e59f4b3fd78b0fb4ac7e9c2172cb4", - "0x000000000000000000000000000000ae1a100ea1870b38b32d117cfddb7963f6", - "0x00000000000000000000000000000000002e373869e16038a011dcbd14cd4f01", - "0x0000000000000000000000000000005a5fe1304e6aeac934bddd72a03ebc626b", - "0x00000000000000000000000000000000002a21976f3e8487fb635ad21e9ffe2c", - "0x000000000000000000000000000000217dfe935e944ba7075acde9faa6cb5173", - "0x00000000000000000000000000000000000e5ad22ef54fc104806cd546d25b9a", - "0x000000000000000000000000000000d0760a836a218a69ae33c7172912f1d331", - "0x0000000000000000000000000000000000248701194b3dad90a302030dd3ed4c", - "0x00000000000000000000000000000015771863f13527395472cdbefc01ce7d50", - "0x000000000000000000000000000000000025b39680b4a83bfcbb03bbef9286d9", - "0x00000000000000000000000000000015172ac2d95099e3de8feae18d349ed077", - "0x00000000000000000000000000000000002f0e6eb33c7a8589eb4aa0a58e4948", - "0x000000000000000000000000000000bc4ffdb2d7a1280fc2ce31024a5f4028f8", - "0x00000000000000000000000000000000000f8b150ff8204297433768c07af62b", - "0x0000000000000000000000000000003b337a09da46d718fdbb452d16e1c3355f", - "0x0000000000000000000000000000000000209451e38476922aff2f5e89d9050c", - "0x0000000000000000000000000000003204c8b80470419acd48ab8cfc4ee4edcd", - "0x00000000000000000000000000000000000e6382ea5ec96629b90c530219c3cb", - "0x000000000000000000000000000000573110e5e30f83f2b1cdbf6021589f56d4", - "0x00000000000000000000000000000000002153342158e09047429d5ff0cf2814", - "0x0000000000000000000000000000000c87cc7ea9f19d895b531f173f10e1fb7a", - "0x000000000000000000000000000000000028ce104aa04c8883606e30145396ca", - "0x000000000000000000000000000000091bf18675b31c2ca35cd6d9c4c61980f6", - "0x00000000000000000000000000000000001e4a1ac80c95b28bd73997aa8be018", - "0x00000000000000000000000000000027ac5003261c40666193e97d00708290e6", - "0x0000000000000000000000000000000000155026062b8202477e26ea5692a700", - "0x000000000000000000000000000000cf95c483603fd34a07e7e0aaa6ddedf5aa", - "0x00000000000000000000000000000000001ed0d7dc69f72e8055cbe26bc2ce26", - "0x000000000000000000000000000000bd27f2a517da170087251aface1dbc9172", - "0x0000000000000000000000000000000000201a01367b862c45ba57aabe90a276", - "0x0000000000000000000000000000006242c06ca6844877f622da669895d8081a", - "0x000000000000000000000000000000000007e008d692476d4eb814fb8f610fba", - "0x00000000000000000000000000000013de6e7df5135ff688efa9d436ed802342", - "0x0000000000000000000000000000000000291c207e9ad4c322aa0711d30bde2f", - "0x000000000000000000000000000000dd165b3f058369e880294dc2d3f1548ffc", - "0x000000000000000000000000000000000017829ab7f82e60e0e4da95135e6e84", + "0x0000000000000000000000000000000000000000000000000000000000000b61", + "0x0000000000000000000000000000007b6222b3a18551d60b847957202de6c8f5", + "0x00000000000000000000000000000000001e26b96548b9f12369e9c3ec0eee85", + "0x000000000000000000000000000000025aac0bbaf1beff1c0500e3ec38d34c8a", + "0x00000000000000000000000000000000002c498aff2f95b25bb92e2c9360aff5", + "0x00000000000000000000000000000039d32590e9d6e0be118712b9402c606156", + "0x000000000000000000000000000000000026588627e22f203f6399975fb67258", + "0x000000000000000000000000000000097282335613efda63abaeaddc915f44db", + "0x000000000000000000000000000000000021b51f545ea031ad8c826962f52545", + "0x00000000000000000000000000000035a0536197418c2ba2c29a1830f709420c", + "0x000000000000000000000000000000000020f8cabd08dfc29e045e0b80eb42d3", + "0x00000000000000000000000000000099e53cda88a63b8e751a2bc253f7a689a7", + "0x0000000000000000000000000000000000231a514e7a4dd0e23c4faf8d567c77", + "0x0000000000000000000000000000002dac12ff4e48e530611ceb7a400c099e4a", + "0x00000000000000000000000000000000001ad1cb6dbbe8ea3dd6c4f44ffdce56", + "0x000000000000000000000000000000dfd19e74f4e4c641b3b3f623825ccd495f", + "0x00000000000000000000000000000000000ce4453cef94251418336baa54e582", + "0x0000000000000000000000000000007ad93fd648d3587168e2ba9ee66dbbf918", + "0x00000000000000000000000000000000000a7680894366d3b1755d14152e528e", + "0x00000000000000000000000000000008bf43eecffcec9e31d916289a212b8f88", + "0x0000000000000000000000000000000000216620e5bd7b177f3fa15ceeb2526e", + "0x00000000000000000000000000000021db86993540e76c420c850640a25f7d94", + "0x000000000000000000000000000000000017418ee5d4d58a54e7728b755757a8", + "0x0000000000000000000000000000000cf5f978296643872c59d00be3c23ad68d", + "0x000000000000000000000000000000000013e45088158c3bf8ac1f8e71eec154", + "0x000000000000000000000000000000768cc857ea136153788ffa81c07daddaf2", + "0x000000000000000000000000000000000014b992148ee6906cb3a1989f3c4bb1", + "0x0000000000000000000000000000000127e074cd6ea24f75f86f3ab119f9ae5d", + "0x00000000000000000000000000000000001719d1f7fc4645193b8036cf9a3d52", + "0x0000000000000000000000000000001fc48b67fb4ec9714cfe69efa8469d2faa", + "0x00000000000000000000000000000000002800a5c6aa06adba0feb138f51b7c1", + "0x000000000000000000000000000000626607acd3cfe08cec8ccec45fc27222a0", + "0x00000000000000000000000000000000000bf5451f8e8805b3e83e17c778ac8f", + "0x000000000000000000000000000000622ac3715a21583a169b4c635c162bdc13", + "0x000000000000000000000000000000000012374104ee9056dfafba40f457c0a8", + "0x000000000000000000000000000000f6c09b75f7561f7fbbd272af5d3efa974b", + "0x00000000000000000000000000000000000e0a7bd7a377bca3ff6c89d68a3e5e", + "0x0000000000000000000000000000009d165e9a47e021ab9760d27339570655e5", + "0x0000000000000000000000000000000000000b204b0dc1f11b52bb345fb52145", + "0x000000000000000000000000000000d4c558b53b27cb4c171f8a5eb0bd1e3a2c", + "0x00000000000000000000000000000000002f6870272192d541c1b8887b15a95a", + "0x0000000000000000000000000000008f4c64ade1e7b515b074c100d489415d4c", + "0x00000000000000000000000000000000000f9aca92beccde2e1b08c99ab92a6c", + "0x0000000000000000000000000000008be6976e9870523051d19531843262ce4c", + "0x0000000000000000000000000000000000277419877e0ba35217f219676b5656", + "0x00000000000000000000000000000051ec180d05026f2f62b1674ca2e1a2c142", + "0x000000000000000000000000000000000022264cbd2ea66b7766612864c5108c", + "0x000000000000000000000000000000f137ae2b224915db0c43de1611134011d0", + "0x000000000000000000000000000000000011877af1a2b9b35d6ac04c489fe3ba", + "0x000000000000000000000000000000935ae3a5a2c4a7aad8e94a7cf1c4bec70e", + "0x00000000000000000000000000000000002a56488e09fd406c14aca4acf2b4c3", + "0x000000000000000000000000000000e770a6c5c0093eb5de2e5aa8d173e9ef05", + "0x000000000000000000000000000000000005522908d6e06b02d6938a789bb5c9", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000b139df614924ddb845d70d642d94873569", + "0x00000000000000000000000000000000000084d02351f0d2b405f3af6092edc0", + "0x0000000000000000000000000000006c1123c8d14bdfbfa99f95d1fd0d9674f7", + "0x00000000000000000000000000000000002be519d31aea4dac51b16b3655b459", + "0x00000000000000000000000000000035b52a2f19454b2d02086d012cfc44cbdb", + "0x000000000000000000000000000000000027f3e1c4d5482e3b1ebcbc5e43d1d2", + "0x000000000000000000000000000000bc81f2a307249de2d56c3c8151aa3a4179", + "0x000000000000000000000000000000000014745d0c8957b03309ffd69c523944", + "0x000000000000000000000000000000d90966909da4a8611a68a5b2544044ee27", + "0x00000000000000000000000000000000002dda368cf4f8ae011ba33953ccdbdc", + "0x00000000000000000000000000000099fd8e2a4efaa0e979e53c6360f11a3520", + "0x000000000000000000000000000000000029023563407bf604b94f3d3b82e32c", + "0x00000000000000000000000000000095ced0bf10b79aec2651f808812961ce57", + "0x0000000000000000000000000000000000204601f003e0e59d1865597a5cdcd4", + "0x000000000000000000000000000000fd07b0a28f8510ae42eefbbd2d0136dc4f", + "0x00000000000000000000000000000000001e3aba113eb2b6e0d9a07cb16188c0", + "0x0000000000000000000000000000004496315acb001bd07077d5e61a5fd28f1b", + "0x00000000000000000000000000000000001a39ca40a2fdca943fd7c57ea59fc9", + "0x0000000000000000000000000000001a6e9238224f825fbe059c173514ee0fe7", + "0x000000000000000000000000000000000022f701f63bad50d3161322f8d104b3", + "0x000000000000000000000000000000e7cb0e4c388d5b2b1350a0c1b259d7c4aa", + "0x0000000000000000000000000000000000216c09ccaf44298565b3e593e3a7bd", + "0x000000000000000000000000000000d840ba780d73076cfaadb07a9a1a2cad8b", + "0x00000000000000000000000000000000002a887121806c1166b16f3aa9de6716", + "0x0000000000000000000000000000000e3b5cb0fc3e09ea8b4059e2a6109ff857", + "0x00000000000000000000000000000000001794754a1a61af4fa7976eefdac79e", + "0x000000000000000000000000000000dfef9deedb32693d7cc279f72cdc785d1e", + "0x00000000000000000000000000000000000e55622ad6ca63ffde7f64ed504b16", + "0x000000000000000000000000000000d08df7bdd8d57cb1d65728efccbbfcf607", + "0x000000000000000000000000000000000005f2689ecd1c3bf58c28357d95d48a", + "0x0000000000000000000000000000002d7d2927cc7e65b41792f5745ba169663e", + "0x00000000000000000000000000000000002b5f2432471d8c12ea391ac1a0bd12", + "0x000000000000000000000000000000773d8fd379e59dbcbab02af010d195c779", + "0x000000000000000000000000000000000008826f48f7b0250873af38fa8f7500", + "0x0000000000000000000000000000006165595d9a271241c16e0472c174fba8f8", + "0x00000000000000000000000000000000001c673e22bf04c83bddc2f02ebaae36", + "0x0000000000000000000000000000008d6afb067ac5198bb372113d34c56552fa", + "0x00000000000000000000000000000000001e08cbe1d21feee99c841191e54333", + "0x0000000000000000000000000000007646a1a3ca480b5d7322e5e4bb688049f7", + "0x0000000000000000000000000000000000269f2465562733cff2488fe75060fe", + "0x0000000000000000000000000000005524b80d26a1d910532fda24c2383f979b", + "0x000000000000000000000000000000000023bf14a9a6153ade3200bcc787ba79", + "0x00000000000000000000000000000038d56d2f4e530f74fb02bb70d781488b16", + "0x00000000000000000000000000000000001d1731444ac607cb0623133a479871", + "0x000000000000000000000000000000fe08dc45003f859a25494ba5135502e42f", + "0x00000000000000000000000000000000001e6d7c5b53a5e88d78640651a5c6a0", + "0x000000000000000000000000000000ddf4dedac0a43ba687e608b3e6081b8546", + "0x000000000000000000000000000000000004c2446dcf61c32ba4b038fe7365fb", + "0x0000000000000000000000000000004557b361ff0d6568e896319c496fbe24b8", + "0x00000000000000000000000000000000000668a26f50d3354953d4b2766e8020", + "0x000000000000000000000000000000ea507b90f982c43d39d3f699d22b1f7c4a", + "0x00000000000000000000000000000000001429723650e7543325ff8bef1c4ffd", + "0x00000000000000000000000000000049c19043bd4f1ef29d5413b1f118d0f722", + "0x00000000000000000000000000000000001d7ad7b3a27a9bc7992d806af0ebc9", + "0x000000000000000000000000000000f291d1109ea1f48586582a3767b0392cbe", + "0x0000000000000000000000000000000000026df82a517f9dabb3c389c07aebc7", + "0x0000000000000000000000000000000999c4e1d13eba177baf97921ee863ca58", + "0x000000000000000000000000000000000002f7f537a4f96f2ca4eb19a57f0b9f", + "0x000000000000000000000000000000dea34b6c529204f209cd1420a81a3102bb", + "0x00000000000000000000000000000000001c53a430fcbd4b95ffc23b6461fa15", + "0x0000000000000000000000000000005c0cab22cbb5bdccf85116184958790eb4", + "0x00000000000000000000000000000000001b715af5e709bb9f06822082ee3120", + "0x000000000000000000000000000000c77eaa3f49d17dfe395648540f4cd0abc6", + "0x000000000000000000000000000000000007df3cadf5a234989c3f0b92052395", + "0x0000000000000000000000000000009c11b61aaa7a95751ddef148053d00a6e7", + "0x00000000000000000000000000000000000f65d42148106db82a9e434cb19459", + "0x000000000000000000000000000000f99b662c4e3bcd3fdffb75cad5deb632e6", + "0x0000000000000000000000000000000000284f78ec2bc1c17ffa75e285ad4529", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000c5c5fddc6d03b2bb9af543e73695863c77", - "0x00000000000000000000000000000000002b03df11145d0fa2c23bdd7fb7066b", - "0x000000000000000000000000000000211136d196e61c110edd7e581be8645373", - "0x00000000000000000000000000000000000a2fb7ada300644cbf7b7d7f36de36", + "0x00000000000000000000000000000059a5cd5c1c2d2e7cac107aaf0123ae4f84", + "0x0000000000000000000000000000000000170ffa45422a2680cd492bad46789d", + "0x0000000000000000000000000000003c91ea4fe538abe3c344c3603398af1cbc", + "0x0000000000000000000000000000000000295e7a3f8df6111a6bd51041d5179b", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000585fcdfa31b424adfe685b43435cdc567", - "0x00000000000000000000000000000000002717439949acf883c385bc7c246dc6", - "0x000000000000000000000000000000b97f0f863a1005a5c88ba628c1d8bb1740", - "0x000000000000000000000000000000000001f73676f90fa92e0bd9ce8716cfb9" + "0x0000000000000000000000000000006c326bcc176f6bf7b61c67c607b538604e", + "0x00000000000000000000000000000000002e0df8ede24ac545f6f615607ae5a5", + "0x0000000000000000000000000000004810e97feaf203b539c161e31c09b9910d", + "0x00000000000000000000000000000000000e2612cea9f45e6238f1fcd8fe80e4" ] -hash = "0x103023eab6f953f6b7b9525f412e0bc1655bd72d5e4b46ded148c6137deb9006" +hash = "0x11197593d62d0e7554158b832253460bcc00da8b6551eb5d955ef72444d95a3f" [private_call.verification_key_hints] -contract_class_artifact_hash = "0x1d8791271c09cabf2ac9aaa6bd8095b473d90e367f72c6df771aa7a4ec960f9e" +contract_class_artifact_hash = "0x1d9e0e30582ed207c6ba761454f1f542d807eb0a2b35a50b23297a6db34e3680" contract_class_public_bytecode_commitment = "0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e" updated_class_id_delayed_public_mutable_values = [ "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -229,8 +229,8 @@ updated_class_id_delayed_public_mutable_values = [ [private_call.verification_key_hints.function_leaf_membership_witness] leaf_index = "0" sibling_path = [ - "0x238e2af83a65aa19075bf14aa7aeb0f681204a09f3756757b334f3061e238757", - "0x25ce89a823f16f35f08b6081a3ea3197c468941e46b7400ac6b33280b19cf251", + "0x2cc233639ce62adaea3ec034abce91a0b008ca3b50da04eb0789bf1f438162ea", + "0x0f60b735d348fd08a8da88fe4b04361698e2bca73fbebb6cc1fdcb86a4d03c89", "0x2974d8999d00928aa1378118756d6a4ba1368b1da89b2b1059c17fbb88ad21a8", "0x2e6127fb2bcf542677ed9dfc6cd90a61a075142999aebccf345c816aff3a1d92", "0x267a9c24e849f51869c93086ded207858dfb130344e1879a9d15d35096464824", @@ -238,40 +238,30 @@ updated_class_id_delayed_public_mutable_values = [ "0x2402a100768c2e339831cdb0b63e5c272a6f3318323a37642bea76ab5ea1ed0c" ] -[private_call.verification_key_hints.public_keys.npk_m.inner] -x = "0x025f9f657095ad240d89a28336e0f7be994c9f270d62c6a3228aa8bada12d01d" -y = "0x1a7e0782cbdd3ebc39b0bd4a33b5894cb3451bc52c2fadd70371ed8d81db479f" -is_infinite = false + [private_call.verification_key_hints.public_keys] + npk_m_hash = "0x00b1aa481847b00c84520d8703150e4ffcabef37bd6c690e2b2f0def0d234412" + ovpk_m_hash = "0x2f06e183807ba9785e51fc03048ad8578bc00a26557c98d6395da6d0a222ff05" + tpk_m_hash = "0x2a5642d242500c1704918b9a0b8273080ed77a05eb814254711ee48459fb417e" [private_call.verification_key_hints.public_keys.ivpk_m.inner] -x = "0x22f40cddddbd77c2aa6fead1b876909111a45ab1b5f69a48df1440764a7dcd90" -y = "0x1a6c5d7af83395c1e6c82ef8cb26ec6674f65cfb52521dae0b54130764bdf10d" -is_infinite = false - -[private_call.verification_key_hints.public_keys.ovpk_m.inner] -x = "0x2d41c74462094b1d13ed19ce294c4a39cdc7635080f32399494e5e796b663933" -y = "0x19944298156083d73fc78b3e628123fccead0fec542f0a55cfd319f2b77047ca" -is_infinite = false - -[private_call.verification_key_hints.public_keys.tpk_m.inner] -x = "0x2b8dc3a19be872d7c3b215f6b1716e586cdc99c79320ec3f5989233e0957fc39" -y = "0x13eec92e41aeeec0598539fbf7d94629cc58515f87507cb2638264f68be7c432" +x = "0x2c7112e002424a07f386ee65ea79eb477c96ca5b30a00a5a98360c0b9c33dafe" +y = "0x0459c95061c10cdb6d2e6a55872d820a1101881d8d07625d524cac97710a1373" is_infinite = false [private_call.verification_key_hints.salted_initialization_hash] - inner = "0x26ec6a326bed489e479823ab0ea1152729bcec7cbe15048c3e02a1e4309d4a68" + inner = "0x17a48cd849b95dbc8a26ff209bd1d3e80d011e9473beed095fa5a5d92def57fd" [private_call.verification_key_hints.updated_class_id_witness] - leaf_index = "132" + leaf_index = "118" sibling_path = [ - "0x10a274cd78b609bb9ff5960dfac7a0add8ccae279c81ec05441bbb8165d517dd", - "0x27047bd2479bc929cd5250e32e3b3e05f8cef863f7c8a349df77a9b2bf85588d", - "0x1d36a7e02b793d41e28f57b4480fe48b3f169b794f73d57683c7bfc4253da367", - "0x25c533089637cf9ecd3633dfcb0ee03be91faff3e02f51778cd5738264514c88", - "0x1d52af9cd9f69c1286e9a96fd498e736789a5bc463fceb1c176a4f9292f7cbe3", - "0x1ff1d5db01572c915915a22173c73d8073df9af4e4c57f6af29df5315da44419", - "0x070dcbac794fa663bc71b42d80775c0cea8c3ed7580207cfd30fd1285813ce07", - "0x2027713f7323f965c6751ce6c41f7759c9501fe781928b9507814d749cb86f25", + "0x013c095d61087adcef13cfdeb887287dba3806baf73093ee460023cfb7730f22", + "0x060b5c8a3d6c10c09c2c4ef7897592f838ac2433c4ca664adc73ae6bf507aff4", + "0x2523970382de270c1acd87f98b4ed454353257f9c689dc608f7dc1b6ca23741a", + "0x12bef12e0e192e65178ebf9707e29797e5afdace0a42a17d796d1c40e5b7501c", + "0x2edd4e68944dac758244213037fbe9d622c7c28d6070f16862b3e8986090bee4", + "0x1d5ea1a288ff1ff4cabceaaa2f93eda378a5fb0a2a55423f4d4d205969181931", + "0x23b80d0ef13d744a52faabf5651164d28f7faf902653e41a35472eea87936e6e", + "0x1ff2ba9f5f44162476e89f994a79debf4b9af550a887b5b484d18f5997553566", "0x16c8aff52f0422f4bfc502620fe15dd6a4de67637563b7a8175f2d5727d268a4", "0x1c76b6744bc3d6b1cd4b53459a08b4959643c0768fde657299fcc82e2732f744", "0x12a6fac0fdfbd7897d8fe955f454cdb309ce8597d647ebfd0ba614c4eb215581", @@ -307,13 +297,13 @@ is_infinite = false ] [private_call.verification_key_hints.updated_class_id_leaf] - slot = "0x1dbe81fde1f18bf3e8828a3595c65a1ee32397477e23d9c5c9e4c0386bbb4a2b" - value = "0x0055534400000000000000000000000000000000000000000000000000000000" - next_slot = "0x213a03911d28297ad85626532672b56d721f6e4af4e78d6f156cf1cb98482089" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000086" + slot = "0x041ecbe21bbbbefd34a95c40b18be9f5fca1323072eeea3a6f5d0136c2a71969" + value = "0x00000000000000000000000000000000000000000000021e01e389dbb1028c00" + next_slot = "0x07e3196f3e5be886c078da1e359a784f0451f3b454344a3c6482a090708f2547" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000087" [app_public_inputs] -args_hash = "0x2237e42a84e35fc9371ec568e04d6db13130f02f527e0cce6f78ebf038f70f5f" +args_hash = "0x04a65dff28c7219e24a65785e4145db8afe036681c48c8348314e2eeba1c56d3" returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000002" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000007" @@ -321,7 +311,7 @@ expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000 expected_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" is_fee_payer = true -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069ff2940" +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c7f3f" [app_public_inputs.call_context] is_static_call = false @@ -330,7 +320,7 @@ expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000 inner = "0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000" [app_public_inputs.call_context.contract_address] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2" [app_public_inputs.call_context.function_selector] inner = "0x000000000000000000000000000000000000000000000000000000009d57a239" @@ -340,7 +330,7 @@ expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000 [[app_public_inputs.note_hash_read_requests.array]] [app_public_inputs.note_hash_read_requests.array.inner] -inner = "0x29ecb485abf1e4a9963bb4dada6e8b67bda9c6bb09527ecb8d0c64a0d119e0fd" +inner = "0x302a86bd5883e95684cbcd46af941e62a60b0416ee605f00eae4a0189b8af2ee" counter = "0x0000000000000000000000000000000000000000000000000000000000000003" [app_public_inputs.note_hash_read_requests.array.contract_address] @@ -604,178 +594,114 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [app_public_inputs.note_hashes] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1113,13 +1039,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.public_call_requests.array.inner] is_static_call = false - calldata_hash = "0x16acf8ee72d77f214e5286307ed2710fda25445374c38debbef546a746b679ce" + calldata_hash = "0x00a5e40cab902df3efe088094577e83eb92103581c990f351edf1dfba3778905" [app_public_inputs.public_call_requests.array.inner.msg_sender] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2" [app_public_inputs.public_call_requests.array.inner.contract_address] - inner = "0x16fc6ad8c94527d45832bb8631b0c1dedf3218fe7c3ca04e01850a3eff6a511a" + inner = "0x1be490a4b344f41827e94113f628fb311efc1abac19bc1e84b08fd578708964a" [[app_public_inputs.public_call_requests.array]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2055,50 +1981,50 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" length = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.anchor_block_header] - sponge_blob_hash = "0x13a1bf44c19e7c2eb7fc1a96527d072cf424bc99c760e392f4abcecc1fc597f8" - total_fees = "0x00000000000000000000000000000000000000000000000002b26ec5db7a7140" - total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a3979" + sponge_blob_hash = "0x07b265010fd2cc21c16b1d2594ca99672e2cfff5ca81945b3a0831755b42379f" + total_fees = "0x0000000000000000000000000000000000000000000000000035dd7429a09780" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000722f4" [app_public_inputs.anchor_block_header.last_archive] - root = "0x0d18996e508e8c1e51f6a56652cc5d71169450ff16c25de9af7f79af5385e334" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" + root = "0x24b436e53660fa0ce7ece2c6a741d91157cbb61a10885ac29d14d58cd3180af8" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [app_public_inputs.anchor_block_header.state.l1_to_l2_message_tree] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" [app_public_inputs.anchor_block_header.state.partial.note_hash_tree] -root = "0x1c223e428d6faa36822890e3b99417ddf73ffb069bf4c44b6ae9d7fc741733f6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x2ec6c12dea917fa19ec74a89fa547c25e2894a67f1d0f6b816fb105662287c8d" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [app_public_inputs.anchor_block_header.state.partial.nullifier_tree] -root = "0x01c778a6b3dcb1245bb0aee174252dd95256e67309f952e5d2f8cbafffe20d0f" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" +root = "0x144143122fcbe95a5aab0c5c25ba91279b425eb8f5dff6ff7fcc2fd9eb65aa64" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [app_public_inputs.anchor_block_header.state.partial.public_data_tree] -root = "0x134e44df49ddb89525046d19bcfc2734c78e419994de9d6f7467eb84d02d1060" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x19208383914fedc1cee3bbbda84965791ab30ab104aca7d2f9131dd853eba7db" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [app_public_inputs.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x0000000000000000000000000000000000000000000000000000000069fdd7c0" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0b2dbf" [app_public_inputs.anchor_block_header.global_variables.coinbase] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [app_public_inputs.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000004386faeb40" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" [app_public_inputs.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" [app_public_inputs.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-inner-2/Prover.toml b/noir-projects/noir-protocol-circuits/crates/private-kernel-inner-2/Prover.toml new file mode 100644 index 000000000000..d52c721bb422 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-inner-2/Prover.toml @@ -0,0 +1,10000 @@ +[previous_kernel.vk_data] +leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000041" +sibling_path = [ + "0x12c59c16ed84032f7c5273ff19d7a05e8e861c23959fb71cf4b2c6ac45d21f8c", + "0x225eef52a484280b0f1c6cb9f90a84dc301536c01bfa4d61bd6496b3eaf19052", + "0x0e084e8198288b2ff94eaf4d6f37fba06e430a879dd37c726a3b5a65416fe6b6", + "0x30105bad22ddcc508b739b7c9ad87a561c569ff5cb0098a853c1c4ac21b7a037", + "0x1e20ad4181460cbfdc74ca773502c59b890f184efe300ebad895956d318422da", + "0x1434e6e2d5db1053ab8a3be58704509c799ee17e109c77f441f7bf1755400249", + "0x0e9cb07dc8495e2adab02c5db0e34a0dbe42e9b473e0462641c54f73a4a4fdd3" +] + + [previous_kernel.vk_data.vk] + key = [ + "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x000000000000000000000000000000000000000000000000000000000000001a", + "0x0000000000000000000000000000000000000000000000000000000000000cbd", + "0x000000000000000000000000000000c4d62213b081c8e90e6c8f3587321997f5", + "0x00000000000000000000000000000000002236a0b9f0654f7cd634c9c34280f1", + "0x0000000000000000000000000000007cb00736872fd50e291ec99fb640f1f7d9", + "0x00000000000000000000000000000000002d1b1b74b74ddf7d6f964a7bdb2af3", + "0x000000000000000000000000000000f26bcf89c86dcbce68a4f1b5b73505dcec", + "0x000000000000000000000000000000000011a128ae6c7be3a962485534f27786", + "0x00000000000000000000000000000088278f8cce72a5f698601f11a1532a9dad", + "0x00000000000000000000000000000000000d9caeabde23d8c2a0bd2cdef54193", + "0x0000000000000000000000000000001cfb29930f6753e5cb6a60342c16fe5e4f", + "0x00000000000000000000000000000000001022a2847e12bdd43b96342e5b8e16", + "0x000000000000000000000000000000fefee7789c5b50b89ce3ac6155975c4319", + "0x000000000000000000000000000000000002e25d02799b225c89aba3a667d7e5", + "0x0000000000000000000000000000006e210889b06205312234c097f979fca3b5", + "0x00000000000000000000000000000000000566396dc1f8e15f3a1c3729bb3393", + "0x0000000000000000000000000000009790f776d7aaecbcaf977d3aad6070c4e4", + "0x00000000000000000000000000000000002dcdeaf93e01c780512d9950fbfd94", + "0x000000000000000000000000000000d2ef194a7b605db9c6df08b9576c97735e", + "0x00000000000000000000000000000000001ff98ab3818a3d5fdc538a7bbeb87e", + "0x000000000000000000000000000000be40a925ee773bfc3923df01da59a497d7", + "0x00000000000000000000000000000000001fb52b895f997b5a90ea722d9a4140", + "0x000000000000000000000000000000dd5a7d1074be39e4451795f983d45b5be3", + "0x00000000000000000000000000000000001cbfd5b0d763096343af10ed1f3496", + "0x0000000000000000000000000000007cc56b953bb8ef24745e9200896ee10ee1", + "0x000000000000000000000000000000000001ef96b3ae0b2677b21939012dcc17", + "0x0000000000000000000000000000004ba56f98fc7d6d956bd6302ef6941f9239", + "0x000000000000000000000000000000000010bf82473c11a65eb2ac193002bfe4", + "0x00000000000000000000000000000072739ba831885d7f767251b9cc444961e5", + "0x0000000000000000000000000000000000256ea7e1dc188341f8692fd52454cf", + "0x000000000000000000000000000000a284c1c0bd5602eb7242fda659dc49ff99", + "0x000000000000000000000000000000000002e5e663dd3bf5f961173646b8e7b3", + "0x000000000000000000000000000000194cc54081bb3ffba3c67547dcb2db4d37", + "0x00000000000000000000000000000000002377042c75bab3ceee3b186c40b8b6", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000f0af57d5589fc84e1f8897bb5a62ec0ea9", + "0x000000000000000000000000000000000016583df9856bef930ef0a81d3357f0", + "0x000000000000000000000000000000e0a92aecf729c58fa7672c82066409d090", + "0x000000000000000000000000000000000010085406672c105a10ddee00634540", + "0x00000000000000000000000000000036b650e61cb6e0ec6ff6b1aef12c8c81e3", + "0x00000000000000000000000000000000000049ced3703b6736736daa8d94d66c", + "0x00000000000000000000000000000024e41b443846d1b9d969a739fe9ec5544d", + "0x0000000000000000000000000000000000251ef94ce2811e61503920adc1a548", + "0x000000000000000000000000000000ab378c4d63d86a750348adbd4cbc2c6883", + "0x0000000000000000000000000000000000079aee0bbaec8a7e39acda8a2bfd44", + "0x000000000000000000000000000000c4996ccb316a1671fa17ac0ec536c08aee", + "0x00000000000000000000000000000000000087a93f4353d8c6e85d6c58c7af49", + "0x0000000000000000000000000000002754983ee3f30f64f3ef3d6a27f671032d", + "0x00000000000000000000000000000000001b77b7da696321894ac402dc70a471", + "0x00000000000000000000000000000065a8c950362ff55e55d6006254e4cb8f60", + "0x00000000000000000000000000000000000a0eb81f69be92cc51ba479d4d4b2d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000003a6dc78277b2838aca18adc58385b4a7f0", + "0x0000000000000000000000000000000000132c99e752833cae9473e7dfe278d0", + "0x0000000000000000000000000000003ec707e1f4369d5f99a3bac8eaa16ec4ba", + "0x00000000000000000000000000000000001cd77155c0a5e65f942f719c8e73f5", + "0x00000000000000000000000000000084604af6454cd074b40340a0900f8e47cc", + "0x0000000000000000000000000000000000077d31bdfcd802cd5aa1a457b97f10", + "0x00000000000000000000000000000099c886edf1320d2f8eef9c059a2495598d", + "0x00000000000000000000000000000000001400c2b452cd839ce363493a76312b", + "0x00000000000000000000000000000090681337eb7720ddc934e8bcc81bd9ae2b", + "0x000000000000000000000000000000000006ab19688014b0f0cf860c615759af", + "0x0000000000000000000000000000007165a99470ed5af56e75a9636be648e93d", + "0x000000000000000000000000000000000009dbbccaa2350bd92c5ce19b5d290a", + "0x0000000000000000000000000000000e1e042ed81d839a9f0ead9d291b6a8f32", + "0x00000000000000000000000000000000001a205aec8c334db49f816f4b5dafcd", + "0x000000000000000000000000000000ebb4edb0db1dcdf348033a7901a3680b6a", + "0x000000000000000000000000000000000011aae86275b822ebd3fa82c7315eff", + "0x000000000000000000000000000000e97eee8ec09b50e69135709916aba933c6", + "0x000000000000000000000000000000000010e2e96f78a68fc25ba2e4dafd04cc", + "0x000000000000000000000000000000b214f0a5321e8817d78adb6e0c20d7319e", + "0x000000000000000000000000000000000025bc9ba17b749d567d90e8f13af9a2", + "0x00000000000000000000000000000066fba7ba25f999f6f2838e553a29901fa7", + "0x000000000000000000000000000000000020711b883c2eb028f9d2d3da010519", + "0x000000000000000000000000000000a140d481bdc261d13949520f9ec7371c20", + "0x0000000000000000000000000000000000020bfe682fa3abc7653ce6853b0112", + "0x0000000000000000000000000000001b2bf2cbcde5d02c025a94db3378725693", + "0x000000000000000000000000000000000023e613dfd6966df7487e58fd52480c", + "0x0000000000000000000000000000006e2eb63e8f0cbcbd7a88665a53e119e428", + "0x00000000000000000000000000000000002e70d3962ba79ea7ae10b168c1c7d9", + "0x00000000000000000000000000000030517d9ecfee899135ff976333894660c2", + "0x000000000000000000000000000000000007417244ffad99a470ba89eb0ff90e", + "0x0000000000000000000000000000009bac28f405d40e017edf00277102b49c3d", + "0x000000000000000000000000000000000006b41a5fb6e909b8be3ff0dd952728", + "0x0000000000000000000000000000006683ae1c70f7eb680544f4c342c93087f1", + "0x000000000000000000000000000000000025f0aabdb61ed9c3922c0edfb358ec", + "0x000000000000000000000000000000351b5aea3d5e9850880e66335bcae23e94", + "0x00000000000000000000000000000000000ee72d3f7aca6bbe97267028d6abf9", + "0x0000000000000000000000000000008928d9a8e7f72b161cbe49ae95aa21ae63", + "0x0000000000000000000000000000000000185c141dba0abcf1e6d7db09787ca1", + "0x0000000000000000000000000000003e245e17b3e7805608abb6a2350fa6a847", + "0x00000000000000000000000000000000000cf54864a0d0738294136903b96823", + "0x000000000000000000000000000000f11eab4aad68f934214988cc4f58d5a6a2", + "0x000000000000000000000000000000000022f67f7b7d5406007bb7ddae120884", + "0x000000000000000000000000000000c05dc37331557bb9a3f702d92cfe090666", + "0x0000000000000000000000000000000000264629b4e2c6c2614bd57046d2ac8b", + "0x00000000000000000000000000000017305f321100b05a42b9014b4b5f033fd9", + "0x00000000000000000000000000000000000300f05e18d0c58963b144d3d28da6", + "0x00000000000000000000000000000039e8490810fc737b4a353bb67d95baa83c", + "0x00000000000000000000000000000000001b8f101b87ef8f67f87224f50b4e86", + "0x00000000000000000000000000000048da15030eaa7e0cc01567e721d66ead43", + "0x0000000000000000000000000000000000126b3927169eb104827c842837f462", + "0x00000000000000000000000000000008b500094a5820c680fb1db8c125502e1e", + "0x000000000000000000000000000000000000660eef61b7d219f439ec4fbfff1b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000001115e1df83c7f85610477a243a350ad610", + "0x000000000000000000000000000000000016b525f879d97a8d50cab6d1a41d58", + "0x0000000000000000000000000000005545bbd9cc9de7a79986b650103736492e", + "0x00000000000000000000000000000000000aac06f3452ec0a5be2b5e3060f108", + "0x000000000000000000000000000000c6e13ef9aedec4af73a577a6dd72dda690", + "0x000000000000000000000000000000000016b603e70199deaa1eff742257259f", + "0x000000000000000000000000000000dd7902c16a885b205f012abf38e3f9f470", + "0x00000000000000000000000000000000002a45b4a48e9544c186e119184fd191", + "0x000000000000000000000000000000882d0b700868900a984b8a8f100e96bc7c", + "0x00000000000000000000000000000000000abfe4989e01ac99945d20ac56ed24", + "0x000000000000000000000000000000ceb31f078b322681c311c51b7684078b7e", + "0x0000000000000000000000000000000000041b07ce00654c923848301f5fbbd8" +] + hash = "0x1e580df70c4374ef9942846936ab5fc2d7da61ca21bd0576f269746152a782c4" + +[previous_kernel_public_inputs] +min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0d84c1" +is_private_only = true +claimed_first_nullifier = "0x0f03b3ad77a1cb11c580c3ed7f69278d1374df07f295fbb4d71640819c7732cf" +claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" + + [previous_kernel_public_inputs.constants] + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" + + [previous_kernel_public_inputs.constants.anchor_block_header] + sponge_blob_hash = "0x2a15dc7ec43b465bf99f54afeddf01deb1956bc1b168dca0dee3fd42651c066d" + total_fees = "0x0000000000000000000000000000000000000000000000000035dd7429a09780" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000722f4" + + [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] + root = "0x17bffe007799492e080dedbbd1c0537f2cf07c6da475964e6ba2ac1238ca18b4" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" + +[previous_kernel_public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] +root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" + +[previous_kernel_public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] +root = "0x0dc9959e45144b0bff03308b20445805d413ef104b8c1cffec0df82fa026ddac" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" + +[previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] +root = "0x0429ae2142380c233e3eaae7cb2139acb56e5f1655f0c0869a2c86b61945ac79" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" + +[previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] +root = "0x2e98690a14fa5e0ac8d56a825563ca3e2331f9be07e1e2065af4aaeb5fe569d2" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" + + [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000fb3702bd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c3342" + + [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] + inner = "0x000000000000000000000000aa302018c588f8a0cbf1c93ef6e17276cf33d1ef" + + [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" + + [previous_kernel_public_inputs.constants.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000fb3702bd" + +[previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" +l2_gas = "0x000000000000000000000000000000000000000000000000000000000063cae0" + +[previous_kernel_public_inputs.constants.tx_context.gas_settings.teardown_gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000018000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" + +[previous_kernel_public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000336bfe2ba6" + +[previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x2c78cadfe08eabbb0e2a15b62eefd07a08cbc1631fa2be7962fd219308d9f1e3" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0d6429ccd33eeec2a03a7b2f78d6c901ad9406bf2058231382147de5014303fd" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0b286a1c928fbe1ca3be78fe2f2bd25a2eec7f5f15c2757a2db53b2a8d499358" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x1cef6885d1ace5a36534202d1f593b94ac0876ff4933745085ad62da062a3b5e" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x2ccc3471349063b3b0c5a6362e0dbfc3c21b534f84fc963483667b32840e259a" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0ad78bd90b0e2e0887928b98b621517d04a6bddebf6b20bdb76ddd8aec6f05fd" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests] +length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x01d1d92b90682f39cf6b9ed768d21409cc7142c7b1dc75f647c0f3680bc71695" +counter = "0x0000000000000000000000000000000000000000000000000000000000000003" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests] +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators] +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes] +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers] +length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x04868546b55cd61db182599d47524c126a6cb4acc069435e1bac39c4920db227" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs] +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs] +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.contract_class_logs_hashes] +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.contract_class_logs_hashes.array]] +[previous_kernel_public_inputs.end.contract_class_logs_hashes.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.contract_class_logs_hashes.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.contract_class_logs_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.public_call_requests] +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_call_stack] +length = "0x0000000000000000000000000000000000000000000000000000000000000002" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x06a98a2a35aa4722fcc00b92195e61295f6b1c621792fcfe00191381a31178f8" + returns_hash = "0x20fd6cca0f81d2e3d2192b45a0208ef249e8032b9785fe9ecfed10beb1d36cb5" + start_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000d" + end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000f" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x1f3be138a5383c5ae6bfe93f200978857538b2100be1f25186f9da6e3e304d67" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x023e27ffe99ffb57c23b47f77298a16e82b8166a3a052ce3217b06f27a693e8d" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000080d3af36" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x06a98a2a35aa4722fcc00b92195e61295f6b1c621792fcfe00191381a31178f8" + returns_hash = "0x20fd6cca0f81d2e3d2192b45a0208ef249e8032b9785fe9ecfed10beb1d36cb5" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000008" + end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000a" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = true + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x023a62eaf4ce3a8f2752add0746950be81e1f647953b1c21f038c8c2f5d94f4a" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x023e27ffe99ffb57c23b47f77298a16e82b8166a3a052ce3217b06f27a693e8d" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000080d3af36" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.public_teardown_call_request] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.fee_payer] + inner = "0x1f3be138a5383c5ae6bfe93f200978857538b2100be1f25186f9da6e3e304d67" + +[private_call_0.vk] +key = [ + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000347", + "0x000000000000000000000000000000865f30019df603aeaed1c1d8e3c5cfc175", + "0x000000000000000000000000000000000008662c67e18149c024a3bacb2df682", + "0x000000000000000000000000000000bceab00d2d8bdeccfcd00a84a861dbf39d", + "0x00000000000000000000000000000000001650219ec9e8be886bcb85c38d4717", + "0x000000000000000000000000000000a7cf43c352dad6bf77469b1404e60e06fa", + "0x00000000000000000000000000000000001e546982146e898c6328ed6d1371e1", + "0x0000000000000000000000000000001a06adaa7ecf9f08773589e813e35a54ff", + "0x00000000000000000000000000000000001c0ef1e79d844f4ab04f853ae8970b", + "0x0000000000000000000000000000008ea0bed66d661f737dae9432cd211a55e8", + "0x00000000000000000000000000000000000455426a9c3b08ca2e8043336f387c", + "0x000000000000000000000000000000ea82e69a42b2d1019e9d8f9451913ac042", + "0x00000000000000000000000000000000000b08dca1909630d4e2adfb1d5098ea", + "0x000000000000000000000000000000fe7390b3fc62d2904ab863c97613a9f3f4", + "0x000000000000000000000000000000000006adef037868832479f56eb00ae2f2", + "0x000000000000000000000000000000371199c3359a930d0544c57f5981a56353", + "0x00000000000000000000000000000000002529cfbf41f326259cc2e28d6add58", + "0x000000000000000000000000000000c19a28af19d8043033aa6812430cb850f3", + "0x000000000000000000000000000000000010657456725ca7293b6c6a68b9b3a1", + "0x0000000000000000000000000000008cdae9bdd9a5ac55371cd8bedc86674c6a", + "0x000000000000000000000000000000000003b620a70ee10a1a00426d2d81e5fb", + "0x0000000000000000000000000000002806b12269d372065ac3b1166be1033175", + "0x00000000000000000000000000000000000d1b9812f91483c4dc99dd47842f14", + "0x00000000000000000000000000000079bde04066ea11cbbbdbc610b17b7ea716", + "0x0000000000000000000000000000000000172ed63b113f0b9ed00943690c10db", + "0x0000000000000000000000000000003d2554e7d5b58b0dcb37e36b8db350e8ef", + "0x0000000000000000000000000000000000093de1b2590406402c4caa2b0d400d", + "0x000000000000000000000000000000632862715830705b58ea13d3626158f43f", + "0x0000000000000000000000000000000000291028929fad3a3b92603079664d39", + "0x0000000000000000000000000000001fc48b67fb4ec9714cfe69efa8469d2faa", + "0x00000000000000000000000000000000002800a5c6aa06adba0feb138f51b7c1", + "0x000000000000000000000000000000626607acd3cfe08cec8ccec45fc27222a0", + "0x00000000000000000000000000000000000bf5451f8e8805b3e83e17c778ac8f", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000043cc5bf77e079b00db695cb77a0c27a755", + "0x000000000000000000000000000000000007bb974c2dca9f3583a7be610d27bc", + "0x00000000000000000000000000000097720e9504d37f0a32805569a8ef675230", + "0x00000000000000000000000000000000001d16d8825fcdb521746bb4c658a29f", + "0x000000000000000000000000000000872162f7d2ba720e691b5387dda2393047", + "0x00000000000000000000000000000000001b2d2710296ae242e420846aca6d30", + "0x000000000000000000000000000000e7d1fce90f172eb4ab5489d9241a8919f4", + "0x00000000000000000000000000000000002477d0d688545e7884c3d0f4926e75", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000e242c52613ef515743130929408b8395eb", + "0x00000000000000000000000000000000002f00c020f75dd48c87ed413a77180f", + "0x000000000000000000000000000000ea7902a077cb96eeabfc420359b9be6db3", + "0x000000000000000000000000000000000015628feadf61afbd89f5d0b872b2c3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000e6ff3a4cd8afe4ac9de0176a552fc09c35", + "0x00000000000000000000000000000000002259e282b0d22c622181e3d68e4322", + "0x000000000000000000000000000000eb70dc3306d84c664e4b10cccd60a9899a", + "0x0000000000000000000000000000000000270322a73bd1df2dbc3114462eb34e", + "0x00000000000000000000000000000039f2a727db728fb54b63a5a2dc525fd924", + "0x00000000000000000000000000000000002db1e2eca29501192e304da4047a17", + "0x000000000000000000000000000000e748ef8209f555579c98c0f60d798fc768", + "0x00000000000000000000000000000000002cbaf388ead0bc80dba57d2b1e0a6b", + "0x000000000000000000000000000000431bd61e90ed225a41f3992f2ec05406f2", + "0x000000000000000000000000000000000018335cb5d014bd80d4454621cdfbc5", + "0x0000000000000000000000000000000617b8aab9cb8f83be590c7c713c67c2ff", + "0x000000000000000000000000000000000013228c3be2488a8b526ac67437dd1c", + "0x000000000000000000000000000000e3e6fb8594f3d96a4e3b90eab96051bfab", + "0x0000000000000000000000000000000000041115da2e46ed09c4904290ce2f28", + "0x0000000000000000000000000000008dc24ee445f72e75590d77c59c2502c325", + "0x0000000000000000000000000000000000278df9d0273f8abe29181cb2097566", + "0x000000000000000000000000000000d779f5665a6d8739e46b9dbaa1fbb1d861", + "0x000000000000000000000000000000000013ff6895fed419bcb47b05aab16230", + "0x000000000000000000000000000000d8e0764f92f389448cc165a0d6c4031ee5", + "0x0000000000000000000000000000000000262984e59a1b92af14b9a461b32ab6", + "0x00000000000000000000000000000063a63c160d8a803a0aaa1797164c10eba1", + "0x00000000000000000000000000000000000c0ac58d8af92cb4105a1e3b3e8859", + "0x000000000000000000000000000000a040bfc1e24982ef134ebf0f974cc16f63", + "0x00000000000000000000000000000000002fd203a2c6c8f3f7b65cf7dd2124de", + "0x000000000000000000000000000000af7bf5d17f14cb02d020a3338b5ac8185f", + "0x00000000000000000000000000000000001f1e62776c318cbeac47805ea72d38", + "0x00000000000000000000000000000027865898be950dc50fbf51a531deeb66d0", + "0x0000000000000000000000000000000000304e7951f51b85f00e58e95ad211f6", + "0x000000000000000000000000000000fe0779b92c0bcb7f02ee39a0aa8ac50741", + "0x000000000000000000000000000000000022f9764c1c492c3a5743c994e8c712", + "0x0000000000000000000000000000005cb8a0df70faf6225ba47ea58cc69931ee", + "0x00000000000000000000000000000000000458fd9ec786e9a8af6300297d33ac", + "0x000000000000000000000000000000621fc10d8a9e4658642abd6cf5e17172ed", + "0x00000000000000000000000000000000002c583db8d2e51e9a7e91a19f89448d", + "0x0000000000000000000000000000009db8a71852e36b1d16f89c6fa435764de7", + "0x000000000000000000000000000000000006f24d141ba33dcfd7be7353938779", + "0x000000000000000000000000000000e29b7681545a3aff6ca4c964fa138485b0", + "0x000000000000000000000000000000000001ad9a17d78c8c41e7a9333fac80a8", + "0x00000000000000000000000000000098a0fab1f65c3b55a29b3258e290692ff5", + "0x000000000000000000000000000000000007e2e68bdee42d0f878077d5380a29", + "0x000000000000000000000000000000105cec7ee17bd10a991deb8da3dec94834", + "0x00000000000000000000000000000000001edf9dbf6f0fa27c8382b88eeaa7ad", + "0x00000000000000000000000000000084bb0cbfba6eebc0a0492e0aa234700dfa", + "0x00000000000000000000000000000000001d5edc6e61f842ccc7d3ddb54e624d", + "0x000000000000000000000000000000defe1347096986ac6d98a339f30b4c79a4", + "0x000000000000000000000000000000000004d963817920de50753220dcfc0f39", + "0x000000000000000000000000000000136a1458f0c92ec89a5e9320fd1c6e898c", + "0x00000000000000000000000000000000002860427d9f6b7ce48fe90398d3ce14", + "0x000000000000000000000000000000ee77d7fb9e9d8be2914e33d3561c617025", + "0x00000000000000000000000000000000001ee9005f891b0f488bbc9d6b89c6b2", + "0x000000000000000000000000000000c070442f554a223e1dec049b9e101b1338", + "0x0000000000000000000000000000000000082c84c85011f35d945335ca2ba917", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000026c53007876d885d7cbb2375814e9947f", + "0x0000000000000000000000000000000000149684831934ae61b89fa614a91503", + "0x000000000000000000000000000000ff682c870fdd41c2a48b43f4042246343e", + "0x000000000000000000000000000000000004ad1447334cc38d8422f7c6c3b72e", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000006c326bcc176f6bf7b61c67c607b538604e", + "0x00000000000000000000000000000000002e0df8ede24ac545f6f615607ae5a5", + "0x0000000000000000000000000000004810e97feaf203b539c161e31c09b9910d", + "0x00000000000000000000000000000000000e2612cea9f45e6238f1fcd8fe80e4" +] +hash = "0x02326db3f4292bc2483b97dc307b6d2f12920e3044ae9c04a1e662de1b5ea0d7" + +[private_call_0.verification_key_hints] +contract_class_artifact_hash = "0x06c89aad50296e10a3cf790b9d73c854d096b136adb7cdde89447ef5591392f3" +contract_class_public_bytecode_commitment = "0x1d694c92cbd2f2f8a373c90582a93a2889a43d04c84a4a0147c606655ae98dc5" +updated_class_id_delayed_public_mutable_values = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [private_call_0.verification_key_hints.function_leaf_membership_witness] + leaf_index = "1" + sibling_path = [ + "0x2a8a5b5b00b3298df0d362949857e44d9ab6dbe13517f17dae4d718eb429644b", + "0x29a39e8a923a570c2ff08365769dc6b9c551d550ee0e1a351eab6e04cd0df0a3", + "0x2974d8999d00928aa1378118756d6a4ba1368b1da89b2b1059c17fbb88ad21a8", + "0x2e6127fb2bcf542677ed9dfc6cd90a61a075142999aebccf345c816aff3a1d92", + "0x267a9c24e849f51869c93086ded207858dfb130344e1879a9d15d35096464824", + "0x1eb5f748aca7413c8875abf2789be0a1aec323884a365d9a59a1859aa2bce94e", + "0x2402a100768c2e339831cdb0b63e5c272a6f3318323a37642bea76ab5ea1ed0c" +] + + [private_call_0.verification_key_hints.public_keys] + npk_m_hash = "0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a26" + ovpk_m_hash = "0x0e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b" + tpk_m_hash = "0x082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0" + +[private_call_0.verification_key_hints.public_keys.ivpk_m.inner] +x = "0x00c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c" +y = "0x1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb151" +is_infinite = false + + [private_call_0.verification_key_hints.salted_initialization_hash] + inner = "0x16e38e91838134a964d7a5a42f03951c253f10dc548680d7d77a4a6ab193d8b3" + + [private_call_0.verification_key_hints.updated_class_id_witness] + leaf_index = "120" + sibling_path = [ + "0x03948d03e299b62ec468a36c5aaed9b2ec99de1ca6f891b5e35a38b224e0241e", + "0x26fa5749dc6bf5ae73016be4123dd8999a6f2f3b0c83000fb2957b91517a9a3f", + "0x159012fcfa91ebac3d7456369b7ef07c234cdc6450d29b3dfa36b3bfb255531d", + "0x23b7b4afca7eeb88b7d797b2fddc90b144e51b508e702e39ec4af07a6049f4a5", + "0x2edd4e68944dac758244213037fbe9d622c7c28d6070f16862b3e8986090bee4", + "0x1d5ea1a288ff1ff4cabceaaa2f93eda378a5fb0a2a55423f4d4d205969181931", + "0x23b80d0ef13d744a52faabf5651164d28f7faf902653e41a35472eea87936e6e", + "0x18ac27f81c0a8a78e77797c10cab4fbade9633a67765586f1bf66e2eb833a029", + "0x16c8aff52f0422f4bfc502620fe15dd6a4de67637563b7a8175f2d5727d268a4", + "0x1c76b6744bc3d6b1cd4b53459a08b4959643c0768fde657299fcc82e2732f744", + "0x12a6fac0fdfbd7897d8fe955f454cdb309ce8597d647ebfd0ba614c4eb215581", + "0x002b13fd827e0e0d6b4b44c63fdeaf75cfed5190728ff712530f5f0f6f92b1e4", + "0x1b61a4759569c7e380534b815a326c2f0614ce68188b3421b09db1a560349f4b", + "0x24faee168ea3e7ce5d9d22f24679594896a633ca5d12947fbcd2c28b1d27f94e", + "0x2c0e30deebb4fc9949601b0240d319424d3169290c5cd22c49c2f80b43491c24", + "0x1633b0cb253526da43ee63f3ec7a5ff4c9122f6f6ff53c5be3d6ee7e1daa7a4b", + "0x21a12dfd04d263a6a93feb45f10ae47f6142e9e0e29d66c20581bfa463983f43", + "0x0d02013ff44b6cc6cf983824fe5104671333c8243de05421c7a94033b02ef493", + "0x2f99a81e7faafb4d396d0cc32fe7e024c191325432ec3deb26878c8e69aa8a74", + "0x0f608351d05582fbead9c229631e4225305201e70d552a4c23915db3263507e3", + "0x1a85d719ace8c684b69950b47b17fb4b8a67b4454a5a8ff68bc33c2da4db4ce6", + "0x0ca806e767c92a5a84ae7fbc87886017fd616d5bb9944e76cb744051e30f8653", + "0x2dcebbd4d2afb62103883556c608e2ab29a0741ff744317f74d74ead537241db", + "0x0ceca69e0225bf70d28927ed19b793b034137ed87c901dd468a5c7d019b0c5a0", + "0x1983e65b490c4c4a2f0ba1bec5cf90a4cef0df719453e3c781d6310e7cdbcdd4", + "0x076cd8d40f992539f8034583bc6f2875f14eede666b8ddf12aac71fe90fd69ce", + "0x0caa288adc7dc74c3b3def6da3c6dcf8686ec1274eb35882437b2468ab598176", + "0x0179c92d038dd475c55c50689d306b24f0b7ff3622802b910be46b43ecef6596", + "0x1e60a8b88790824b178e6de4e2fa4f4623acd0a0bf100ba8fd9ccf95a7c9ca1c", + "0x0a0ce3ff3f93a8b62f857fb65f6e7db9330936e59b5ac6aa81a74c39aa5aeb1c", + "0x103f2e85701d4675ad6301fd100ffd649afc1f83a31ffbc7a71f12ba02625df5", + "0x1fb00a9227786ad2097c61cad83c201267d75841911691a9f554d8a02d3ecc90", + "0x19aedacdf53ccbe46ede5f653e3aa90872dd7184bf72b9a3763f750553a0fd9f", + "0x29c1557a25b705aa12decc723da5bc6ee57ff0d73dcd2eeeeeb8502d52bb80e2", + "0x1bfa49b22303484fb94e39d5e675fc3e71879d694b75e04eb521fdf7811997b8", + "0x15c54e05a78faa6df55608aa09cc2b4d94f9aecce72c64656ab2b1672a1acf35", + "0x1b5bf5d6a04a7fdc1f0ad8d5932c215ecd4d63c63d4c1af5b3d4947f66c9b194", + "0x0fdb0bd3ddf4531ca4f1de9e1a0d5d5997669c98f410e18e295cbc70e991f729", + "0x1e8e5a078bc01f2bfe12ffdf5cbd75109055869f0a6707b5c8eddbca3b9052ab", + "0x2995c91c614c3274568d97c6f8c70b9df77361434f18e77b48a19c390090c44c" +] + + [private_call_0.verification_key_hints.updated_class_id_leaf] + slot = "0x04aa829f7be68332750465e03b92ef63bc6e0fff7cfb1cf00ddc341e88632006" + value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" + next_slot = "0x077bb0f475657569d91f21509c7c928e0850ac34e02583083e1b0a901587c4c0" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000084" + +[private_call_1.vk] +key = [ + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000347", + "0x000000000000000000000000000000865f30019df603aeaed1c1d8e3c5cfc175", + "0x000000000000000000000000000000000008662c67e18149c024a3bacb2df682", + "0x000000000000000000000000000000bceab00d2d8bdeccfcd00a84a861dbf39d", + "0x00000000000000000000000000000000001650219ec9e8be886bcb85c38d4717", + "0x000000000000000000000000000000a7cf43c352dad6bf77469b1404e60e06fa", + "0x00000000000000000000000000000000001e546982146e898c6328ed6d1371e1", + "0x0000000000000000000000000000001a06adaa7ecf9f08773589e813e35a54ff", + "0x00000000000000000000000000000000001c0ef1e79d844f4ab04f853ae8970b", + "0x0000000000000000000000000000008ea0bed66d661f737dae9432cd211a55e8", + "0x00000000000000000000000000000000000455426a9c3b08ca2e8043336f387c", + "0x000000000000000000000000000000ea82e69a42b2d1019e9d8f9451913ac042", + "0x00000000000000000000000000000000000b08dca1909630d4e2adfb1d5098ea", + "0x000000000000000000000000000000fe7390b3fc62d2904ab863c97613a9f3f4", + "0x000000000000000000000000000000000006adef037868832479f56eb00ae2f2", + "0x000000000000000000000000000000371199c3359a930d0544c57f5981a56353", + "0x00000000000000000000000000000000002529cfbf41f326259cc2e28d6add58", + "0x000000000000000000000000000000c19a28af19d8043033aa6812430cb850f3", + "0x000000000000000000000000000000000010657456725ca7293b6c6a68b9b3a1", + "0x0000000000000000000000000000008cdae9bdd9a5ac55371cd8bedc86674c6a", + "0x000000000000000000000000000000000003b620a70ee10a1a00426d2d81e5fb", + "0x0000000000000000000000000000002806b12269d372065ac3b1166be1033175", + "0x00000000000000000000000000000000000d1b9812f91483c4dc99dd47842f14", + "0x00000000000000000000000000000079bde04066ea11cbbbdbc610b17b7ea716", + "0x0000000000000000000000000000000000172ed63b113f0b9ed00943690c10db", + "0x0000000000000000000000000000003d2554e7d5b58b0dcb37e36b8db350e8ef", + "0x0000000000000000000000000000000000093de1b2590406402c4caa2b0d400d", + "0x000000000000000000000000000000632862715830705b58ea13d3626158f43f", + "0x0000000000000000000000000000000000291028929fad3a3b92603079664d39", + "0x0000000000000000000000000000001fc48b67fb4ec9714cfe69efa8469d2faa", + "0x00000000000000000000000000000000002800a5c6aa06adba0feb138f51b7c1", + "0x000000000000000000000000000000626607acd3cfe08cec8ccec45fc27222a0", + "0x00000000000000000000000000000000000bf5451f8e8805b3e83e17c778ac8f", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000043cc5bf77e079b00db695cb77a0c27a755", + "0x000000000000000000000000000000000007bb974c2dca9f3583a7be610d27bc", + "0x00000000000000000000000000000097720e9504d37f0a32805569a8ef675230", + "0x00000000000000000000000000000000001d16d8825fcdb521746bb4c658a29f", + "0x000000000000000000000000000000872162f7d2ba720e691b5387dda2393047", + "0x00000000000000000000000000000000001b2d2710296ae242e420846aca6d30", + "0x000000000000000000000000000000e7d1fce90f172eb4ab5489d9241a8919f4", + "0x00000000000000000000000000000000002477d0d688545e7884c3d0f4926e75", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000e242c52613ef515743130929408b8395eb", + "0x00000000000000000000000000000000002f00c020f75dd48c87ed413a77180f", + "0x000000000000000000000000000000ea7902a077cb96eeabfc420359b9be6db3", + "0x000000000000000000000000000000000015628feadf61afbd89f5d0b872b2c3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000e6ff3a4cd8afe4ac9de0176a552fc09c35", + "0x00000000000000000000000000000000002259e282b0d22c622181e3d68e4322", + "0x000000000000000000000000000000eb70dc3306d84c664e4b10cccd60a9899a", + "0x0000000000000000000000000000000000270322a73bd1df2dbc3114462eb34e", + "0x00000000000000000000000000000039f2a727db728fb54b63a5a2dc525fd924", + "0x00000000000000000000000000000000002db1e2eca29501192e304da4047a17", + "0x000000000000000000000000000000e748ef8209f555579c98c0f60d798fc768", + "0x00000000000000000000000000000000002cbaf388ead0bc80dba57d2b1e0a6b", + "0x000000000000000000000000000000431bd61e90ed225a41f3992f2ec05406f2", + "0x000000000000000000000000000000000018335cb5d014bd80d4454621cdfbc5", + "0x0000000000000000000000000000000617b8aab9cb8f83be590c7c713c67c2ff", + "0x000000000000000000000000000000000013228c3be2488a8b526ac67437dd1c", + "0x000000000000000000000000000000e3e6fb8594f3d96a4e3b90eab96051bfab", + "0x0000000000000000000000000000000000041115da2e46ed09c4904290ce2f28", + "0x0000000000000000000000000000008dc24ee445f72e75590d77c59c2502c325", + "0x0000000000000000000000000000000000278df9d0273f8abe29181cb2097566", + "0x000000000000000000000000000000d779f5665a6d8739e46b9dbaa1fbb1d861", + "0x000000000000000000000000000000000013ff6895fed419bcb47b05aab16230", + "0x000000000000000000000000000000d8e0764f92f389448cc165a0d6c4031ee5", + "0x0000000000000000000000000000000000262984e59a1b92af14b9a461b32ab6", + "0x00000000000000000000000000000063a63c160d8a803a0aaa1797164c10eba1", + "0x00000000000000000000000000000000000c0ac58d8af92cb4105a1e3b3e8859", + "0x000000000000000000000000000000a040bfc1e24982ef134ebf0f974cc16f63", + "0x00000000000000000000000000000000002fd203a2c6c8f3f7b65cf7dd2124de", + "0x000000000000000000000000000000af7bf5d17f14cb02d020a3338b5ac8185f", + "0x00000000000000000000000000000000001f1e62776c318cbeac47805ea72d38", + "0x00000000000000000000000000000027865898be950dc50fbf51a531deeb66d0", + "0x0000000000000000000000000000000000304e7951f51b85f00e58e95ad211f6", + "0x000000000000000000000000000000fe0779b92c0bcb7f02ee39a0aa8ac50741", + "0x000000000000000000000000000000000022f9764c1c492c3a5743c994e8c712", + "0x0000000000000000000000000000005cb8a0df70faf6225ba47ea58cc69931ee", + "0x00000000000000000000000000000000000458fd9ec786e9a8af6300297d33ac", + "0x000000000000000000000000000000621fc10d8a9e4658642abd6cf5e17172ed", + "0x00000000000000000000000000000000002c583db8d2e51e9a7e91a19f89448d", + "0x0000000000000000000000000000009db8a71852e36b1d16f89c6fa435764de7", + "0x000000000000000000000000000000000006f24d141ba33dcfd7be7353938779", + "0x000000000000000000000000000000e29b7681545a3aff6ca4c964fa138485b0", + "0x000000000000000000000000000000000001ad9a17d78c8c41e7a9333fac80a8", + "0x00000000000000000000000000000098a0fab1f65c3b55a29b3258e290692ff5", + "0x000000000000000000000000000000000007e2e68bdee42d0f878077d5380a29", + "0x000000000000000000000000000000105cec7ee17bd10a991deb8da3dec94834", + "0x00000000000000000000000000000000001edf9dbf6f0fa27c8382b88eeaa7ad", + "0x00000000000000000000000000000084bb0cbfba6eebc0a0492e0aa234700dfa", + "0x00000000000000000000000000000000001d5edc6e61f842ccc7d3ddb54e624d", + "0x000000000000000000000000000000defe1347096986ac6d98a339f30b4c79a4", + "0x000000000000000000000000000000000004d963817920de50753220dcfc0f39", + "0x000000000000000000000000000000136a1458f0c92ec89a5e9320fd1c6e898c", + "0x00000000000000000000000000000000002860427d9f6b7ce48fe90398d3ce14", + "0x000000000000000000000000000000ee77d7fb9e9d8be2914e33d3561c617025", + "0x00000000000000000000000000000000001ee9005f891b0f488bbc9d6b89c6b2", + "0x000000000000000000000000000000c070442f554a223e1dec049b9e101b1338", + "0x0000000000000000000000000000000000082c84c85011f35d945335ca2ba917", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000026c53007876d885d7cbb2375814e9947f", + "0x0000000000000000000000000000000000149684831934ae61b89fa614a91503", + "0x000000000000000000000000000000ff682c870fdd41c2a48b43f4042246343e", + "0x000000000000000000000000000000000004ad1447334cc38d8422f7c6c3b72e", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000006c326bcc176f6bf7b61c67c607b538604e", + "0x00000000000000000000000000000000002e0df8ede24ac545f6f615607ae5a5", + "0x0000000000000000000000000000004810e97feaf203b539c161e31c09b9910d", + "0x00000000000000000000000000000000000e2612cea9f45e6238f1fcd8fe80e4" +] +hash = "0x02326db3f4292bc2483b97dc307b6d2f12920e3044ae9c04a1e662de1b5ea0d7" + +[private_call_1.verification_key_hints] +contract_class_artifact_hash = "0x06c89aad50296e10a3cf790b9d73c854d096b136adb7cdde89447ef5591392f3" +contract_class_public_bytecode_commitment = "0x1d694c92cbd2f2f8a373c90582a93a2889a43d04c84a4a0147c606655ae98dc5" +updated_class_id_delayed_public_mutable_values = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [private_call_1.verification_key_hints.function_leaf_membership_witness] + leaf_index = "1" + sibling_path = [ + "0x2a8a5b5b00b3298df0d362949857e44d9ab6dbe13517f17dae4d718eb429644b", + "0x29a39e8a923a570c2ff08365769dc6b9c551d550ee0e1a351eab6e04cd0df0a3", + "0x2974d8999d00928aa1378118756d6a4ba1368b1da89b2b1059c17fbb88ad21a8", + "0x2e6127fb2bcf542677ed9dfc6cd90a61a075142999aebccf345c816aff3a1d92", + "0x267a9c24e849f51869c93086ded207858dfb130344e1879a9d15d35096464824", + "0x1eb5f748aca7413c8875abf2789be0a1aec323884a365d9a59a1859aa2bce94e", + "0x2402a100768c2e339831cdb0b63e5c272a6f3318323a37642bea76ab5ea1ed0c" +] + + [private_call_1.verification_key_hints.public_keys] + npk_m_hash = "0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a26" + ovpk_m_hash = "0x0e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b" + tpk_m_hash = "0x082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0" + +[private_call_1.verification_key_hints.public_keys.ivpk_m.inner] +x = "0x00c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c" +y = "0x1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb151" +is_infinite = false + + [private_call_1.verification_key_hints.salted_initialization_hash] + inner = "0x16e38e91838134a964d7a5a42f03951c253f10dc548680d7d77a4a6ab193d8b3" + + [private_call_1.verification_key_hints.updated_class_id_witness] + leaf_index = "120" + sibling_path = [ + "0x03948d03e299b62ec468a36c5aaed9b2ec99de1ca6f891b5e35a38b224e0241e", + "0x26fa5749dc6bf5ae73016be4123dd8999a6f2f3b0c83000fb2957b91517a9a3f", + "0x159012fcfa91ebac3d7456369b7ef07c234cdc6450d29b3dfa36b3bfb255531d", + "0x23b7b4afca7eeb88b7d797b2fddc90b144e51b508e702e39ec4af07a6049f4a5", + "0x2edd4e68944dac758244213037fbe9d622c7c28d6070f16862b3e8986090bee4", + "0x1d5ea1a288ff1ff4cabceaaa2f93eda378a5fb0a2a55423f4d4d205969181931", + "0x23b80d0ef13d744a52faabf5651164d28f7faf902653e41a35472eea87936e6e", + "0x18ac27f81c0a8a78e77797c10cab4fbade9633a67765586f1bf66e2eb833a029", + "0x16c8aff52f0422f4bfc502620fe15dd6a4de67637563b7a8175f2d5727d268a4", + "0x1c76b6744bc3d6b1cd4b53459a08b4959643c0768fde657299fcc82e2732f744", + "0x12a6fac0fdfbd7897d8fe955f454cdb309ce8597d647ebfd0ba614c4eb215581", + "0x002b13fd827e0e0d6b4b44c63fdeaf75cfed5190728ff712530f5f0f6f92b1e4", + "0x1b61a4759569c7e380534b815a326c2f0614ce68188b3421b09db1a560349f4b", + "0x24faee168ea3e7ce5d9d22f24679594896a633ca5d12947fbcd2c28b1d27f94e", + "0x2c0e30deebb4fc9949601b0240d319424d3169290c5cd22c49c2f80b43491c24", + "0x1633b0cb253526da43ee63f3ec7a5ff4c9122f6f6ff53c5be3d6ee7e1daa7a4b", + "0x21a12dfd04d263a6a93feb45f10ae47f6142e9e0e29d66c20581bfa463983f43", + "0x0d02013ff44b6cc6cf983824fe5104671333c8243de05421c7a94033b02ef493", + "0x2f99a81e7faafb4d396d0cc32fe7e024c191325432ec3deb26878c8e69aa8a74", + "0x0f608351d05582fbead9c229631e4225305201e70d552a4c23915db3263507e3", + "0x1a85d719ace8c684b69950b47b17fb4b8a67b4454a5a8ff68bc33c2da4db4ce6", + "0x0ca806e767c92a5a84ae7fbc87886017fd616d5bb9944e76cb744051e30f8653", + "0x2dcebbd4d2afb62103883556c608e2ab29a0741ff744317f74d74ead537241db", + "0x0ceca69e0225bf70d28927ed19b793b034137ed87c901dd468a5c7d019b0c5a0", + "0x1983e65b490c4c4a2f0ba1bec5cf90a4cef0df719453e3c781d6310e7cdbcdd4", + "0x076cd8d40f992539f8034583bc6f2875f14eede666b8ddf12aac71fe90fd69ce", + "0x0caa288adc7dc74c3b3def6da3c6dcf8686ec1274eb35882437b2468ab598176", + "0x0179c92d038dd475c55c50689d306b24f0b7ff3622802b910be46b43ecef6596", + "0x1e60a8b88790824b178e6de4e2fa4f4623acd0a0bf100ba8fd9ccf95a7c9ca1c", + "0x0a0ce3ff3f93a8b62f857fb65f6e7db9330936e59b5ac6aa81a74c39aa5aeb1c", + "0x103f2e85701d4675ad6301fd100ffd649afc1f83a31ffbc7a71f12ba02625df5", + "0x1fb00a9227786ad2097c61cad83c201267d75841911691a9f554d8a02d3ecc90", + "0x19aedacdf53ccbe46ede5f653e3aa90872dd7184bf72b9a3763f750553a0fd9f", + "0x29c1557a25b705aa12decc723da5bc6ee57ff0d73dcd2eeeeeb8502d52bb80e2", + "0x1bfa49b22303484fb94e39d5e675fc3e71879d694b75e04eb521fdf7811997b8", + "0x15c54e05a78faa6df55608aa09cc2b4d94f9aecce72c64656ab2b1672a1acf35", + "0x1b5bf5d6a04a7fdc1f0ad8d5932c215ecd4d63c63d4c1af5b3d4947f66c9b194", + "0x0fdb0bd3ddf4531ca4f1de9e1a0d5d5997669c98f410e18e295cbc70e991f729", + "0x1e8e5a078bc01f2bfe12ffdf5cbd75109055869f0a6707b5c8eddbca3b9052ab", + "0x2995c91c614c3274568d97c6f8c70b9df77361434f18e77b48a19c390090c44c" +] + + [private_call_1.verification_key_hints.updated_class_id_leaf] + slot = "0x04aa829f7be68332750465e03b92ef63bc6e0fff7cfb1cf00ddc341e88632006" + value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" + next_slot = "0x077bb0f475657569d91f21509c7c928e0850ac34e02583083e1b0a901587c4c0" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000084" + +[app_public_inputs_0] +args_hash = "0x06a98a2a35aa4722fcc00b92195e61295f6b1c621792fcfe00191381a31178f8" +returns_hash = "0x20fd6cca0f81d2e3d2192b45a0208ef249e8032b9785fe9ecfed10beb1d36cb5" +start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000008" +end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000a" +expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +expected_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000009" +min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +is_fee_payer = false +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0d84c2" + + [app_public_inputs_0.call_context] + is_static_call = true + + [app_public_inputs_0.call_context.msg_sender] + inner = "0x023a62eaf4ce3a8f2752add0746950be81e1f647953b1c21f038c8c2f5d94f4a" + + [app_public_inputs_0.call_context.contract_address] + inner = "0x023e27ffe99ffb57c23b47f77298a16e82b8166a3a052ce3217b06f27a693e8d" + + [app_public_inputs_0.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000080d3af36" + + [app_public_inputs_0.note_hash_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x158140e435824e3e5383ec9780da5083f41b9135df43fe241efc116fb988f802" +counter = "0x0000000000000000000000000000000000000000000000000000000000000009" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifier_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.note_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_teardown_call_request] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.contract_class_logs_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.contract_class_logs_hashes.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.contract_class_logs_hashes.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.anchor_block_header] + sponge_blob_hash = "0x2a15dc7ec43b465bf99f54afeddf01deb1956bc1b168dca0dee3fd42651c066d" + total_fees = "0x0000000000000000000000000000000000000000000000000035dd7429a09780" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000722f4" + + [app_public_inputs_0.anchor_block_header.last_archive] + root = "0x17bffe007799492e080dedbbd1c0537f2cf07c6da475964e6ba2ac1238ca18b4" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" + +[app_public_inputs_0.anchor_block_header.state.l1_to_l2_message_tree] +root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" + +[app_public_inputs_0.anchor_block_header.state.partial.note_hash_tree] +root = "0x0dc9959e45144b0bff03308b20445805d413ef104b8c1cffec0df82fa026ddac" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" + +[app_public_inputs_0.anchor_block_header.state.partial.nullifier_tree] +root = "0x0429ae2142380c233e3eaae7cb2139acb56e5f1655f0c0869a2c86b61945ac79" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" + +[app_public_inputs_0.anchor_block_header.state.partial.public_data_tree] +root = "0x2e98690a14fa5e0ac8d56a825563ca3e2331f9be07e1e2065af4aaeb5fe569d2" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" + + [app_public_inputs_0.anchor_block_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000fb3702bd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c3342" + + [app_public_inputs_0.anchor_block_header.global_variables.coinbase] + inner = "0x000000000000000000000000aa302018c588f8a0cbf1c93ef6e17276cf33d1ef" + + [app_public_inputs_0.anchor_block_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.anchor_block_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" + + [app_public_inputs_0.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000fb3702bd" + +[app_public_inputs_0.tx_context.gas_settings.gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" +l2_gas = "0x000000000000000000000000000000000000000000000000000000000063cae0" + +[app_public_inputs_0.tx_context.gas_settings.teardown_gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000018000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" + +[app_public_inputs_0.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000336bfe2ba6" + +[app_public_inputs_0.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1] +args_hash = "0x06a98a2a35aa4722fcc00b92195e61295f6b1c621792fcfe00191381a31178f8" +returns_hash = "0x20fd6cca0f81d2e3d2192b45a0208ef249e8032b9785fe9ecfed10beb1d36cb5" +start_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000d" +end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000f" +expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +expected_revertible_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000e" +min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +is_fee_payer = false +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0d84c2" + + [app_public_inputs_1.call_context] + is_static_call = false + + [app_public_inputs_1.call_context.msg_sender] + inner = "0x1f3be138a5383c5ae6bfe93f200978857538b2100be1f25186f9da6e3e304d67" + + [app_public_inputs_1.call_context.contract_address] + inner = "0x023e27ffe99ffb57c23b47f77298a16e82b8166a3a052ce3217b06f27a693e8d" + + [app_public_inputs_1.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000080d3af36" + + [app_public_inputs_1.note_hash_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x158140e435824e3e5383ec9780da5083f41b9135df43fe241efc116fb988f802" +counter = "0x000000000000000000000000000000000000000000000000000000000000000e" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifier_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.note_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_teardown_call_request] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.contract_class_logs_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.contract_class_logs_hashes.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.contract_class_logs_hashes.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.anchor_block_header] + sponge_blob_hash = "0x2a15dc7ec43b465bf99f54afeddf01deb1956bc1b168dca0dee3fd42651c066d" + total_fees = "0x0000000000000000000000000000000000000000000000000035dd7429a09780" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000722f4" + + [app_public_inputs_1.anchor_block_header.last_archive] + root = "0x17bffe007799492e080dedbbd1c0537f2cf07c6da475964e6ba2ac1238ca18b4" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" + +[app_public_inputs_1.anchor_block_header.state.l1_to_l2_message_tree] +root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" + +[app_public_inputs_1.anchor_block_header.state.partial.note_hash_tree] +root = "0x0dc9959e45144b0bff03308b20445805d413ef104b8c1cffec0df82fa026ddac" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" + +[app_public_inputs_1.anchor_block_header.state.partial.nullifier_tree] +root = "0x0429ae2142380c233e3eaae7cb2139acb56e5f1655f0c0869a2c86b61945ac79" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" + +[app_public_inputs_1.anchor_block_header.state.partial.public_data_tree] +root = "0x2e98690a14fa5e0ac8d56a825563ca3e2331f9be07e1e2065af4aaeb5fe569d2" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" + + [app_public_inputs_1.anchor_block_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000fb3702bd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c3342" + + [app_public_inputs_1.anchor_block_header.global_variables.coinbase] + inner = "0x000000000000000000000000aa302018c588f8a0cbf1c93ef6e17276cf33d1ef" + + [app_public_inputs_1.anchor_block_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.anchor_block_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" + + [app_public_inputs_1.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000fb3702bd" + +[app_public_inputs_1.tx_context.gas_settings.gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" +l2_gas = "0x000000000000000000000000000000000000000000000000000000000063cae0" + +[app_public_inputs_1.tx_context.gas_settings.teardown_gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000018000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" + +[app_public_inputs_1.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000336bfe2ba6" + +[app_public_inputs_1.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-inner-3/Prover.toml b/noir-projects/noir-protocol-circuits/crates/private-kernel-inner-3/Prover.toml new file mode 100644 index 000000000000..e8ec43aaea12 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-inner-3/Prover.toml @@ -0,0 +1,11973 @@ +[previous_kernel.vk_data] +leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000041" +sibling_path = [ + "0x12c59c16ed84032f7c5273ff19d7a05e8e861c23959fb71cf4b2c6ac45d21f8c", + "0x225eef52a484280b0f1c6cb9f90a84dc301536c01bfa4d61bd6496b3eaf19052", + "0x0e084e8198288b2ff94eaf4d6f37fba06e430a879dd37c726a3b5a65416fe6b6", + "0x30105bad22ddcc508b739b7c9ad87a561c569ff5cb0098a853c1c4ac21b7a037", + "0x1e20ad4181460cbfdc74ca773502c59b890f184efe300ebad895956d318422da", + "0x1434e6e2d5db1053ab8a3be58704509c799ee17e109c77f441f7bf1755400249", + "0x0e9cb07dc8495e2adab02c5db0e34a0dbe42e9b473e0462641c54f73a4a4fdd3" +] + + [previous_kernel.vk_data.vk] + key = [ + "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x000000000000000000000000000000000000000000000000000000000000001a", + "0x0000000000000000000000000000000000000000000000000000000000000cbd", + "0x000000000000000000000000000000c4d62213b081c8e90e6c8f3587321997f5", + "0x00000000000000000000000000000000002236a0b9f0654f7cd634c9c34280f1", + "0x0000000000000000000000000000007cb00736872fd50e291ec99fb640f1f7d9", + "0x00000000000000000000000000000000002d1b1b74b74ddf7d6f964a7bdb2af3", + "0x000000000000000000000000000000f26bcf89c86dcbce68a4f1b5b73505dcec", + "0x000000000000000000000000000000000011a128ae6c7be3a962485534f27786", + "0x00000000000000000000000000000088278f8cce72a5f698601f11a1532a9dad", + "0x00000000000000000000000000000000000d9caeabde23d8c2a0bd2cdef54193", + "0x0000000000000000000000000000001cfb29930f6753e5cb6a60342c16fe5e4f", + "0x00000000000000000000000000000000001022a2847e12bdd43b96342e5b8e16", + "0x000000000000000000000000000000fefee7789c5b50b89ce3ac6155975c4319", + "0x000000000000000000000000000000000002e25d02799b225c89aba3a667d7e5", + "0x0000000000000000000000000000006e210889b06205312234c097f979fca3b5", + "0x00000000000000000000000000000000000566396dc1f8e15f3a1c3729bb3393", + "0x0000000000000000000000000000009790f776d7aaecbcaf977d3aad6070c4e4", + "0x00000000000000000000000000000000002dcdeaf93e01c780512d9950fbfd94", + "0x000000000000000000000000000000d2ef194a7b605db9c6df08b9576c97735e", + "0x00000000000000000000000000000000001ff98ab3818a3d5fdc538a7bbeb87e", + "0x000000000000000000000000000000be40a925ee773bfc3923df01da59a497d7", + "0x00000000000000000000000000000000001fb52b895f997b5a90ea722d9a4140", + "0x000000000000000000000000000000dd5a7d1074be39e4451795f983d45b5be3", + "0x00000000000000000000000000000000001cbfd5b0d763096343af10ed1f3496", + "0x0000000000000000000000000000007cc56b953bb8ef24745e9200896ee10ee1", + "0x000000000000000000000000000000000001ef96b3ae0b2677b21939012dcc17", + "0x0000000000000000000000000000004ba56f98fc7d6d956bd6302ef6941f9239", + "0x000000000000000000000000000000000010bf82473c11a65eb2ac193002bfe4", + "0x00000000000000000000000000000072739ba831885d7f767251b9cc444961e5", + "0x0000000000000000000000000000000000256ea7e1dc188341f8692fd52454cf", + "0x000000000000000000000000000000a284c1c0bd5602eb7242fda659dc49ff99", + "0x000000000000000000000000000000000002e5e663dd3bf5f961173646b8e7b3", + "0x000000000000000000000000000000194cc54081bb3ffba3c67547dcb2db4d37", + "0x00000000000000000000000000000000002377042c75bab3ceee3b186c40b8b6", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000f0af57d5589fc84e1f8897bb5a62ec0ea9", + "0x000000000000000000000000000000000016583df9856bef930ef0a81d3357f0", + "0x000000000000000000000000000000e0a92aecf729c58fa7672c82066409d090", + "0x000000000000000000000000000000000010085406672c105a10ddee00634540", + "0x00000000000000000000000000000036b650e61cb6e0ec6ff6b1aef12c8c81e3", + "0x00000000000000000000000000000000000049ced3703b6736736daa8d94d66c", + "0x00000000000000000000000000000024e41b443846d1b9d969a739fe9ec5544d", + "0x0000000000000000000000000000000000251ef94ce2811e61503920adc1a548", + "0x000000000000000000000000000000ab378c4d63d86a750348adbd4cbc2c6883", + "0x0000000000000000000000000000000000079aee0bbaec8a7e39acda8a2bfd44", + "0x000000000000000000000000000000c4996ccb316a1671fa17ac0ec536c08aee", + "0x00000000000000000000000000000000000087a93f4353d8c6e85d6c58c7af49", + "0x0000000000000000000000000000002754983ee3f30f64f3ef3d6a27f671032d", + "0x00000000000000000000000000000000001b77b7da696321894ac402dc70a471", + "0x00000000000000000000000000000065a8c950362ff55e55d6006254e4cb8f60", + "0x00000000000000000000000000000000000a0eb81f69be92cc51ba479d4d4b2d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000003a6dc78277b2838aca18adc58385b4a7f0", + "0x0000000000000000000000000000000000132c99e752833cae9473e7dfe278d0", + "0x0000000000000000000000000000003ec707e1f4369d5f99a3bac8eaa16ec4ba", + "0x00000000000000000000000000000000001cd77155c0a5e65f942f719c8e73f5", + "0x00000000000000000000000000000084604af6454cd074b40340a0900f8e47cc", + "0x0000000000000000000000000000000000077d31bdfcd802cd5aa1a457b97f10", + "0x00000000000000000000000000000099c886edf1320d2f8eef9c059a2495598d", + "0x00000000000000000000000000000000001400c2b452cd839ce363493a76312b", + "0x00000000000000000000000000000090681337eb7720ddc934e8bcc81bd9ae2b", + "0x000000000000000000000000000000000006ab19688014b0f0cf860c615759af", + "0x0000000000000000000000000000007165a99470ed5af56e75a9636be648e93d", + "0x000000000000000000000000000000000009dbbccaa2350bd92c5ce19b5d290a", + "0x0000000000000000000000000000000e1e042ed81d839a9f0ead9d291b6a8f32", + "0x00000000000000000000000000000000001a205aec8c334db49f816f4b5dafcd", + "0x000000000000000000000000000000ebb4edb0db1dcdf348033a7901a3680b6a", + "0x000000000000000000000000000000000011aae86275b822ebd3fa82c7315eff", + "0x000000000000000000000000000000e97eee8ec09b50e69135709916aba933c6", + "0x000000000000000000000000000000000010e2e96f78a68fc25ba2e4dafd04cc", + "0x000000000000000000000000000000b214f0a5321e8817d78adb6e0c20d7319e", + "0x000000000000000000000000000000000025bc9ba17b749d567d90e8f13af9a2", + "0x00000000000000000000000000000066fba7ba25f999f6f2838e553a29901fa7", + "0x000000000000000000000000000000000020711b883c2eb028f9d2d3da010519", + "0x000000000000000000000000000000a140d481bdc261d13949520f9ec7371c20", + "0x0000000000000000000000000000000000020bfe682fa3abc7653ce6853b0112", + "0x0000000000000000000000000000001b2bf2cbcde5d02c025a94db3378725693", + "0x000000000000000000000000000000000023e613dfd6966df7487e58fd52480c", + "0x0000000000000000000000000000006e2eb63e8f0cbcbd7a88665a53e119e428", + "0x00000000000000000000000000000000002e70d3962ba79ea7ae10b168c1c7d9", + "0x00000000000000000000000000000030517d9ecfee899135ff976333894660c2", + "0x000000000000000000000000000000000007417244ffad99a470ba89eb0ff90e", + "0x0000000000000000000000000000009bac28f405d40e017edf00277102b49c3d", + "0x000000000000000000000000000000000006b41a5fb6e909b8be3ff0dd952728", + "0x0000000000000000000000000000006683ae1c70f7eb680544f4c342c93087f1", + "0x000000000000000000000000000000000025f0aabdb61ed9c3922c0edfb358ec", + "0x000000000000000000000000000000351b5aea3d5e9850880e66335bcae23e94", + "0x00000000000000000000000000000000000ee72d3f7aca6bbe97267028d6abf9", + "0x0000000000000000000000000000008928d9a8e7f72b161cbe49ae95aa21ae63", + "0x0000000000000000000000000000000000185c141dba0abcf1e6d7db09787ca1", + "0x0000000000000000000000000000003e245e17b3e7805608abb6a2350fa6a847", + "0x00000000000000000000000000000000000cf54864a0d0738294136903b96823", + "0x000000000000000000000000000000f11eab4aad68f934214988cc4f58d5a6a2", + "0x000000000000000000000000000000000022f67f7b7d5406007bb7ddae120884", + "0x000000000000000000000000000000c05dc37331557bb9a3f702d92cfe090666", + "0x0000000000000000000000000000000000264629b4e2c6c2614bd57046d2ac8b", + "0x00000000000000000000000000000017305f321100b05a42b9014b4b5f033fd9", + "0x00000000000000000000000000000000000300f05e18d0c58963b144d3d28da6", + "0x00000000000000000000000000000039e8490810fc737b4a353bb67d95baa83c", + "0x00000000000000000000000000000000001b8f101b87ef8f67f87224f50b4e86", + "0x00000000000000000000000000000048da15030eaa7e0cc01567e721d66ead43", + "0x0000000000000000000000000000000000126b3927169eb104827c842837f462", + "0x00000000000000000000000000000008b500094a5820c680fb1db8c125502e1e", + "0x000000000000000000000000000000000000660eef61b7d219f439ec4fbfff1b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000001115e1df83c7f85610477a243a350ad610", + "0x000000000000000000000000000000000016b525f879d97a8d50cab6d1a41d58", + "0x0000000000000000000000000000005545bbd9cc9de7a79986b650103736492e", + "0x00000000000000000000000000000000000aac06f3452ec0a5be2b5e3060f108", + "0x000000000000000000000000000000c6e13ef9aedec4af73a577a6dd72dda690", + "0x000000000000000000000000000000000016b603e70199deaa1eff742257259f", + "0x000000000000000000000000000000dd7902c16a885b205f012abf38e3f9f470", + "0x00000000000000000000000000000000002a45b4a48e9544c186e119184fd191", + "0x000000000000000000000000000000882d0b700868900a984b8a8f100e96bc7c", + "0x00000000000000000000000000000000000abfe4989e01ac99945d20ac56ed24", + "0x000000000000000000000000000000ceb31f078b322681c311c51b7684078b7e", + "0x0000000000000000000000000000000000041b07ce00654c923848301f5fbbd8" +] + hash = "0x1e580df70c4374ef9942846936ab5fc2d7da61ca21bd0576f269746152a782c4" + +[previous_kernel_public_inputs] +min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0d84c1" +is_private_only = true +claimed_first_nullifier = "0x2b17c43e24196724833491ef10cd2e263c2541b0a2ce69df8cb6f80afcaa89da" +claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" + + [previous_kernel_public_inputs.constants] + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" + + [previous_kernel_public_inputs.constants.anchor_block_header] + sponge_blob_hash = "0x2a15dc7ec43b465bf99f54afeddf01deb1956bc1b168dca0dee3fd42651c066d" + total_fees = "0x0000000000000000000000000000000000000000000000000035dd7429a09780" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000722f4" + + [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] + root = "0x17bffe007799492e080dedbbd1c0537f2cf07c6da475964e6ba2ac1238ca18b4" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" + +[previous_kernel_public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] +root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" + +[previous_kernel_public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] +root = "0x0dc9959e45144b0bff03308b20445805d413ef104b8c1cffec0df82fa026ddac" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" + +[previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] +root = "0x0429ae2142380c233e3eaae7cb2139acb56e5f1655f0c0869a2c86b61945ac79" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" + +[previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] +root = "0x2e98690a14fa5e0ac8d56a825563ca3e2331f9be07e1e2065af4aaeb5fe569d2" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" + + [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000fb3702bd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c3342" + + [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] + inner = "0x000000000000000000000000aa302018c588f8a0cbf1c93ef6e17276cf33d1ef" + + [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" + + [previous_kernel_public_inputs.constants.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000fb3702bd" + +[previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" +l2_gas = "0x000000000000000000000000000000000000000000000000000000000063cae0" + +[previous_kernel_public_inputs.constants.tx_context.gas_settings.teardown_gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000018000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" + +[previous_kernel_public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000336bfe2ba6" + +[previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x2c78cadfe08eabbb0e2a15b62eefd07a08cbc1631fa2be7962fd219308d9f1e3" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0d6429ccd33eeec2a03a7b2f78d6c901ad9406bf2058231382147de5014303fd" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0b286a1c928fbe1ca3be78fe2f2bd25a2eec7f5f15c2757a2db53b2a8d499358" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x1cef6885d1ace5a36534202d1f593b94ac0876ff4933745085ad62da062a3b5e" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x2ccc3471349063b3b0c5a6362e0dbfc3c21b534f84fc963483667b32840e259a" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0ad78bd90b0e2e0887928b98b621517d04a6bddebf6b20bdb76ddd8aec6f05fd" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests] +length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x01d1d92b90682f39cf6b9ed768d21409cc7142c7b1dc75f647c0f3680bc71695" +counter = "0x0000000000000000000000000000000000000000000000000000000000000003" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests] +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators] +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes] +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.note_hashes.array]] +[previous_kernel_public_inputs.end.note_hashes.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.note_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers] +length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x1f2d325e53b36b047c5d53521b42951773c7b94e77d80b6c1a6ac3badfd68ccd" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.nullifiers.array]] +[previous_kernel_public_inputs.end.nullifiers.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.nullifiers.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs] +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.l2_to_l1_msgs.array]] +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.l2_to_l1_msgs.array.inner.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.l2_to_l1_msgs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs] +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_logs.array]] +[previous_kernel_public_inputs.end.private_logs.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_logs.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.contract_class_logs_hashes] +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.contract_class_logs_hashes.array]] +[previous_kernel_public_inputs.end.contract_class_logs_hashes.array.inner] +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.contract_class_logs_hashes.array.inner.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.contract_class_logs_hashes.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.public_call_requests] +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[previous_kernel_public_inputs.end.private_call_stack] +length = "0x0000000000000000000000000000000000000000000000000000000000000003" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x06a98a2a35aa4722fcc00b92195e61295f6b1c621792fcfe00191381a31178f8" + returns_hash = "0x20fd6cca0f81d2e3d2192b45a0208ef249e8032b9785fe9ecfed10beb1d36cb5" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000010" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000012" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x1f3be138a5383c5ae6bfe93f200978857538b2100be1f25186f9da6e3e304d67" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x023e27ffe99ffb57c23b47f77298a16e82b8166a3a052ce3217b06f27a693e8d" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000080d3af36" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x06a98a2a35aa4722fcc00b92195e61295f6b1c621792fcfe00191381a31178f8" + returns_hash = "0x20fd6cca0f81d2e3d2192b45a0208ef249e8032b9785fe9ecfed10beb1d36cb5" + start_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000d" + end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000f" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x1f3be138a5383c5ae6bfe93f200978857538b2100be1f25186f9da6e3e304d67" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x023e27ffe99ffb57c23b47f77298a16e82b8166a3a052ce3217b06f27a693e8d" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000080d3af36" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x06a98a2a35aa4722fcc00b92195e61295f6b1c621792fcfe00191381a31178f8" + returns_hash = "0x20fd6cca0f81d2e3d2192b45a0208ef249e8032b9785fe9ecfed10beb1d36cb5" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000008" + end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000a" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = true + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x023a62eaf4ce3a8f2752add0746950be81e1f647953b1c21f038c8c2f5d94f4a" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x023e27ffe99ffb57c23b47f77298a16e82b8166a3a052ce3217b06f27a693e8d" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000080d3af36" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[previous_kernel_public_inputs.end.private_call_stack.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context] + is_static_call = false + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.public_teardown_call_request] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [previous_kernel_public_inputs.fee_payer] + inner = "0x1f3be138a5383c5ae6bfe93f200978857538b2100be1f25186f9da6e3e304d67" + +[private_call_0.vk] +key = [ + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000347", + "0x000000000000000000000000000000865f30019df603aeaed1c1d8e3c5cfc175", + "0x000000000000000000000000000000000008662c67e18149c024a3bacb2df682", + "0x000000000000000000000000000000bceab00d2d8bdeccfcd00a84a861dbf39d", + "0x00000000000000000000000000000000001650219ec9e8be886bcb85c38d4717", + "0x000000000000000000000000000000a7cf43c352dad6bf77469b1404e60e06fa", + "0x00000000000000000000000000000000001e546982146e898c6328ed6d1371e1", + "0x0000000000000000000000000000001a06adaa7ecf9f08773589e813e35a54ff", + "0x00000000000000000000000000000000001c0ef1e79d844f4ab04f853ae8970b", + "0x0000000000000000000000000000008ea0bed66d661f737dae9432cd211a55e8", + "0x00000000000000000000000000000000000455426a9c3b08ca2e8043336f387c", + "0x000000000000000000000000000000ea82e69a42b2d1019e9d8f9451913ac042", + "0x00000000000000000000000000000000000b08dca1909630d4e2adfb1d5098ea", + "0x000000000000000000000000000000fe7390b3fc62d2904ab863c97613a9f3f4", + "0x000000000000000000000000000000000006adef037868832479f56eb00ae2f2", + "0x000000000000000000000000000000371199c3359a930d0544c57f5981a56353", + "0x00000000000000000000000000000000002529cfbf41f326259cc2e28d6add58", + "0x000000000000000000000000000000c19a28af19d8043033aa6812430cb850f3", + "0x000000000000000000000000000000000010657456725ca7293b6c6a68b9b3a1", + "0x0000000000000000000000000000008cdae9bdd9a5ac55371cd8bedc86674c6a", + "0x000000000000000000000000000000000003b620a70ee10a1a00426d2d81e5fb", + "0x0000000000000000000000000000002806b12269d372065ac3b1166be1033175", + "0x00000000000000000000000000000000000d1b9812f91483c4dc99dd47842f14", + "0x00000000000000000000000000000079bde04066ea11cbbbdbc610b17b7ea716", + "0x0000000000000000000000000000000000172ed63b113f0b9ed00943690c10db", + "0x0000000000000000000000000000003d2554e7d5b58b0dcb37e36b8db350e8ef", + "0x0000000000000000000000000000000000093de1b2590406402c4caa2b0d400d", + "0x000000000000000000000000000000632862715830705b58ea13d3626158f43f", + "0x0000000000000000000000000000000000291028929fad3a3b92603079664d39", + "0x0000000000000000000000000000001fc48b67fb4ec9714cfe69efa8469d2faa", + "0x00000000000000000000000000000000002800a5c6aa06adba0feb138f51b7c1", + "0x000000000000000000000000000000626607acd3cfe08cec8ccec45fc27222a0", + "0x00000000000000000000000000000000000bf5451f8e8805b3e83e17c778ac8f", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000043cc5bf77e079b00db695cb77a0c27a755", + "0x000000000000000000000000000000000007bb974c2dca9f3583a7be610d27bc", + "0x00000000000000000000000000000097720e9504d37f0a32805569a8ef675230", + "0x00000000000000000000000000000000001d16d8825fcdb521746bb4c658a29f", + "0x000000000000000000000000000000872162f7d2ba720e691b5387dda2393047", + "0x00000000000000000000000000000000001b2d2710296ae242e420846aca6d30", + "0x000000000000000000000000000000e7d1fce90f172eb4ab5489d9241a8919f4", + "0x00000000000000000000000000000000002477d0d688545e7884c3d0f4926e75", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000e242c52613ef515743130929408b8395eb", + "0x00000000000000000000000000000000002f00c020f75dd48c87ed413a77180f", + "0x000000000000000000000000000000ea7902a077cb96eeabfc420359b9be6db3", + "0x000000000000000000000000000000000015628feadf61afbd89f5d0b872b2c3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000e6ff3a4cd8afe4ac9de0176a552fc09c35", + "0x00000000000000000000000000000000002259e282b0d22c622181e3d68e4322", + "0x000000000000000000000000000000eb70dc3306d84c664e4b10cccd60a9899a", + "0x0000000000000000000000000000000000270322a73bd1df2dbc3114462eb34e", + "0x00000000000000000000000000000039f2a727db728fb54b63a5a2dc525fd924", + "0x00000000000000000000000000000000002db1e2eca29501192e304da4047a17", + "0x000000000000000000000000000000e748ef8209f555579c98c0f60d798fc768", + "0x00000000000000000000000000000000002cbaf388ead0bc80dba57d2b1e0a6b", + "0x000000000000000000000000000000431bd61e90ed225a41f3992f2ec05406f2", + "0x000000000000000000000000000000000018335cb5d014bd80d4454621cdfbc5", + "0x0000000000000000000000000000000617b8aab9cb8f83be590c7c713c67c2ff", + "0x000000000000000000000000000000000013228c3be2488a8b526ac67437dd1c", + "0x000000000000000000000000000000e3e6fb8594f3d96a4e3b90eab96051bfab", + "0x0000000000000000000000000000000000041115da2e46ed09c4904290ce2f28", + "0x0000000000000000000000000000008dc24ee445f72e75590d77c59c2502c325", + "0x0000000000000000000000000000000000278df9d0273f8abe29181cb2097566", + "0x000000000000000000000000000000d779f5665a6d8739e46b9dbaa1fbb1d861", + "0x000000000000000000000000000000000013ff6895fed419bcb47b05aab16230", + "0x000000000000000000000000000000d8e0764f92f389448cc165a0d6c4031ee5", + "0x0000000000000000000000000000000000262984e59a1b92af14b9a461b32ab6", + "0x00000000000000000000000000000063a63c160d8a803a0aaa1797164c10eba1", + "0x00000000000000000000000000000000000c0ac58d8af92cb4105a1e3b3e8859", + "0x000000000000000000000000000000a040bfc1e24982ef134ebf0f974cc16f63", + "0x00000000000000000000000000000000002fd203a2c6c8f3f7b65cf7dd2124de", + "0x000000000000000000000000000000af7bf5d17f14cb02d020a3338b5ac8185f", + "0x00000000000000000000000000000000001f1e62776c318cbeac47805ea72d38", + "0x00000000000000000000000000000027865898be950dc50fbf51a531deeb66d0", + "0x0000000000000000000000000000000000304e7951f51b85f00e58e95ad211f6", + "0x000000000000000000000000000000fe0779b92c0bcb7f02ee39a0aa8ac50741", + "0x000000000000000000000000000000000022f9764c1c492c3a5743c994e8c712", + "0x0000000000000000000000000000005cb8a0df70faf6225ba47ea58cc69931ee", + "0x00000000000000000000000000000000000458fd9ec786e9a8af6300297d33ac", + "0x000000000000000000000000000000621fc10d8a9e4658642abd6cf5e17172ed", + "0x00000000000000000000000000000000002c583db8d2e51e9a7e91a19f89448d", + "0x0000000000000000000000000000009db8a71852e36b1d16f89c6fa435764de7", + "0x000000000000000000000000000000000006f24d141ba33dcfd7be7353938779", + "0x000000000000000000000000000000e29b7681545a3aff6ca4c964fa138485b0", + "0x000000000000000000000000000000000001ad9a17d78c8c41e7a9333fac80a8", + "0x00000000000000000000000000000098a0fab1f65c3b55a29b3258e290692ff5", + "0x000000000000000000000000000000000007e2e68bdee42d0f878077d5380a29", + "0x000000000000000000000000000000105cec7ee17bd10a991deb8da3dec94834", + "0x00000000000000000000000000000000001edf9dbf6f0fa27c8382b88eeaa7ad", + "0x00000000000000000000000000000084bb0cbfba6eebc0a0492e0aa234700dfa", + "0x00000000000000000000000000000000001d5edc6e61f842ccc7d3ddb54e624d", + "0x000000000000000000000000000000defe1347096986ac6d98a339f30b4c79a4", + "0x000000000000000000000000000000000004d963817920de50753220dcfc0f39", + "0x000000000000000000000000000000136a1458f0c92ec89a5e9320fd1c6e898c", + "0x00000000000000000000000000000000002860427d9f6b7ce48fe90398d3ce14", + "0x000000000000000000000000000000ee77d7fb9e9d8be2914e33d3561c617025", + "0x00000000000000000000000000000000001ee9005f891b0f488bbc9d6b89c6b2", + "0x000000000000000000000000000000c070442f554a223e1dec049b9e101b1338", + "0x0000000000000000000000000000000000082c84c85011f35d945335ca2ba917", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000026c53007876d885d7cbb2375814e9947f", + "0x0000000000000000000000000000000000149684831934ae61b89fa614a91503", + "0x000000000000000000000000000000ff682c870fdd41c2a48b43f4042246343e", + "0x000000000000000000000000000000000004ad1447334cc38d8422f7c6c3b72e", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000006c326bcc176f6bf7b61c67c607b538604e", + "0x00000000000000000000000000000000002e0df8ede24ac545f6f615607ae5a5", + "0x0000000000000000000000000000004810e97feaf203b539c161e31c09b9910d", + "0x00000000000000000000000000000000000e2612cea9f45e6238f1fcd8fe80e4" +] +hash = "0x02326db3f4292bc2483b97dc307b6d2f12920e3044ae9c04a1e662de1b5ea0d7" + +[private_call_0.verification_key_hints] +contract_class_artifact_hash = "0x06c89aad50296e10a3cf790b9d73c854d096b136adb7cdde89447ef5591392f3" +contract_class_public_bytecode_commitment = "0x1d694c92cbd2f2f8a373c90582a93a2889a43d04c84a4a0147c606655ae98dc5" +updated_class_id_delayed_public_mutable_values = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [private_call_0.verification_key_hints.function_leaf_membership_witness] + leaf_index = "1" + sibling_path = [ + "0x2a8a5b5b00b3298df0d362949857e44d9ab6dbe13517f17dae4d718eb429644b", + "0x29a39e8a923a570c2ff08365769dc6b9c551d550ee0e1a351eab6e04cd0df0a3", + "0x2974d8999d00928aa1378118756d6a4ba1368b1da89b2b1059c17fbb88ad21a8", + "0x2e6127fb2bcf542677ed9dfc6cd90a61a075142999aebccf345c816aff3a1d92", + "0x267a9c24e849f51869c93086ded207858dfb130344e1879a9d15d35096464824", + "0x1eb5f748aca7413c8875abf2789be0a1aec323884a365d9a59a1859aa2bce94e", + "0x2402a100768c2e339831cdb0b63e5c272a6f3318323a37642bea76ab5ea1ed0c" +] + + [private_call_0.verification_key_hints.public_keys] + npk_m_hash = "0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a26" + ovpk_m_hash = "0x0e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b" + tpk_m_hash = "0x082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0" + +[private_call_0.verification_key_hints.public_keys.ivpk_m.inner] +x = "0x00c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c" +y = "0x1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb151" +is_infinite = false + + [private_call_0.verification_key_hints.salted_initialization_hash] + inner = "0x16e38e91838134a964d7a5a42f03951c253f10dc548680d7d77a4a6ab193d8b3" + + [private_call_0.verification_key_hints.updated_class_id_witness] + leaf_index = "120" + sibling_path = [ + "0x03948d03e299b62ec468a36c5aaed9b2ec99de1ca6f891b5e35a38b224e0241e", + "0x26fa5749dc6bf5ae73016be4123dd8999a6f2f3b0c83000fb2957b91517a9a3f", + "0x159012fcfa91ebac3d7456369b7ef07c234cdc6450d29b3dfa36b3bfb255531d", + "0x23b7b4afca7eeb88b7d797b2fddc90b144e51b508e702e39ec4af07a6049f4a5", + "0x2edd4e68944dac758244213037fbe9d622c7c28d6070f16862b3e8986090bee4", + "0x1d5ea1a288ff1ff4cabceaaa2f93eda378a5fb0a2a55423f4d4d205969181931", + "0x23b80d0ef13d744a52faabf5651164d28f7faf902653e41a35472eea87936e6e", + "0x18ac27f81c0a8a78e77797c10cab4fbade9633a67765586f1bf66e2eb833a029", + "0x16c8aff52f0422f4bfc502620fe15dd6a4de67637563b7a8175f2d5727d268a4", + "0x1c76b6744bc3d6b1cd4b53459a08b4959643c0768fde657299fcc82e2732f744", + "0x12a6fac0fdfbd7897d8fe955f454cdb309ce8597d647ebfd0ba614c4eb215581", + "0x002b13fd827e0e0d6b4b44c63fdeaf75cfed5190728ff712530f5f0f6f92b1e4", + "0x1b61a4759569c7e380534b815a326c2f0614ce68188b3421b09db1a560349f4b", + "0x24faee168ea3e7ce5d9d22f24679594896a633ca5d12947fbcd2c28b1d27f94e", + "0x2c0e30deebb4fc9949601b0240d319424d3169290c5cd22c49c2f80b43491c24", + "0x1633b0cb253526da43ee63f3ec7a5ff4c9122f6f6ff53c5be3d6ee7e1daa7a4b", + "0x21a12dfd04d263a6a93feb45f10ae47f6142e9e0e29d66c20581bfa463983f43", + "0x0d02013ff44b6cc6cf983824fe5104671333c8243de05421c7a94033b02ef493", + "0x2f99a81e7faafb4d396d0cc32fe7e024c191325432ec3deb26878c8e69aa8a74", + "0x0f608351d05582fbead9c229631e4225305201e70d552a4c23915db3263507e3", + "0x1a85d719ace8c684b69950b47b17fb4b8a67b4454a5a8ff68bc33c2da4db4ce6", + "0x0ca806e767c92a5a84ae7fbc87886017fd616d5bb9944e76cb744051e30f8653", + "0x2dcebbd4d2afb62103883556c608e2ab29a0741ff744317f74d74ead537241db", + "0x0ceca69e0225bf70d28927ed19b793b034137ed87c901dd468a5c7d019b0c5a0", + "0x1983e65b490c4c4a2f0ba1bec5cf90a4cef0df719453e3c781d6310e7cdbcdd4", + "0x076cd8d40f992539f8034583bc6f2875f14eede666b8ddf12aac71fe90fd69ce", + "0x0caa288adc7dc74c3b3def6da3c6dcf8686ec1274eb35882437b2468ab598176", + "0x0179c92d038dd475c55c50689d306b24f0b7ff3622802b910be46b43ecef6596", + "0x1e60a8b88790824b178e6de4e2fa4f4623acd0a0bf100ba8fd9ccf95a7c9ca1c", + "0x0a0ce3ff3f93a8b62f857fb65f6e7db9330936e59b5ac6aa81a74c39aa5aeb1c", + "0x103f2e85701d4675ad6301fd100ffd649afc1f83a31ffbc7a71f12ba02625df5", + "0x1fb00a9227786ad2097c61cad83c201267d75841911691a9f554d8a02d3ecc90", + "0x19aedacdf53ccbe46ede5f653e3aa90872dd7184bf72b9a3763f750553a0fd9f", + "0x29c1557a25b705aa12decc723da5bc6ee57ff0d73dcd2eeeeeb8502d52bb80e2", + "0x1bfa49b22303484fb94e39d5e675fc3e71879d694b75e04eb521fdf7811997b8", + "0x15c54e05a78faa6df55608aa09cc2b4d94f9aecce72c64656ab2b1672a1acf35", + "0x1b5bf5d6a04a7fdc1f0ad8d5932c215ecd4d63c63d4c1af5b3d4947f66c9b194", + "0x0fdb0bd3ddf4531ca4f1de9e1a0d5d5997669c98f410e18e295cbc70e991f729", + "0x1e8e5a078bc01f2bfe12ffdf5cbd75109055869f0a6707b5c8eddbca3b9052ab", + "0x2995c91c614c3274568d97c6f8c70b9df77361434f18e77b48a19c390090c44c" +] + + [private_call_0.verification_key_hints.updated_class_id_leaf] + slot = "0x04aa829f7be68332750465e03b92ef63bc6e0fff7cfb1cf00ddc341e88632006" + value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" + next_slot = "0x077bb0f475657569d91f21509c7c928e0850ac34e02583083e1b0a901587c4c0" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000084" + +[private_call_1.vk] +key = [ + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000347", + "0x000000000000000000000000000000865f30019df603aeaed1c1d8e3c5cfc175", + "0x000000000000000000000000000000000008662c67e18149c024a3bacb2df682", + "0x000000000000000000000000000000bceab00d2d8bdeccfcd00a84a861dbf39d", + "0x00000000000000000000000000000000001650219ec9e8be886bcb85c38d4717", + "0x000000000000000000000000000000a7cf43c352dad6bf77469b1404e60e06fa", + "0x00000000000000000000000000000000001e546982146e898c6328ed6d1371e1", + "0x0000000000000000000000000000001a06adaa7ecf9f08773589e813e35a54ff", + "0x00000000000000000000000000000000001c0ef1e79d844f4ab04f853ae8970b", + "0x0000000000000000000000000000008ea0bed66d661f737dae9432cd211a55e8", + "0x00000000000000000000000000000000000455426a9c3b08ca2e8043336f387c", + "0x000000000000000000000000000000ea82e69a42b2d1019e9d8f9451913ac042", + "0x00000000000000000000000000000000000b08dca1909630d4e2adfb1d5098ea", + "0x000000000000000000000000000000fe7390b3fc62d2904ab863c97613a9f3f4", + "0x000000000000000000000000000000000006adef037868832479f56eb00ae2f2", + "0x000000000000000000000000000000371199c3359a930d0544c57f5981a56353", + "0x00000000000000000000000000000000002529cfbf41f326259cc2e28d6add58", + "0x000000000000000000000000000000c19a28af19d8043033aa6812430cb850f3", + "0x000000000000000000000000000000000010657456725ca7293b6c6a68b9b3a1", + "0x0000000000000000000000000000008cdae9bdd9a5ac55371cd8bedc86674c6a", + "0x000000000000000000000000000000000003b620a70ee10a1a00426d2d81e5fb", + "0x0000000000000000000000000000002806b12269d372065ac3b1166be1033175", + "0x00000000000000000000000000000000000d1b9812f91483c4dc99dd47842f14", + "0x00000000000000000000000000000079bde04066ea11cbbbdbc610b17b7ea716", + "0x0000000000000000000000000000000000172ed63b113f0b9ed00943690c10db", + "0x0000000000000000000000000000003d2554e7d5b58b0dcb37e36b8db350e8ef", + "0x0000000000000000000000000000000000093de1b2590406402c4caa2b0d400d", + "0x000000000000000000000000000000632862715830705b58ea13d3626158f43f", + "0x0000000000000000000000000000000000291028929fad3a3b92603079664d39", + "0x0000000000000000000000000000001fc48b67fb4ec9714cfe69efa8469d2faa", + "0x00000000000000000000000000000000002800a5c6aa06adba0feb138f51b7c1", + "0x000000000000000000000000000000626607acd3cfe08cec8ccec45fc27222a0", + "0x00000000000000000000000000000000000bf5451f8e8805b3e83e17c778ac8f", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000043cc5bf77e079b00db695cb77a0c27a755", + "0x000000000000000000000000000000000007bb974c2dca9f3583a7be610d27bc", + "0x00000000000000000000000000000097720e9504d37f0a32805569a8ef675230", + "0x00000000000000000000000000000000001d16d8825fcdb521746bb4c658a29f", + "0x000000000000000000000000000000872162f7d2ba720e691b5387dda2393047", + "0x00000000000000000000000000000000001b2d2710296ae242e420846aca6d30", + "0x000000000000000000000000000000e7d1fce90f172eb4ab5489d9241a8919f4", + "0x00000000000000000000000000000000002477d0d688545e7884c3d0f4926e75", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000e242c52613ef515743130929408b8395eb", + "0x00000000000000000000000000000000002f00c020f75dd48c87ed413a77180f", + "0x000000000000000000000000000000ea7902a077cb96eeabfc420359b9be6db3", + "0x000000000000000000000000000000000015628feadf61afbd89f5d0b872b2c3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000e6ff3a4cd8afe4ac9de0176a552fc09c35", + "0x00000000000000000000000000000000002259e282b0d22c622181e3d68e4322", + "0x000000000000000000000000000000eb70dc3306d84c664e4b10cccd60a9899a", + "0x0000000000000000000000000000000000270322a73bd1df2dbc3114462eb34e", + "0x00000000000000000000000000000039f2a727db728fb54b63a5a2dc525fd924", + "0x00000000000000000000000000000000002db1e2eca29501192e304da4047a17", + "0x000000000000000000000000000000e748ef8209f555579c98c0f60d798fc768", + "0x00000000000000000000000000000000002cbaf388ead0bc80dba57d2b1e0a6b", + "0x000000000000000000000000000000431bd61e90ed225a41f3992f2ec05406f2", + "0x000000000000000000000000000000000018335cb5d014bd80d4454621cdfbc5", + "0x0000000000000000000000000000000617b8aab9cb8f83be590c7c713c67c2ff", + "0x000000000000000000000000000000000013228c3be2488a8b526ac67437dd1c", + "0x000000000000000000000000000000e3e6fb8594f3d96a4e3b90eab96051bfab", + "0x0000000000000000000000000000000000041115da2e46ed09c4904290ce2f28", + "0x0000000000000000000000000000008dc24ee445f72e75590d77c59c2502c325", + "0x0000000000000000000000000000000000278df9d0273f8abe29181cb2097566", + "0x000000000000000000000000000000d779f5665a6d8739e46b9dbaa1fbb1d861", + "0x000000000000000000000000000000000013ff6895fed419bcb47b05aab16230", + "0x000000000000000000000000000000d8e0764f92f389448cc165a0d6c4031ee5", + "0x0000000000000000000000000000000000262984e59a1b92af14b9a461b32ab6", + "0x00000000000000000000000000000063a63c160d8a803a0aaa1797164c10eba1", + "0x00000000000000000000000000000000000c0ac58d8af92cb4105a1e3b3e8859", + "0x000000000000000000000000000000a040bfc1e24982ef134ebf0f974cc16f63", + "0x00000000000000000000000000000000002fd203a2c6c8f3f7b65cf7dd2124de", + "0x000000000000000000000000000000af7bf5d17f14cb02d020a3338b5ac8185f", + "0x00000000000000000000000000000000001f1e62776c318cbeac47805ea72d38", + "0x00000000000000000000000000000027865898be950dc50fbf51a531deeb66d0", + "0x0000000000000000000000000000000000304e7951f51b85f00e58e95ad211f6", + "0x000000000000000000000000000000fe0779b92c0bcb7f02ee39a0aa8ac50741", + "0x000000000000000000000000000000000022f9764c1c492c3a5743c994e8c712", + "0x0000000000000000000000000000005cb8a0df70faf6225ba47ea58cc69931ee", + "0x00000000000000000000000000000000000458fd9ec786e9a8af6300297d33ac", + "0x000000000000000000000000000000621fc10d8a9e4658642abd6cf5e17172ed", + "0x00000000000000000000000000000000002c583db8d2e51e9a7e91a19f89448d", + "0x0000000000000000000000000000009db8a71852e36b1d16f89c6fa435764de7", + "0x000000000000000000000000000000000006f24d141ba33dcfd7be7353938779", + "0x000000000000000000000000000000e29b7681545a3aff6ca4c964fa138485b0", + "0x000000000000000000000000000000000001ad9a17d78c8c41e7a9333fac80a8", + "0x00000000000000000000000000000098a0fab1f65c3b55a29b3258e290692ff5", + "0x000000000000000000000000000000000007e2e68bdee42d0f878077d5380a29", + "0x000000000000000000000000000000105cec7ee17bd10a991deb8da3dec94834", + "0x00000000000000000000000000000000001edf9dbf6f0fa27c8382b88eeaa7ad", + "0x00000000000000000000000000000084bb0cbfba6eebc0a0492e0aa234700dfa", + "0x00000000000000000000000000000000001d5edc6e61f842ccc7d3ddb54e624d", + "0x000000000000000000000000000000defe1347096986ac6d98a339f30b4c79a4", + "0x000000000000000000000000000000000004d963817920de50753220dcfc0f39", + "0x000000000000000000000000000000136a1458f0c92ec89a5e9320fd1c6e898c", + "0x00000000000000000000000000000000002860427d9f6b7ce48fe90398d3ce14", + "0x000000000000000000000000000000ee77d7fb9e9d8be2914e33d3561c617025", + "0x00000000000000000000000000000000001ee9005f891b0f488bbc9d6b89c6b2", + "0x000000000000000000000000000000c070442f554a223e1dec049b9e101b1338", + "0x0000000000000000000000000000000000082c84c85011f35d945335ca2ba917", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000026c53007876d885d7cbb2375814e9947f", + "0x0000000000000000000000000000000000149684831934ae61b89fa614a91503", + "0x000000000000000000000000000000ff682c870fdd41c2a48b43f4042246343e", + "0x000000000000000000000000000000000004ad1447334cc38d8422f7c6c3b72e", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000006c326bcc176f6bf7b61c67c607b538604e", + "0x00000000000000000000000000000000002e0df8ede24ac545f6f615607ae5a5", + "0x0000000000000000000000000000004810e97feaf203b539c161e31c09b9910d", + "0x00000000000000000000000000000000000e2612cea9f45e6238f1fcd8fe80e4" +] +hash = "0x02326db3f4292bc2483b97dc307b6d2f12920e3044ae9c04a1e662de1b5ea0d7" + +[private_call_1.verification_key_hints] +contract_class_artifact_hash = "0x06c89aad50296e10a3cf790b9d73c854d096b136adb7cdde89447ef5591392f3" +contract_class_public_bytecode_commitment = "0x1d694c92cbd2f2f8a373c90582a93a2889a43d04c84a4a0147c606655ae98dc5" +updated_class_id_delayed_public_mutable_values = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [private_call_1.verification_key_hints.function_leaf_membership_witness] + leaf_index = "1" + sibling_path = [ + "0x2a8a5b5b00b3298df0d362949857e44d9ab6dbe13517f17dae4d718eb429644b", + "0x29a39e8a923a570c2ff08365769dc6b9c551d550ee0e1a351eab6e04cd0df0a3", + "0x2974d8999d00928aa1378118756d6a4ba1368b1da89b2b1059c17fbb88ad21a8", + "0x2e6127fb2bcf542677ed9dfc6cd90a61a075142999aebccf345c816aff3a1d92", + "0x267a9c24e849f51869c93086ded207858dfb130344e1879a9d15d35096464824", + "0x1eb5f748aca7413c8875abf2789be0a1aec323884a365d9a59a1859aa2bce94e", + "0x2402a100768c2e339831cdb0b63e5c272a6f3318323a37642bea76ab5ea1ed0c" +] + + [private_call_1.verification_key_hints.public_keys] + npk_m_hash = "0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a26" + ovpk_m_hash = "0x0e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b" + tpk_m_hash = "0x082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0" + +[private_call_1.verification_key_hints.public_keys.ivpk_m.inner] +x = "0x00c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c" +y = "0x1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb151" +is_infinite = false + + [private_call_1.verification_key_hints.salted_initialization_hash] + inner = "0x16e38e91838134a964d7a5a42f03951c253f10dc548680d7d77a4a6ab193d8b3" + + [private_call_1.verification_key_hints.updated_class_id_witness] + leaf_index = "120" + sibling_path = [ + "0x03948d03e299b62ec468a36c5aaed9b2ec99de1ca6f891b5e35a38b224e0241e", + "0x26fa5749dc6bf5ae73016be4123dd8999a6f2f3b0c83000fb2957b91517a9a3f", + "0x159012fcfa91ebac3d7456369b7ef07c234cdc6450d29b3dfa36b3bfb255531d", + "0x23b7b4afca7eeb88b7d797b2fddc90b144e51b508e702e39ec4af07a6049f4a5", + "0x2edd4e68944dac758244213037fbe9d622c7c28d6070f16862b3e8986090bee4", + "0x1d5ea1a288ff1ff4cabceaaa2f93eda378a5fb0a2a55423f4d4d205969181931", + "0x23b80d0ef13d744a52faabf5651164d28f7faf902653e41a35472eea87936e6e", + "0x18ac27f81c0a8a78e77797c10cab4fbade9633a67765586f1bf66e2eb833a029", + "0x16c8aff52f0422f4bfc502620fe15dd6a4de67637563b7a8175f2d5727d268a4", + "0x1c76b6744bc3d6b1cd4b53459a08b4959643c0768fde657299fcc82e2732f744", + "0x12a6fac0fdfbd7897d8fe955f454cdb309ce8597d647ebfd0ba614c4eb215581", + "0x002b13fd827e0e0d6b4b44c63fdeaf75cfed5190728ff712530f5f0f6f92b1e4", + "0x1b61a4759569c7e380534b815a326c2f0614ce68188b3421b09db1a560349f4b", + "0x24faee168ea3e7ce5d9d22f24679594896a633ca5d12947fbcd2c28b1d27f94e", + "0x2c0e30deebb4fc9949601b0240d319424d3169290c5cd22c49c2f80b43491c24", + "0x1633b0cb253526da43ee63f3ec7a5ff4c9122f6f6ff53c5be3d6ee7e1daa7a4b", + "0x21a12dfd04d263a6a93feb45f10ae47f6142e9e0e29d66c20581bfa463983f43", + "0x0d02013ff44b6cc6cf983824fe5104671333c8243de05421c7a94033b02ef493", + "0x2f99a81e7faafb4d396d0cc32fe7e024c191325432ec3deb26878c8e69aa8a74", + "0x0f608351d05582fbead9c229631e4225305201e70d552a4c23915db3263507e3", + "0x1a85d719ace8c684b69950b47b17fb4b8a67b4454a5a8ff68bc33c2da4db4ce6", + "0x0ca806e767c92a5a84ae7fbc87886017fd616d5bb9944e76cb744051e30f8653", + "0x2dcebbd4d2afb62103883556c608e2ab29a0741ff744317f74d74ead537241db", + "0x0ceca69e0225bf70d28927ed19b793b034137ed87c901dd468a5c7d019b0c5a0", + "0x1983e65b490c4c4a2f0ba1bec5cf90a4cef0df719453e3c781d6310e7cdbcdd4", + "0x076cd8d40f992539f8034583bc6f2875f14eede666b8ddf12aac71fe90fd69ce", + "0x0caa288adc7dc74c3b3def6da3c6dcf8686ec1274eb35882437b2468ab598176", + "0x0179c92d038dd475c55c50689d306b24f0b7ff3622802b910be46b43ecef6596", + "0x1e60a8b88790824b178e6de4e2fa4f4623acd0a0bf100ba8fd9ccf95a7c9ca1c", + "0x0a0ce3ff3f93a8b62f857fb65f6e7db9330936e59b5ac6aa81a74c39aa5aeb1c", + "0x103f2e85701d4675ad6301fd100ffd649afc1f83a31ffbc7a71f12ba02625df5", + "0x1fb00a9227786ad2097c61cad83c201267d75841911691a9f554d8a02d3ecc90", + "0x19aedacdf53ccbe46ede5f653e3aa90872dd7184bf72b9a3763f750553a0fd9f", + "0x29c1557a25b705aa12decc723da5bc6ee57ff0d73dcd2eeeeeb8502d52bb80e2", + "0x1bfa49b22303484fb94e39d5e675fc3e71879d694b75e04eb521fdf7811997b8", + "0x15c54e05a78faa6df55608aa09cc2b4d94f9aecce72c64656ab2b1672a1acf35", + "0x1b5bf5d6a04a7fdc1f0ad8d5932c215ecd4d63c63d4c1af5b3d4947f66c9b194", + "0x0fdb0bd3ddf4531ca4f1de9e1a0d5d5997669c98f410e18e295cbc70e991f729", + "0x1e8e5a078bc01f2bfe12ffdf5cbd75109055869f0a6707b5c8eddbca3b9052ab", + "0x2995c91c614c3274568d97c6f8c70b9df77361434f18e77b48a19c390090c44c" +] + + [private_call_1.verification_key_hints.updated_class_id_leaf] + slot = "0x04aa829f7be68332750465e03b92ef63bc6e0fff7cfb1cf00ddc341e88632006" + value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" + next_slot = "0x077bb0f475657569d91f21509c7c928e0850ac34e02583083e1b0a901587c4c0" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000084" + +[private_call_2.vk] +key = [ + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000347", + "0x000000000000000000000000000000865f30019df603aeaed1c1d8e3c5cfc175", + "0x000000000000000000000000000000000008662c67e18149c024a3bacb2df682", + "0x000000000000000000000000000000bceab00d2d8bdeccfcd00a84a861dbf39d", + "0x00000000000000000000000000000000001650219ec9e8be886bcb85c38d4717", + "0x000000000000000000000000000000a7cf43c352dad6bf77469b1404e60e06fa", + "0x00000000000000000000000000000000001e546982146e898c6328ed6d1371e1", + "0x0000000000000000000000000000001a06adaa7ecf9f08773589e813e35a54ff", + "0x00000000000000000000000000000000001c0ef1e79d844f4ab04f853ae8970b", + "0x0000000000000000000000000000008ea0bed66d661f737dae9432cd211a55e8", + "0x00000000000000000000000000000000000455426a9c3b08ca2e8043336f387c", + "0x000000000000000000000000000000ea82e69a42b2d1019e9d8f9451913ac042", + "0x00000000000000000000000000000000000b08dca1909630d4e2adfb1d5098ea", + "0x000000000000000000000000000000fe7390b3fc62d2904ab863c97613a9f3f4", + "0x000000000000000000000000000000000006adef037868832479f56eb00ae2f2", + "0x000000000000000000000000000000371199c3359a930d0544c57f5981a56353", + "0x00000000000000000000000000000000002529cfbf41f326259cc2e28d6add58", + "0x000000000000000000000000000000c19a28af19d8043033aa6812430cb850f3", + "0x000000000000000000000000000000000010657456725ca7293b6c6a68b9b3a1", + "0x0000000000000000000000000000008cdae9bdd9a5ac55371cd8bedc86674c6a", + "0x000000000000000000000000000000000003b620a70ee10a1a00426d2d81e5fb", + "0x0000000000000000000000000000002806b12269d372065ac3b1166be1033175", + "0x00000000000000000000000000000000000d1b9812f91483c4dc99dd47842f14", + "0x00000000000000000000000000000079bde04066ea11cbbbdbc610b17b7ea716", + "0x0000000000000000000000000000000000172ed63b113f0b9ed00943690c10db", + "0x0000000000000000000000000000003d2554e7d5b58b0dcb37e36b8db350e8ef", + "0x0000000000000000000000000000000000093de1b2590406402c4caa2b0d400d", + "0x000000000000000000000000000000632862715830705b58ea13d3626158f43f", + "0x0000000000000000000000000000000000291028929fad3a3b92603079664d39", + "0x0000000000000000000000000000001fc48b67fb4ec9714cfe69efa8469d2faa", + "0x00000000000000000000000000000000002800a5c6aa06adba0feb138f51b7c1", + "0x000000000000000000000000000000626607acd3cfe08cec8ccec45fc27222a0", + "0x00000000000000000000000000000000000bf5451f8e8805b3e83e17c778ac8f", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000043cc5bf77e079b00db695cb77a0c27a755", + "0x000000000000000000000000000000000007bb974c2dca9f3583a7be610d27bc", + "0x00000000000000000000000000000097720e9504d37f0a32805569a8ef675230", + "0x00000000000000000000000000000000001d16d8825fcdb521746bb4c658a29f", + "0x000000000000000000000000000000872162f7d2ba720e691b5387dda2393047", + "0x00000000000000000000000000000000001b2d2710296ae242e420846aca6d30", + "0x000000000000000000000000000000e7d1fce90f172eb4ab5489d9241a8919f4", + "0x00000000000000000000000000000000002477d0d688545e7884c3d0f4926e75", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000e242c52613ef515743130929408b8395eb", + "0x00000000000000000000000000000000002f00c020f75dd48c87ed413a77180f", + "0x000000000000000000000000000000ea7902a077cb96eeabfc420359b9be6db3", + "0x000000000000000000000000000000000015628feadf61afbd89f5d0b872b2c3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000e6ff3a4cd8afe4ac9de0176a552fc09c35", + "0x00000000000000000000000000000000002259e282b0d22c622181e3d68e4322", + "0x000000000000000000000000000000eb70dc3306d84c664e4b10cccd60a9899a", + "0x0000000000000000000000000000000000270322a73bd1df2dbc3114462eb34e", + "0x00000000000000000000000000000039f2a727db728fb54b63a5a2dc525fd924", + "0x00000000000000000000000000000000002db1e2eca29501192e304da4047a17", + "0x000000000000000000000000000000e748ef8209f555579c98c0f60d798fc768", + "0x00000000000000000000000000000000002cbaf388ead0bc80dba57d2b1e0a6b", + "0x000000000000000000000000000000431bd61e90ed225a41f3992f2ec05406f2", + "0x000000000000000000000000000000000018335cb5d014bd80d4454621cdfbc5", + "0x0000000000000000000000000000000617b8aab9cb8f83be590c7c713c67c2ff", + "0x000000000000000000000000000000000013228c3be2488a8b526ac67437dd1c", + "0x000000000000000000000000000000e3e6fb8594f3d96a4e3b90eab96051bfab", + "0x0000000000000000000000000000000000041115da2e46ed09c4904290ce2f28", + "0x0000000000000000000000000000008dc24ee445f72e75590d77c59c2502c325", + "0x0000000000000000000000000000000000278df9d0273f8abe29181cb2097566", + "0x000000000000000000000000000000d779f5665a6d8739e46b9dbaa1fbb1d861", + "0x000000000000000000000000000000000013ff6895fed419bcb47b05aab16230", + "0x000000000000000000000000000000d8e0764f92f389448cc165a0d6c4031ee5", + "0x0000000000000000000000000000000000262984e59a1b92af14b9a461b32ab6", + "0x00000000000000000000000000000063a63c160d8a803a0aaa1797164c10eba1", + "0x00000000000000000000000000000000000c0ac58d8af92cb4105a1e3b3e8859", + "0x000000000000000000000000000000a040bfc1e24982ef134ebf0f974cc16f63", + "0x00000000000000000000000000000000002fd203a2c6c8f3f7b65cf7dd2124de", + "0x000000000000000000000000000000af7bf5d17f14cb02d020a3338b5ac8185f", + "0x00000000000000000000000000000000001f1e62776c318cbeac47805ea72d38", + "0x00000000000000000000000000000027865898be950dc50fbf51a531deeb66d0", + "0x0000000000000000000000000000000000304e7951f51b85f00e58e95ad211f6", + "0x000000000000000000000000000000fe0779b92c0bcb7f02ee39a0aa8ac50741", + "0x000000000000000000000000000000000022f9764c1c492c3a5743c994e8c712", + "0x0000000000000000000000000000005cb8a0df70faf6225ba47ea58cc69931ee", + "0x00000000000000000000000000000000000458fd9ec786e9a8af6300297d33ac", + "0x000000000000000000000000000000621fc10d8a9e4658642abd6cf5e17172ed", + "0x00000000000000000000000000000000002c583db8d2e51e9a7e91a19f89448d", + "0x0000000000000000000000000000009db8a71852e36b1d16f89c6fa435764de7", + "0x000000000000000000000000000000000006f24d141ba33dcfd7be7353938779", + "0x000000000000000000000000000000e29b7681545a3aff6ca4c964fa138485b0", + "0x000000000000000000000000000000000001ad9a17d78c8c41e7a9333fac80a8", + "0x00000000000000000000000000000098a0fab1f65c3b55a29b3258e290692ff5", + "0x000000000000000000000000000000000007e2e68bdee42d0f878077d5380a29", + "0x000000000000000000000000000000105cec7ee17bd10a991deb8da3dec94834", + "0x00000000000000000000000000000000001edf9dbf6f0fa27c8382b88eeaa7ad", + "0x00000000000000000000000000000084bb0cbfba6eebc0a0492e0aa234700dfa", + "0x00000000000000000000000000000000001d5edc6e61f842ccc7d3ddb54e624d", + "0x000000000000000000000000000000defe1347096986ac6d98a339f30b4c79a4", + "0x000000000000000000000000000000000004d963817920de50753220dcfc0f39", + "0x000000000000000000000000000000136a1458f0c92ec89a5e9320fd1c6e898c", + "0x00000000000000000000000000000000002860427d9f6b7ce48fe90398d3ce14", + "0x000000000000000000000000000000ee77d7fb9e9d8be2914e33d3561c617025", + "0x00000000000000000000000000000000001ee9005f891b0f488bbc9d6b89c6b2", + "0x000000000000000000000000000000c070442f554a223e1dec049b9e101b1338", + "0x0000000000000000000000000000000000082c84c85011f35d945335ca2ba917", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000026c53007876d885d7cbb2375814e9947f", + "0x0000000000000000000000000000000000149684831934ae61b89fa614a91503", + "0x000000000000000000000000000000ff682c870fdd41c2a48b43f4042246343e", + "0x000000000000000000000000000000000004ad1447334cc38d8422f7c6c3b72e", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000006c326bcc176f6bf7b61c67c607b538604e", + "0x00000000000000000000000000000000002e0df8ede24ac545f6f615607ae5a5", + "0x0000000000000000000000000000004810e97feaf203b539c161e31c09b9910d", + "0x00000000000000000000000000000000000e2612cea9f45e6238f1fcd8fe80e4" +] +hash = "0x02326db3f4292bc2483b97dc307b6d2f12920e3044ae9c04a1e662de1b5ea0d7" + +[private_call_2.verification_key_hints] +contract_class_artifact_hash = "0x06c89aad50296e10a3cf790b9d73c854d096b136adb7cdde89447ef5591392f3" +contract_class_public_bytecode_commitment = "0x1d694c92cbd2f2f8a373c90582a93a2889a43d04c84a4a0147c606655ae98dc5" +updated_class_id_delayed_public_mutable_values = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [private_call_2.verification_key_hints.function_leaf_membership_witness] + leaf_index = "1" + sibling_path = [ + "0x2a8a5b5b00b3298df0d362949857e44d9ab6dbe13517f17dae4d718eb429644b", + "0x29a39e8a923a570c2ff08365769dc6b9c551d550ee0e1a351eab6e04cd0df0a3", + "0x2974d8999d00928aa1378118756d6a4ba1368b1da89b2b1059c17fbb88ad21a8", + "0x2e6127fb2bcf542677ed9dfc6cd90a61a075142999aebccf345c816aff3a1d92", + "0x267a9c24e849f51869c93086ded207858dfb130344e1879a9d15d35096464824", + "0x1eb5f748aca7413c8875abf2789be0a1aec323884a365d9a59a1859aa2bce94e", + "0x2402a100768c2e339831cdb0b63e5c272a6f3318323a37642bea76ab5ea1ed0c" +] + + [private_call_2.verification_key_hints.public_keys] + npk_m_hash = "0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a26" + ovpk_m_hash = "0x0e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b" + tpk_m_hash = "0x082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0" + +[private_call_2.verification_key_hints.public_keys.ivpk_m.inner] +x = "0x00c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c" +y = "0x1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb151" +is_infinite = false + + [private_call_2.verification_key_hints.salted_initialization_hash] + inner = "0x16e38e91838134a964d7a5a42f03951c253f10dc548680d7d77a4a6ab193d8b3" + + [private_call_2.verification_key_hints.updated_class_id_witness] + leaf_index = "120" + sibling_path = [ + "0x03948d03e299b62ec468a36c5aaed9b2ec99de1ca6f891b5e35a38b224e0241e", + "0x26fa5749dc6bf5ae73016be4123dd8999a6f2f3b0c83000fb2957b91517a9a3f", + "0x159012fcfa91ebac3d7456369b7ef07c234cdc6450d29b3dfa36b3bfb255531d", + "0x23b7b4afca7eeb88b7d797b2fddc90b144e51b508e702e39ec4af07a6049f4a5", + "0x2edd4e68944dac758244213037fbe9d622c7c28d6070f16862b3e8986090bee4", + "0x1d5ea1a288ff1ff4cabceaaa2f93eda378a5fb0a2a55423f4d4d205969181931", + "0x23b80d0ef13d744a52faabf5651164d28f7faf902653e41a35472eea87936e6e", + "0x18ac27f81c0a8a78e77797c10cab4fbade9633a67765586f1bf66e2eb833a029", + "0x16c8aff52f0422f4bfc502620fe15dd6a4de67637563b7a8175f2d5727d268a4", + "0x1c76b6744bc3d6b1cd4b53459a08b4959643c0768fde657299fcc82e2732f744", + "0x12a6fac0fdfbd7897d8fe955f454cdb309ce8597d647ebfd0ba614c4eb215581", + "0x002b13fd827e0e0d6b4b44c63fdeaf75cfed5190728ff712530f5f0f6f92b1e4", + "0x1b61a4759569c7e380534b815a326c2f0614ce68188b3421b09db1a560349f4b", + "0x24faee168ea3e7ce5d9d22f24679594896a633ca5d12947fbcd2c28b1d27f94e", + "0x2c0e30deebb4fc9949601b0240d319424d3169290c5cd22c49c2f80b43491c24", + "0x1633b0cb253526da43ee63f3ec7a5ff4c9122f6f6ff53c5be3d6ee7e1daa7a4b", + "0x21a12dfd04d263a6a93feb45f10ae47f6142e9e0e29d66c20581bfa463983f43", + "0x0d02013ff44b6cc6cf983824fe5104671333c8243de05421c7a94033b02ef493", + "0x2f99a81e7faafb4d396d0cc32fe7e024c191325432ec3deb26878c8e69aa8a74", + "0x0f608351d05582fbead9c229631e4225305201e70d552a4c23915db3263507e3", + "0x1a85d719ace8c684b69950b47b17fb4b8a67b4454a5a8ff68bc33c2da4db4ce6", + "0x0ca806e767c92a5a84ae7fbc87886017fd616d5bb9944e76cb744051e30f8653", + "0x2dcebbd4d2afb62103883556c608e2ab29a0741ff744317f74d74ead537241db", + "0x0ceca69e0225bf70d28927ed19b793b034137ed87c901dd468a5c7d019b0c5a0", + "0x1983e65b490c4c4a2f0ba1bec5cf90a4cef0df719453e3c781d6310e7cdbcdd4", + "0x076cd8d40f992539f8034583bc6f2875f14eede666b8ddf12aac71fe90fd69ce", + "0x0caa288adc7dc74c3b3def6da3c6dcf8686ec1274eb35882437b2468ab598176", + "0x0179c92d038dd475c55c50689d306b24f0b7ff3622802b910be46b43ecef6596", + "0x1e60a8b88790824b178e6de4e2fa4f4623acd0a0bf100ba8fd9ccf95a7c9ca1c", + "0x0a0ce3ff3f93a8b62f857fb65f6e7db9330936e59b5ac6aa81a74c39aa5aeb1c", + "0x103f2e85701d4675ad6301fd100ffd649afc1f83a31ffbc7a71f12ba02625df5", + "0x1fb00a9227786ad2097c61cad83c201267d75841911691a9f554d8a02d3ecc90", + "0x19aedacdf53ccbe46ede5f653e3aa90872dd7184bf72b9a3763f750553a0fd9f", + "0x29c1557a25b705aa12decc723da5bc6ee57ff0d73dcd2eeeeeb8502d52bb80e2", + "0x1bfa49b22303484fb94e39d5e675fc3e71879d694b75e04eb521fdf7811997b8", + "0x15c54e05a78faa6df55608aa09cc2b4d94f9aecce72c64656ab2b1672a1acf35", + "0x1b5bf5d6a04a7fdc1f0ad8d5932c215ecd4d63c63d4c1af5b3d4947f66c9b194", + "0x0fdb0bd3ddf4531ca4f1de9e1a0d5d5997669c98f410e18e295cbc70e991f729", + "0x1e8e5a078bc01f2bfe12ffdf5cbd75109055869f0a6707b5c8eddbca3b9052ab", + "0x2995c91c614c3274568d97c6f8c70b9df77361434f18e77b48a19c390090c44c" +] + + [private_call_2.verification_key_hints.updated_class_id_leaf] + slot = "0x04aa829f7be68332750465e03b92ef63bc6e0fff7cfb1cf00ddc341e88632006" + value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" + next_slot = "0x077bb0f475657569d91f21509c7c928e0850ac34e02583083e1b0a901587c4c0" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000084" + +[app_public_inputs_0] +args_hash = "0x06a98a2a35aa4722fcc00b92195e61295f6b1c621792fcfe00191381a31178f8" +returns_hash = "0x20fd6cca0f81d2e3d2192b45a0208ef249e8032b9785fe9ecfed10beb1d36cb5" +start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000008" +end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000a" +expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +expected_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000009" +min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +is_fee_payer = false +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0d84c2" + + [app_public_inputs_0.call_context] + is_static_call = true + + [app_public_inputs_0.call_context.msg_sender] + inner = "0x023a62eaf4ce3a8f2752add0746950be81e1f647953b1c21f038c8c2f5d94f4a" + + [app_public_inputs_0.call_context.contract_address] + inner = "0x023e27ffe99ffb57c23b47f77298a16e82b8166a3a052ce3217b06f27a693e8d" + + [app_public_inputs_0.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000080d3af36" + + [app_public_inputs_0.note_hash_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x158140e435824e3e5383ec9780da5083f41b9135df43fe241efc116fb988f802" +counter = "0x0000000000000000000000000000000000000000000000000000000000000009" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hash_read_requests.array]] +[app_public_inputs_0.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifier_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifier_read_requests.array]] +[app_public_inputs_0.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_0.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.note_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_0.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_teardown_call_request] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.contract_class_logs_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_0.contract_class_logs_hashes.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.contract_class_logs_hashes.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.anchor_block_header] + sponge_blob_hash = "0x2a15dc7ec43b465bf99f54afeddf01deb1956bc1b168dca0dee3fd42651c066d" + total_fees = "0x0000000000000000000000000000000000000000000000000035dd7429a09780" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000722f4" + + [app_public_inputs_0.anchor_block_header.last_archive] + root = "0x17bffe007799492e080dedbbd1c0537f2cf07c6da475964e6ba2ac1238ca18b4" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" + +[app_public_inputs_0.anchor_block_header.state.l1_to_l2_message_tree] +root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" + +[app_public_inputs_0.anchor_block_header.state.partial.note_hash_tree] +root = "0x0dc9959e45144b0bff03308b20445805d413ef104b8c1cffec0df82fa026ddac" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" + +[app_public_inputs_0.anchor_block_header.state.partial.nullifier_tree] +root = "0x0429ae2142380c233e3eaae7cb2139acb56e5f1655f0c0869a2c86b61945ac79" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" + +[app_public_inputs_0.anchor_block_header.state.partial.public_data_tree] +root = "0x2e98690a14fa5e0ac8d56a825563ca3e2331f9be07e1e2065af4aaeb5fe569d2" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" + + [app_public_inputs_0.anchor_block_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000fb3702bd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c3342" + + [app_public_inputs_0.anchor_block_header.global_variables.coinbase] + inner = "0x000000000000000000000000aa302018c588f8a0cbf1c93ef6e17276cf33d1ef" + + [app_public_inputs_0.anchor_block_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_0.anchor_block_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" + + [app_public_inputs_0.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000fb3702bd" + +[app_public_inputs_0.tx_context.gas_settings.gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" +l2_gas = "0x000000000000000000000000000000000000000000000000000000000063cae0" + +[app_public_inputs_0.tx_context.gas_settings.teardown_gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000018000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" + +[app_public_inputs_0.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000336bfe2ba6" + +[app_public_inputs_0.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1] +args_hash = "0x06a98a2a35aa4722fcc00b92195e61295f6b1c621792fcfe00191381a31178f8" +returns_hash = "0x20fd6cca0f81d2e3d2192b45a0208ef249e8032b9785fe9ecfed10beb1d36cb5" +start_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000d" +end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000f" +expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +expected_revertible_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000e" +min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +is_fee_payer = false +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0d84c2" + + [app_public_inputs_1.call_context] + is_static_call = false + + [app_public_inputs_1.call_context.msg_sender] + inner = "0x1f3be138a5383c5ae6bfe93f200978857538b2100be1f25186f9da6e3e304d67" + + [app_public_inputs_1.call_context.contract_address] + inner = "0x023e27ffe99ffb57c23b47f77298a16e82b8166a3a052ce3217b06f27a693e8d" + + [app_public_inputs_1.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000080d3af36" + + [app_public_inputs_1.note_hash_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x158140e435824e3e5383ec9780da5083f41b9135df43fe241efc116fb988f802" +counter = "0x000000000000000000000000000000000000000000000000000000000000000e" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hash_read_requests.array]] +[app_public_inputs_1.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifier_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifier_read_requests.array]] +[app_public_inputs_1.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_1.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.note_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_1.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_teardown_call_request] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.contract_class_logs_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_1.contract_class_logs_hashes.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.contract_class_logs_hashes.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.anchor_block_header] + sponge_blob_hash = "0x2a15dc7ec43b465bf99f54afeddf01deb1956bc1b168dca0dee3fd42651c066d" + total_fees = "0x0000000000000000000000000000000000000000000000000035dd7429a09780" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000722f4" + + [app_public_inputs_1.anchor_block_header.last_archive] + root = "0x17bffe007799492e080dedbbd1c0537f2cf07c6da475964e6ba2ac1238ca18b4" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" + +[app_public_inputs_1.anchor_block_header.state.l1_to_l2_message_tree] +root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" + +[app_public_inputs_1.anchor_block_header.state.partial.note_hash_tree] +root = "0x0dc9959e45144b0bff03308b20445805d413ef104b8c1cffec0df82fa026ddac" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" + +[app_public_inputs_1.anchor_block_header.state.partial.nullifier_tree] +root = "0x0429ae2142380c233e3eaae7cb2139acb56e5f1655f0c0869a2c86b61945ac79" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" + +[app_public_inputs_1.anchor_block_header.state.partial.public_data_tree] +root = "0x2e98690a14fa5e0ac8d56a825563ca3e2331f9be07e1e2065af4aaeb5fe569d2" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" + + [app_public_inputs_1.anchor_block_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000fb3702bd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c3342" + + [app_public_inputs_1.anchor_block_header.global_variables.coinbase] + inner = "0x000000000000000000000000aa302018c588f8a0cbf1c93ef6e17276cf33d1ef" + + [app_public_inputs_1.anchor_block_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_1.anchor_block_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" + + [app_public_inputs_1.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000fb3702bd" + +[app_public_inputs_1.tx_context.gas_settings.gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" +l2_gas = "0x000000000000000000000000000000000000000000000000000000000063cae0" + +[app_public_inputs_1.tx_context.gas_settings.teardown_gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000018000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" + +[app_public_inputs_1.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000336bfe2ba6" + +[app_public_inputs_1.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2] +args_hash = "0x06a98a2a35aa4722fcc00b92195e61295f6b1c621792fcfe00191381a31178f8" +returns_hash = "0x20fd6cca0f81d2e3d2192b45a0208ef249e8032b9785fe9ecfed10beb1d36cb5" +start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000010" +end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000012" +expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +expected_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000011" +min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +is_fee_payer = false +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0d84c2" + + [app_public_inputs_2.call_context] + is_static_call = false + + [app_public_inputs_2.call_context.msg_sender] + inner = "0x1f3be138a5383c5ae6bfe93f200978857538b2100be1f25186f9da6e3e304d67" + + [app_public_inputs_2.call_context.contract_address] + inner = "0x023e27ffe99ffb57c23b47f77298a16e82b8166a3a052ce3217b06f27a693e8d" + + [app_public_inputs_2.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000080d3af36" + + [app_public_inputs_2.note_hash_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000001" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x158140e435824e3e5383ec9780da5083f41b9135df43fe241efc116fb988f802" +counter = "0x0000000000000000000000000000000000000000000000000000000000000011" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hash_read_requests.array]] +[app_public_inputs_2.note_hash_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.note_hash_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifier_read_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifier_read_requests.array]] +[app_public_inputs_2.nullifier_read_requests.array.inner] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[app_public_inputs_2.nullifier_read_requests.array.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.note_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.note_hashes.array]] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.nullifiers.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.nullifiers.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_call_requests.array]] + args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context] + is_static_call = false + + [app_public_inputs_2.private_call_requests.array.call_context.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_call_requests.array.call_context.function_selector] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.public_call_requests.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_call_requests.array.inner.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_teardown_call_request] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.l2_to_l1_msgs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner] + content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.l2_to_l1_msgs.array.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.private_logs.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner] + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.private_logs.array.inner.log] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.contract_class_logs_hashes] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[app_public_inputs_2.contract_class_logs_hashes.array]] + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.contract_class_logs_hashes.array.inner] + value = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.anchor_block_header] + sponge_blob_hash = "0x2a15dc7ec43b465bf99f54afeddf01deb1956bc1b168dca0dee3fd42651c066d" + total_fees = "0x0000000000000000000000000000000000000000000000000035dd7429a09780" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000722f4" + + [app_public_inputs_2.anchor_block_header.last_archive] + root = "0x17bffe007799492e080dedbbd1c0537f2cf07c6da475964e6ba2ac1238ca18b4" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" + +[app_public_inputs_2.anchor_block_header.state.l1_to_l2_message_tree] +root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" + +[app_public_inputs_2.anchor_block_header.state.partial.note_hash_tree] +root = "0x0dc9959e45144b0bff03308b20445805d413ef104b8c1cffec0df82fa026ddac" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" + +[app_public_inputs_2.anchor_block_header.state.partial.nullifier_tree] +root = "0x0429ae2142380c233e3eaae7cb2139acb56e5f1655f0c0869a2c86b61945ac79" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" + +[app_public_inputs_2.anchor_block_header.state.partial.public_data_tree] +root = "0x2e98690a14fa5e0ac8d56a825563ca3e2331f9be07e1e2065af4aaeb5fe569d2" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" + + [app_public_inputs_2.anchor_block_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000fb3702bd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c3342" + + [app_public_inputs_2.anchor_block_header.global_variables.coinbase] + inner = "0x000000000000000000000000aa302018c588f8a0cbf1c93ef6e17276cf33d1ef" + + [app_public_inputs_2.anchor_block_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [app_public_inputs_2.anchor_block_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" + + [app_public_inputs_2.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x00000000000000000000000000000000000000000000000000000000fb3702bd" + +[app_public_inputs_2.tx_context.gas_settings.gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" +l2_gas = "0x000000000000000000000000000000000000000000000000000000000063cae0" + +[app_public_inputs_2.tx_context.gas_settings.teardown_gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000018000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" + +[app_public_inputs_2.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000336bfe2ba6" + +[app_public_inputs_2.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-inner/Prover.toml b/noir-projects/noir-protocol-circuits/crates/private-kernel-inner/Prover.toml index 91f33eeac7c0..8b18e90b3cd2 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-inner/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-inner/Prover.toml @@ -1,128 +1,128 @@ [previous_kernel.vk_data] -leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000000" +leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000041" sibling_path = [ - "0x0ddc610a21615b2984181082c3de07058b9f7d4be62806c4fd475161f8bd2be3", - "0x0f92d54d29bddf6ec768db2c0b4685fb325d248b3ad9a3c6adda76c6c5004224", - "0x0656bbf5e3f4cc4fa5e2fa46e7fd370db0bee05586a1849c37c77d05abe2d8a5", - "0x166399703d23a5c22febc6185f8eb93c72b65906eefef226e643c35fa0022adb", - "0x25f6f5fc25ee815cef59a1889f1e39db3d431d01b01ee1554f9492afec9d41d6", - "0x28650667b92be48b116289119fa4794a5fe8fe5792a49d89b9977feae7f685a6", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x12c59c16ed84032f7c5273ff19d7a05e8e861c23959fb71cf4b2c6ac45d21f8c", + "0x225eef52a484280b0f1c6cb9f90a84dc301536c01bfa4d61bd6496b3eaf19052", + "0x0e084e8198288b2ff94eaf4d6f37fba06e430a879dd37c726a3b5a65416fe6b6", + "0x30105bad22ddcc508b739b7c9ad87a561c569ff5cb0098a853c1c4ac21b7a037", + "0x1e20ad4181460cbfdc74ca773502c59b890f184efe300ebad895956d318422da", + "0x1434e6e2d5db1053ab8a3be58704509c799ee17e109c77f441f7bf1755400249", + "0x0e9cb07dc8495e2adab02c5db0e34a0dbe42e9b473e0462641c54f73a4a4fdd3" ] [previous_kernel.vk_data.vk] key = [ - "0x0000000000000000000000000000000000000000000000000000000000000010", + "0x0000000000000000000000000000000000000000000000000000000000000011", "0x000000000000000000000000000000000000000000000000000000000000001a", - "0x0000000000000000000000000000000000000000000000000000000000000c11", - "0x000000000000000000000000000000b56b478d39fe1ea8636ca1c5f7efe26465", - "0x00000000000000000000000000000000002ce8a9b4b8b40012f631f6a39b6121", - "0x000000000000000000000000000000e90605e79e3b491b4e35bed971ffe40f20", - "0x000000000000000000000000000000000014aac08af29b80ea5e82169bde9f1b", - "0x000000000000000000000000000000f23100dd9e774faa9da6adabb0a5e868d1", - "0x00000000000000000000000000000000000675d3fb2db13df5feb7837a996202", - "0x0000000000000000000000000000002d41a263946c21172989f16b6c3eabd14b", - "0x00000000000000000000000000000000002f76f5733e8a0b6e45ad715c844fa3", - "0x0000000000000000000000000000009906b77efd02f89dd64543cb41b2ee7dc0", - "0x000000000000000000000000000000000011990c3a05d603a15abfdd104b7f45", - "0x000000000000000000000000000000b68418cb6eb350097b81ceebf7216de49f", - "0x0000000000000000000000000000000000193b041e80721ea6304e3edc45a55a", - "0x0000000000000000000000000000007f41793e8f1a2fbe4047a8c9b3ea8a7eba", - "0x000000000000000000000000000000000004ad79eb6e09a672b49359e429d4b2", - "0x00000000000000000000000000000084b9e57a26da81e52f9d96f484a3d8a6ae", - "0x00000000000000000000000000000000001b4cff12b3ca2c242b1cb101ca1f62", - "0x00000000000000000000000000000051285e317a9d17f2180bf8ec1f3e31c266", - "0x00000000000000000000000000000000002f79f4597dc1cbdfe8060d1d92c7fc", - "0x000000000000000000000000000000bfdd478df770ff0d6a9f5d30c6380e3bb2", - "0x00000000000000000000000000000000000f6c52e2949dd6fa7eff016e2e5bb6", - "0x0000000000000000000000000000001cba707dc36043107ad882453ae5d8b129", - "0x0000000000000000000000000000000000059cc841348db66a31d2dfa33b89a0", - "0x0000000000000000000000000000000e2b2caaf1a1eda41d509cc5221c984b51", - "0x0000000000000000000000000000000000037cc127472715a44cac19993d448a", - "0x0000000000000000000000000000003cc6bfe8250e54d57ce7daedc9a7095bc8", - "0x00000000000000000000000000000000001c95108bb4f2494bfef842093c3b36", - "0x0000000000000000000000000000008313e6a820b2f5c2a7de8028cd31798633", - "0x000000000000000000000000000000000027be294c15550f339b0839d5860142", - "0x00000000000000000000000000000060338657a29bcf8c13a4b50294e337ef11", - "0x00000000000000000000000000000000001569de523f46c6226a398155490417", - "0x000000000000000000000000000000163a5d9281ca7ac774da33d1bd5e32dd54", - "0x00000000000000000000000000000000001cea3677784e36b40d3084060d7486", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000008a36ca53543c7bd871dd8974dda60ec04e", - "0x000000000000000000000000000000000028fcc75fb20c13fa73b0b5dd1a9df0", - "0x000000000000000000000000000000646eccdb4bcb213d9d9867f291bc4cc715", - "0x0000000000000000000000000000000000239e0bfd2fe8666da2541d2b7e9242", - "0x00000000000000000000000000000057b0434a909bdd123f328dd722f50de441", - "0x0000000000000000000000000000000000056e909ead4cc889ca4ae259618b9e", - "0x000000000000000000000000000000cce3583f4dbdf7f0ea96b8413114530b7f", - "0x0000000000000000000000000000000000029d93569d5fb4eccfe54516bbfc2c", - "0x0000000000000000000000000000000202259bdd735f5d0996b36a14296dd956", - "0x00000000000000000000000000000000001c9a81340c0ef1a3f8ab9378b45228", - "0x000000000000000000000000000000bb9541231ccc05d3210933db9b2cfd662a", - "0x00000000000000000000000000000000002e90121d7079020ef60bf83a167d82", - "0x0000000000000000000000000000008e531da6a57f645193723255cc3949f2a6", - "0x000000000000000000000000000000000023d3bfa481c11731a958ae003b7049", - "0x0000000000000000000000000000005d505cd2a7715559ab2fb8ffa94fac158b", - "0x0000000000000000000000000000000000283299e0b6841cadaef68c90af63b3", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000a50e32219d22dc5bc0a2a3afa8d1c963bf", - "0x00000000000000000000000000000000001b05579d422ec3526b639fa813b3db", - "0x000000000000000000000000000000931e9ee47cc6828d015bfd807445f50921", - "0x000000000000000000000000000000000005283cabb6b55f9baa597d00d3f46f", - "0x000000000000000000000000000000f14ecdef3987001b29e5574b25db85e726", - "0x00000000000000000000000000000000002b26e84ba3e9db90b9b761fbd5ba48", - "0x00000000000000000000000000000054401c158e8bfa1eac201ac628df1458d3", - "0x000000000000000000000000000000000028b61261027652e8ca3b29fb567872", - "0x0000000000000000000000000000005ddf21ec29f762249f79a86d986723b259", - "0x000000000000000000000000000000000020d889a78eaaeeced668f7a5e6a155", - "0x000000000000000000000000000000fbf31736f1c118ed779b00b56effa82f84", - "0x00000000000000000000000000000000001c10198fa65839280c9a4df0d48c69", - "0x000000000000000000000000000000ae45bd31909c920cd302c1833dc9dac27c", - "0x00000000000000000000000000000000000b5e828a1794bb52b1ef28384f36c3", - "0x000000000000000000000000000000623a32eccef6d3f192c9090e2c8d211339", - "0x000000000000000000000000000000000017dbcb62b1ef67a30ab74432100e03", - "0x0000000000000000000000000000008e75c04775713fe2b95076a7a5e1036c46", - "0x0000000000000000000000000000000000070ea9b40827062280d6e3cc9609a6", - "0x000000000000000000000000000000c70577cdcada107c62a7732ef0d2bbc15f", - "0x00000000000000000000000000000000002e57c64ac76e0a1e1c5980782cb606", - "0x000000000000000000000000000000902c14297534b09b2a8072cd93a9489887", - "0x00000000000000000000000000000000000cb983d7cc09d74a951dbf12ad432b", - "0x00000000000000000000000000000012bff816b24bc7a97ad6b1549515d6b28e", - "0x00000000000000000000000000000000000467570dff77ca3a342e4fc4d1a66b", - "0x00000000000000000000000000000080a63925457f739d70103395ccb7dcd29d", - "0x00000000000000000000000000000000000249558e7e5b5d6473ec5a9a980688", - "0x0000000000000000000000000000006cd74958767b5d51a95549a316e285ab74", - "0x0000000000000000000000000000000000091261933d2e12b6818f72bdc3e0c2", - "0x000000000000000000000000000000f97e56f24f292a230cf6c8350df6989d74", - "0x0000000000000000000000000000000000191f5e720c5ae2ded820c5e22cf23f", - "0x000000000000000000000000000000d3659c79160cc300c1726cdfe0a093bc08", - "0x000000000000000000000000000000000028e8e8952512f8006336791f90f01d", - "0x0000000000000000000000000000007ee7b8782f98bb5d90cbdc6fe174a42009", - "0x00000000000000000000000000000000000ae0ee6c55535140057064aa3fc5f0", - "0x000000000000000000000000000000d2bb98513b84e1e6f4e0b606bc025f9c48", - "0x00000000000000000000000000000000000b21f9d209054956c0524fababf1e9", - "0x000000000000000000000000000000d81d8ac019f7fed05a6b57f7845f56e44f", - "0x00000000000000000000000000000000002971c35ad470594c9a15abfc0e25a6", - "0x000000000000000000000000000000415d3a9385f247cc4092e3aad3382acd35", - "0x000000000000000000000000000000000025f0852ecc99395598d1e68d0ca89f", - "0x0000000000000000000000000000004f32605fa17fb311a06f7fb843c15d558a", - "0x000000000000000000000000000000000005071f43d210d49c73d5f25a18a596", - "0x0000000000000000000000000000000a679653df2810b4ec4c7adcd1cd7c97c8", - "0x000000000000000000000000000000000013c145ee6755ca17c398dafb88a569", - "0x00000000000000000000000000000083bace0537b2947643af96ab4b4aa8c478", - "0x000000000000000000000000000000000011ae383aeafc332a329462493ac315", - "0x000000000000000000000000000000a18bcfba0739bc5f71bd74ec53b6837fea", - "0x00000000000000000000000000000000001c2a9a991c7dbcd75129f92ff372b1", - "0x0000000000000000000000000000002c80b406fa46ad088b2e8d4f5a5701d47c", - "0x00000000000000000000000000000000001879ed897e504955597f01336b1d86", - "0x000000000000000000000000000000655b7a8802d367044c042458a17a0aeab4", - "0x000000000000000000000000000000000021be3e235af1a949dbf105cbe725d0", + "0x0000000000000000000000000000000000000000000000000000000000000cbd", + "0x000000000000000000000000000000c4d62213b081c8e90e6c8f3587321997f5", + "0x00000000000000000000000000000000002236a0b9f0654f7cd634c9c34280f1", + "0x0000000000000000000000000000007cb00736872fd50e291ec99fb640f1f7d9", + "0x00000000000000000000000000000000002d1b1b74b74ddf7d6f964a7bdb2af3", + "0x000000000000000000000000000000f26bcf89c86dcbce68a4f1b5b73505dcec", + "0x000000000000000000000000000000000011a128ae6c7be3a962485534f27786", + "0x00000000000000000000000000000088278f8cce72a5f698601f11a1532a9dad", + "0x00000000000000000000000000000000000d9caeabde23d8c2a0bd2cdef54193", + "0x0000000000000000000000000000001cfb29930f6753e5cb6a60342c16fe5e4f", + "0x00000000000000000000000000000000001022a2847e12bdd43b96342e5b8e16", + "0x000000000000000000000000000000fefee7789c5b50b89ce3ac6155975c4319", + "0x000000000000000000000000000000000002e25d02799b225c89aba3a667d7e5", + "0x0000000000000000000000000000006e210889b06205312234c097f979fca3b5", + "0x00000000000000000000000000000000000566396dc1f8e15f3a1c3729bb3393", + "0x0000000000000000000000000000009790f776d7aaecbcaf977d3aad6070c4e4", + "0x00000000000000000000000000000000002dcdeaf93e01c780512d9950fbfd94", + "0x000000000000000000000000000000d2ef194a7b605db9c6df08b9576c97735e", + "0x00000000000000000000000000000000001ff98ab3818a3d5fdc538a7bbeb87e", + "0x000000000000000000000000000000be40a925ee773bfc3923df01da59a497d7", + "0x00000000000000000000000000000000001fb52b895f997b5a90ea722d9a4140", + "0x000000000000000000000000000000dd5a7d1074be39e4451795f983d45b5be3", + "0x00000000000000000000000000000000001cbfd5b0d763096343af10ed1f3496", + "0x0000000000000000000000000000007cc56b953bb8ef24745e9200896ee10ee1", + "0x000000000000000000000000000000000001ef96b3ae0b2677b21939012dcc17", + "0x0000000000000000000000000000004ba56f98fc7d6d956bd6302ef6941f9239", + "0x000000000000000000000000000000000010bf82473c11a65eb2ac193002bfe4", + "0x00000000000000000000000000000072739ba831885d7f767251b9cc444961e5", + "0x0000000000000000000000000000000000256ea7e1dc188341f8692fd52454cf", + "0x000000000000000000000000000000a284c1c0bd5602eb7242fda659dc49ff99", + "0x000000000000000000000000000000000002e5e663dd3bf5f961173646b8e7b3", + "0x000000000000000000000000000000194cc54081bb3ffba3c67547dcb2db4d37", + "0x00000000000000000000000000000000002377042c75bab3ceee3b186c40b8b6", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000f0af57d5589fc84e1f8897bb5a62ec0ea9", + "0x000000000000000000000000000000000016583df9856bef930ef0a81d3357f0", + "0x000000000000000000000000000000e0a92aecf729c58fa7672c82066409d090", + "0x000000000000000000000000000000000010085406672c105a10ddee00634540", + "0x00000000000000000000000000000036b650e61cb6e0ec6ff6b1aef12c8c81e3", + "0x00000000000000000000000000000000000049ced3703b6736736daa8d94d66c", + "0x00000000000000000000000000000024e41b443846d1b9d969a739fe9ec5544d", + "0x0000000000000000000000000000000000251ef94ce2811e61503920adc1a548", + "0x000000000000000000000000000000ab378c4d63d86a750348adbd4cbc2c6883", + "0x0000000000000000000000000000000000079aee0bbaec8a7e39acda8a2bfd44", + "0x000000000000000000000000000000c4996ccb316a1671fa17ac0ec536c08aee", + "0x00000000000000000000000000000000000087a93f4353d8c6e85d6c58c7af49", + "0x0000000000000000000000000000002754983ee3f30f64f3ef3d6a27f671032d", + "0x00000000000000000000000000000000001b77b7da696321894ac402dc70a471", + "0x00000000000000000000000000000065a8c950362ff55e55d6006254e4cb8f60", + "0x00000000000000000000000000000000000a0eb81f69be92cc51ba479d4d4b2d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000003a6dc78277b2838aca18adc58385b4a7f0", + "0x0000000000000000000000000000000000132c99e752833cae9473e7dfe278d0", + "0x0000000000000000000000000000003ec707e1f4369d5f99a3bac8eaa16ec4ba", + "0x00000000000000000000000000000000001cd77155c0a5e65f942f719c8e73f5", + "0x00000000000000000000000000000084604af6454cd074b40340a0900f8e47cc", + "0x0000000000000000000000000000000000077d31bdfcd802cd5aa1a457b97f10", + "0x00000000000000000000000000000099c886edf1320d2f8eef9c059a2495598d", + "0x00000000000000000000000000000000001400c2b452cd839ce363493a76312b", + "0x00000000000000000000000000000090681337eb7720ddc934e8bcc81bd9ae2b", + "0x000000000000000000000000000000000006ab19688014b0f0cf860c615759af", + "0x0000000000000000000000000000007165a99470ed5af56e75a9636be648e93d", + "0x000000000000000000000000000000000009dbbccaa2350bd92c5ce19b5d290a", + "0x0000000000000000000000000000000e1e042ed81d839a9f0ead9d291b6a8f32", + "0x00000000000000000000000000000000001a205aec8c334db49f816f4b5dafcd", + "0x000000000000000000000000000000ebb4edb0db1dcdf348033a7901a3680b6a", + "0x000000000000000000000000000000000011aae86275b822ebd3fa82c7315eff", + "0x000000000000000000000000000000e97eee8ec09b50e69135709916aba933c6", + "0x000000000000000000000000000000000010e2e96f78a68fc25ba2e4dafd04cc", + "0x000000000000000000000000000000b214f0a5321e8817d78adb6e0c20d7319e", + "0x000000000000000000000000000000000025bc9ba17b749d567d90e8f13af9a2", + "0x00000000000000000000000000000066fba7ba25f999f6f2838e553a29901fa7", + "0x000000000000000000000000000000000020711b883c2eb028f9d2d3da010519", + "0x000000000000000000000000000000a140d481bdc261d13949520f9ec7371c20", + "0x0000000000000000000000000000000000020bfe682fa3abc7653ce6853b0112", + "0x0000000000000000000000000000001b2bf2cbcde5d02c025a94db3378725693", + "0x000000000000000000000000000000000023e613dfd6966df7487e58fd52480c", + "0x0000000000000000000000000000006e2eb63e8f0cbcbd7a88665a53e119e428", + "0x00000000000000000000000000000000002e70d3962ba79ea7ae10b168c1c7d9", + "0x00000000000000000000000000000030517d9ecfee899135ff976333894660c2", + "0x000000000000000000000000000000000007417244ffad99a470ba89eb0ff90e", + "0x0000000000000000000000000000009bac28f405d40e017edf00277102b49c3d", + "0x000000000000000000000000000000000006b41a5fb6e909b8be3ff0dd952728", + "0x0000000000000000000000000000006683ae1c70f7eb680544f4c342c93087f1", + "0x000000000000000000000000000000000025f0aabdb61ed9c3922c0edfb358ec", + "0x000000000000000000000000000000351b5aea3d5e9850880e66335bcae23e94", + "0x00000000000000000000000000000000000ee72d3f7aca6bbe97267028d6abf9", + "0x0000000000000000000000000000008928d9a8e7f72b161cbe49ae95aa21ae63", + "0x0000000000000000000000000000000000185c141dba0abcf1e6d7db09787ca1", + "0x0000000000000000000000000000003e245e17b3e7805608abb6a2350fa6a847", + "0x00000000000000000000000000000000000cf54864a0d0738294136903b96823", + "0x000000000000000000000000000000f11eab4aad68f934214988cc4f58d5a6a2", + "0x000000000000000000000000000000000022f67f7b7d5406007bb7ddae120884", + "0x000000000000000000000000000000c05dc37331557bb9a3f702d92cfe090666", + "0x0000000000000000000000000000000000264629b4e2c6c2614bd57046d2ac8b", + "0x00000000000000000000000000000017305f321100b05a42b9014b4b5f033fd9", + "0x00000000000000000000000000000000000300f05e18d0c58963b144d3d28da6", + "0x00000000000000000000000000000039e8490810fc737b4a353bb67d95baa83c", + "0x00000000000000000000000000000000001b8f101b87ef8f67f87224f50b4e86", + "0x00000000000000000000000000000048da15030eaa7e0cc01567e721d66ead43", + "0x0000000000000000000000000000000000126b3927169eb104827c842837f462", + "0x00000000000000000000000000000008b500094a5820c680fb1db8c125502e1e", + "0x000000000000000000000000000000000000660eef61b7d219f439ec4fbfff1b", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -143,76 +143,76 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000006ab4e9fba1bb0c45d30796e0c19546192e", - "0x00000000000000000000000000000000000b1447f3413f687009608e1c55b192", - "0x000000000000000000000000000000567498365d293b6c0532b94c33d0e937a5", - "0x000000000000000000000000000000000006c4fabfa5194704563bcc508d234e", - "0x00000000000000000000000000000009835f11bc7b963372a60d92370980b183", - "0x00000000000000000000000000000000000d898f5e8487e3ed90a10fc50db186", - "0x000000000000000000000000000000b66ee3d15932d652c3b54801748e89da9f", - "0x000000000000000000000000000000000024899f4b6ba56af0e1128c4a431ba7", - "0x00000000000000000000000000000064dd7da7637cf2116a18531edc7fea829a", - "0x0000000000000000000000000000000000162e867465b02e01bbabb15c59b84d", - "0x00000000000000000000000000000071f09c1d3d2c8f9499c838fc966b04ada9", - "0x00000000000000000000000000000000000f4504ac6f302739e9f2c7aa824d12" + "0x0000000000000000000000000000001115e1df83c7f85610477a243a350ad610", + "0x000000000000000000000000000000000016b525f879d97a8d50cab6d1a41d58", + "0x0000000000000000000000000000005545bbd9cc9de7a79986b650103736492e", + "0x00000000000000000000000000000000000aac06f3452ec0a5be2b5e3060f108", + "0x000000000000000000000000000000c6e13ef9aedec4af73a577a6dd72dda690", + "0x000000000000000000000000000000000016b603e70199deaa1eff742257259f", + "0x000000000000000000000000000000dd7902c16a885b205f012abf38e3f9f470", + "0x00000000000000000000000000000000002a45b4a48e9544c186e119184fd191", + "0x000000000000000000000000000000882d0b700868900a984b8a8f100e96bc7c", + "0x00000000000000000000000000000000000abfe4989e01ac99945d20ac56ed24", + "0x000000000000000000000000000000ceb31f078b322681c311c51b7684078b7e", + "0x0000000000000000000000000000000000041b07ce00654c923848301f5fbbd8" ] - hash = "0x051d17b4a7efa4af82e7c6b71f2a5cf71ee015e6d9edbcd39d326a5463aac1e6" + hash = "0x1e580df70c4374ef9942846936ab5fc2d7da61ca21bd0576f269746152a782c4" [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069ff293f" +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c7f3e" is_private_only = true -claimed_first_nullifier = "0x282b555a2f009837bd02f744ae119250934c991464481b5613f7f2112a615f7c" +claimed_first_nullifier = "0x1b684937417a003a0e2c1602203b7630f3c2b65c422dfa2653acb1215dc0c852" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x13a1bf44c19e7c2eb7fc1a96527d072cf424bc99c760e392f4abcecc1fc597f8" - total_fees = "0x00000000000000000000000000000000000000000000000002b26ec5db7a7140" - total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a3979" + sponge_blob_hash = "0x07b265010fd2cc21c16b1d2594ca99672e2cfff5ca81945b3a0831755b42379f" + total_fees = "0x0000000000000000000000000000000000000000000000000035dd7429a09780" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000722f4" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x0d18996e508e8c1e51f6a56652cc5d71169450ff16c25de9af7f79af5385e334" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" + root = "0x24b436e53660fa0ce7ece2c6a741d91157cbb61a10885ac29d14d58cd3180af8" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [previous_kernel_public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x1c223e428d6faa36822890e3b99417ddf73ffb069bf4c44b6ae9d7fc741733f6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x2ec6c12dea917fa19ec74a89fa547c25e2894a67f1d0f6b816fb105662287c8d" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x01c778a6b3dcb1245bb0aee174252dd95256e67309f952e5d2f8cbafffe20d0f" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" +root = "0x144143122fcbe95a5aab0c5c25ba91279b425eb8f5dff6ff7fcc2fd9eb65aa64" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x134e44df49ddb89525046d19bcfc2734c78e419994de9d6f7467eb84d02d1060" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x19208383914fedc1cee3bbbda84965791ab30ab104aca7d2f9131dd853eba7db" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x0000000000000000000000000000000000000000000000000000000069fdd7c0" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0b2dbf" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000004386faeb40" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" @@ -231,22 +231,22 @@ fee_per_da_gas = "0x000000000000000000000000000000000000000000000000000000000000 fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x1520f4bb11a3a1d2248a03d8472e9af4bb8324eb1d2d8c83bce61894383464b9" +inner = "0x2c78cadfe08eabbb0e2a15b62eefd07a08cbc1631fa2be7962fd219308d9f1e3" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x26a43bf066852a7b1ec3c5b454f41735fea12e2ffbefed471058124b91d94018" +inner = "0x0d6429ccd33eeec2a03a7b2f78d6c901ad9406bf2058231382147de5014303fd" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x1bd26c6831ebc53674b13ac69a0c534563c37e46c2cbb36f2deca107a26515fa" +inner = "0x0b286a1c928fbe1ca3be78fe2f2bd25a2eec7f5f15c2757a2db53b2a8d499358" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x06870c63132d2a4e3356a76d773240efe729e7d9b9380a7a3cf1798fc9031aed" +inner = "0x1cef6885d1ace5a36534202d1f593b94ac0876ff4933745085ad62da062a3b5e" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0083c4dfb922796f1086d399f8f3d021159d1a87ba3b833dcdf9863c630ba643" +inner = "0x2ccc3471349063b3b0c5a6362e0dbfc3c21b534f84fc963483667b32840e259a" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0b4d3a9a7a3caf83f9c2060347e48cc28c7f04d2560d1cbf5bf08d4832128a97" +inner = "0x0ad78bd90b0e2e0887928b98b621517d04a6bddebf6b20bdb76ddd8aec6f05fd" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -268,7 +268,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] -inner = "0x29ecb485abf1e4a9963bb4dada6e8b67bda9c6bb09527ecb8d0c64a0d119e0fd" +inner = "0x302a86bd5883e95684cbcd46af941e62a60b0416ee605f00eae4a0189b8af2ee" counter = "0x0000000000000000000000000000000000000000000000000000000000000003" [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] @@ -1301,13 +1301,9 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1316,13 +1312,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1331,13 +1323,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1346,13 +1334,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1361,13 +1345,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1376,13 +1356,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1391,13 +1367,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1406,13 +1378,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1421,13 +1389,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1436,13 +1400,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1451,13 +1411,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1466,13 +1422,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1481,13 +1433,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1496,13 +1444,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1511,13 +1455,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1526,13 +1466,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1541,13 +1477,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1556,13 +1488,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1571,13 +1499,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1586,13 +1510,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1601,13 +1521,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1616,13 +1532,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1631,13 +1543,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1646,13 +1554,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1661,13 +1565,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1676,13 +1576,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1691,13 +1587,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1706,13 +1598,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1721,13 +1609,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1736,13 +1620,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1751,13 +1631,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1766,13 +1642,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1781,13 +1653,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1796,13 +1664,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1811,13 +1675,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1826,13 +1686,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1841,13 +1697,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1856,13 +1708,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1871,13 +1719,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1886,13 +1730,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1901,13 +1741,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1916,13 +1752,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1931,13 +1763,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1946,13 +1774,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1961,13 +1785,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1976,13 +1796,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1991,13 +1807,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2006,13 +1818,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2021,13 +1829,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2036,13 +1840,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2051,13 +1851,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2066,13 +1862,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2081,13 +1873,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2096,13 +1884,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2111,13 +1895,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2126,13 +1906,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2141,13 +1917,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2156,13 +1928,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2171,13 +1939,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2186,13 +1950,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2201,13 +1961,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2216,13 +1972,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2231,13 +1983,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2246,13 +1994,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2779,7 +2523,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" counter = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x1f9942757ace032bb97eaa996ab3756544b55ccf805fdbf6f5093a5b8037e138" + value = "0x17479bfa3540b0edace48659f4f97a2f4dc9d4023b9c08bba4a1819e0ef21beb" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -6009,22 +5753,22 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.end.private_call_stack.array]] - args_hash = "0x00fdacb86277b5caac1f0395131955d3d7ddd5988f117d742d59ecdeef9db7a5" - returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000006" - end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000010" + args_hash = "0x05eabce2b553dfa52a6b3f33cd603318310b2f9f56a14d6eefbd3bbf640cb107" + returns_hash = "0x20fd6cca0f81d2e3d2192b45a0208ef249e8032b9785fe9ecfed10beb1d36cb5" + start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000008" + end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000a" [previous_kernel_public_inputs.end.private_call_stack.array.call_context] - is_static_call = false + is_static_call = true [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x09d3e27b2b71e2140366b7b610129b819b841efe0dc06bf715e3eb5b68f65571" [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] - inner = "0x16fc6ad8c94527d45832bb8631b0c1dedf3218fe7c3ca04e01850a3eff6a511a" + inner = "0x0d0a8ccb98f956b37ac2b18ac43c84cf4e36fc01b0b08126241827575a48200c" [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] - inner = "0x00000000000000000000000000000000000000000000000000000000754fb767" + inner = "0x0000000000000000000000000000000000000000000000000000000080d3af36" [[previous_kernel_public_inputs.end.private_call_stack.array]] args_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6307,121 +6051,121 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2" [private_call.vk] key = [ - "0x000000000000000000000000000000000000000000000000000000000000000f", + "0x000000000000000000000000000000000000000000000000000000000000000d", "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000367", - "0x00000000000000000000000000000077c298f63acd57d13cd760f1b09e733bc3", - "0x000000000000000000000000000000000026a287c4760845db19abbc695ff36a", - "0x00000000000000000000000000000069e321196774777d330d8c47b62018ee30", - "0x0000000000000000000000000000000000295262e94218827820d221f1a676f2", - "0x000000000000000000000000000000257dbf8aaa5e15520c24e9f783198f1cfe", - "0x0000000000000000000000000000000000190713b989ee2b0ecde498ce10b549", - "0x0000000000000000000000000000002295cabfb39afdc4509c3dd66e4c75da5e", - "0x000000000000000000000000000000000027507b50fee92f2d43690c874e86a2", - "0x000000000000000000000000000000aa13c08a3a7c1467715828adcb937c2043", - "0x00000000000000000000000000000000000f8a1543c6677019dc01eb2ce85dc8", - "0x0000000000000000000000000000001675deda7e3dafff4e33979da4ebd705c4", - "0x0000000000000000000000000000000000289905e8a6dc218db585b427eb056e", - "0x0000000000000000000000000000005ca36b42f5d503af3510645776a182509a", - "0x00000000000000000000000000000000002dd8eef985765f468fae90d96ba6fc", - "0x000000000000000000000000000000cea81c59bacc58df526b5e5f65fef5b74d", - "0x00000000000000000000000000000000001c6fb7347dc56d363c90b8d4488579", - "0x00000000000000000000000000000031fde8e713e9e8fc77842379f6745e401e", - "0x00000000000000000000000000000000002a4395c65a14e549b33900648d7960", - "0x0000000000000000000000000000005c83438275fadd9a66b48380362607b9ec", - "0x00000000000000000000000000000000001b2c0ed48bd9ac3b17f36ced09b85a", - "0x0000000000000000000000000000005a3fbe86fc074463d664ec1028991daf15", - "0x00000000000000000000000000000000001c2bca0518d0dc405eecc6c9b66511", - "0x00000000000000000000000000000058fb55a413b7865807590827cbb9007644", - "0x000000000000000000000000000000000009d6fc59acc8a61214589672dcea3d", - "0x00000000000000000000000000000006e868544e82268dc595a57ee6d88aaa33", - "0x00000000000000000000000000000000002de9cde4733c1f06fdb8ac10fda985", - "0x00000000000000000000000000000061bad33649e2767633ba30e687da7b70ac", - "0x00000000000000000000000000000000002c0b0343148e6beab80557d74f318e", - "0x0000000000000000000000000000004df9e2c11487e96cde4a354328c2322b7e", - "0x00000000000000000000000000000000001e71380507bf8f7a65f542a668967e", - "0x000000000000000000000000000000387a87e1fd5a4d755a72bf4223e72cf175", - "0x0000000000000000000000000000000000140d1d6145c78a4cd60b85534d174f", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000009ebab60fa5dc47e1914fda39298f7e6ac7", - "0x0000000000000000000000000000000000110e8c462632d85486fb2b573bb0ff", - "0x0000000000000000000000000000007d5067869e4f6c37bf78d104a880ad37e8", - "0x00000000000000000000000000000000001b8a3f8dbb8f2a3ecdd71594aca606", - "0x000000000000000000000000000000780fb7de9447ebdaf30ee24fbe3cba1300", - "0x0000000000000000000000000000000000084d032f1ae838a33a86164a6541df", - "0x000000000000000000000000000000c359ee0159370b1406940ba9db56dc4ff2", - "0x00000000000000000000000000000000001cfb12b15f63bd6b2c321b0a84f51f", - "0x00000000000000000000000000000073f32650074f87a7b77470996beeacdfe4", - "0x000000000000000000000000000000000005647aa1addd19b3136ec411e71431", - "0x000000000000000000000000000000258e47dcc86acc1d400247381ab87d4725", - "0x0000000000000000000000000000000000295e68d808cf3b272d91be2fd2ae37", - "0x0000000000000000000000000000003ba26fee14fb99c3515f5bbf524129e34f", - "0x00000000000000000000000000000000000466b9f8edd37c3fa3c7d06d1a7986", - "0x0000000000000000000000000000008318efe19eaaca4d497ad4912aa208ecee", - "0x0000000000000000000000000000000000013e5dc7040c7f8b74cec4df5572bd", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000708a99a1df6e2f08c37655b04da1516fb", - "0x0000000000000000000000000000000000200f93be3bb23204915ddf19a6102b", - "0x0000000000000000000000000000003ff62e27b5552bbe8742ef48a1ce956a38", - "0x00000000000000000000000000000000002eb0dfb213e5244c19612993acc338", - "0x0000000000000000000000000000000c97bab3896ad5ed1bdbc6811f35b52088", - "0x000000000000000000000000000000000024ed3a2bfaf9b9620f0cf2c2210117", - "0x00000000000000000000000000000010515c3eda29482356a09bc84a2f1455b6", - "0x00000000000000000000000000000000000a473218b2415232276d99ee32b8ee", - "0x000000000000000000000000000000caed4590a347c4d3079e1d47713f5b83e1", - "0x000000000000000000000000000000000017405dec66fa4028a4f662a5b3bc5e", - "0x0000000000000000000000000000000c1444e30937299c89f8208ffe290cc18c", - "0x00000000000000000000000000000000001ebb18f648670cdd53f595444360e2", - "0x00000000000000000000000000000080b476643287925a5f4195f56b06fdd3ed", - "0x00000000000000000000000000000000001ca4ac04e44de10be2048a9bebcc62", - "0x000000000000000000000000000000cc5c01a1dc52e751c01dd9ba1cb9b49cb7", - "0x000000000000000000000000000000000022a62f4ddacd5cff46b90a535daa0a", - "0x000000000000000000000000000000dad72ff673733fba291f0d57a41d942e0a", - "0x000000000000000000000000000000000021a56ad22274e1b58118768b538104", - "0x0000000000000000000000000000005a34af8d8c8aa47da41eb1e75a0dfb8fd0", - "0x000000000000000000000000000000000026707f18815730d1a64214fcbfcc1f", - "0x000000000000000000000000000000d646a8a65170a6b78d80190d8a21ea1dff", - "0x000000000000000000000000000000000014bb9f8b9321b456fd18feafe1e161", - "0x0000000000000000000000000000001d878bb4be89e69a6688949dcaf0ce7ea4", - "0x00000000000000000000000000000000000f536993bd0cba9f0585f1df277c57", - "0x000000000000000000000000000000748b419096289f75352c8d5d112f7fdae2", - "0x0000000000000000000000000000000000022790c5c22cbd4366b0ad6e2b4519", - "0x000000000000000000000000000000fbaaa9a8b489397bc3e4d7f1056574b2e2", - "0x00000000000000000000000000000000000fae47872873bb913289047ed5610c", - "0x000000000000000000000000000000d9609f0d20812e6577cf8f21f2625e3172", - "0x00000000000000000000000000000000001b995278cd324d1fb4ec16ad835993", - "0x00000000000000000000000000000048894f6e04feabafb53f7a7b67c9e4c0e5", - "0x000000000000000000000000000000000027ec0d2be1c42a0a90b0ea2af01861", - "0x00000000000000000000000000000003e5fa4bc70fe52643ca6985c073c70dc3", - "0x0000000000000000000000000000000000038e1e0276e2e6dfe9a9d8aa596b76", - "0x00000000000000000000000000000065526bfbb668d3f936d18df508e43bccb3", - "0x00000000000000000000000000000000001f65337846109ac55e93e42a9fa3cc", - "0x000000000000000000000000000000585161baf0203d961615740c9ba7c9e707", - "0x000000000000000000000000000000000005728984358785c066c4cd63845858", - "0x0000000000000000000000000000002ff9899e736c45e4f04a866d93f57c116b", - "0x00000000000000000000000000000000002c4d422fd03c9a5b2e329d93362757", - "0x0000000000000000000000000000002cf70e3a6f9fe963cc77d1520d5d4edee6", - "0x000000000000000000000000000000000005f00e31445a7a9cd4219d268a06d4", - "0x00000000000000000000000000000025a2bc22bef7d083c5f847e80f943c189d", - "0x00000000000000000000000000000000001239130781e0d914daca12578a2b41", - "0x000000000000000000000000000000f3696d80095221316a91e185aec90d4607", - "0x00000000000000000000000000000000001469812dd8efeca285ecc964c4e02c", - "0x000000000000000000000000000000b9583e757e383f8ac91620436cfd8b488b", - "0x0000000000000000000000000000000000086edbc84ee73808efb9a82a2f806e", - "0x000000000000000000000000000000d8b0ecd6e3cddb9c693c8bf1d32795968e", - "0x00000000000000000000000000000000002757dfd7d21719de99dd25b8fc095a", - "0x000000000000000000000000000000684a589b8e853856d7cffbbf4293bf3571", - "0x00000000000000000000000000000000001c280b47d50b66bc53b6b635dc9827", + "0x0000000000000000000000000000000000000000000000000000000000000347", + "0x000000000000000000000000000000865f30019df603aeaed1c1d8e3c5cfc175", + "0x000000000000000000000000000000000008662c67e18149c024a3bacb2df682", + "0x000000000000000000000000000000bceab00d2d8bdeccfcd00a84a861dbf39d", + "0x00000000000000000000000000000000001650219ec9e8be886bcb85c38d4717", + "0x000000000000000000000000000000a7cf43c352dad6bf77469b1404e60e06fa", + "0x00000000000000000000000000000000001e546982146e898c6328ed6d1371e1", + "0x0000000000000000000000000000001a06adaa7ecf9f08773589e813e35a54ff", + "0x00000000000000000000000000000000001c0ef1e79d844f4ab04f853ae8970b", + "0x0000000000000000000000000000008ea0bed66d661f737dae9432cd211a55e8", + "0x00000000000000000000000000000000000455426a9c3b08ca2e8043336f387c", + "0x000000000000000000000000000000ea82e69a42b2d1019e9d8f9451913ac042", + "0x00000000000000000000000000000000000b08dca1909630d4e2adfb1d5098ea", + "0x000000000000000000000000000000fe7390b3fc62d2904ab863c97613a9f3f4", + "0x000000000000000000000000000000000006adef037868832479f56eb00ae2f2", + "0x000000000000000000000000000000371199c3359a930d0544c57f5981a56353", + "0x00000000000000000000000000000000002529cfbf41f326259cc2e28d6add58", + "0x000000000000000000000000000000c19a28af19d8043033aa6812430cb850f3", + "0x000000000000000000000000000000000010657456725ca7293b6c6a68b9b3a1", + "0x0000000000000000000000000000008cdae9bdd9a5ac55371cd8bedc86674c6a", + "0x000000000000000000000000000000000003b620a70ee10a1a00426d2d81e5fb", + "0x0000000000000000000000000000002806b12269d372065ac3b1166be1033175", + "0x00000000000000000000000000000000000d1b9812f91483c4dc99dd47842f14", + "0x00000000000000000000000000000079bde04066ea11cbbbdbc610b17b7ea716", + "0x0000000000000000000000000000000000172ed63b113f0b9ed00943690c10db", + "0x0000000000000000000000000000003d2554e7d5b58b0dcb37e36b8db350e8ef", + "0x0000000000000000000000000000000000093de1b2590406402c4caa2b0d400d", + "0x000000000000000000000000000000632862715830705b58ea13d3626158f43f", + "0x0000000000000000000000000000000000291028929fad3a3b92603079664d39", + "0x0000000000000000000000000000001fc48b67fb4ec9714cfe69efa8469d2faa", + "0x00000000000000000000000000000000002800a5c6aa06adba0feb138f51b7c1", + "0x000000000000000000000000000000626607acd3cfe08cec8ccec45fc27222a0", + "0x00000000000000000000000000000000000bf5451f8e8805b3e83e17c778ac8f", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000043cc5bf77e079b00db695cb77a0c27a755", + "0x000000000000000000000000000000000007bb974c2dca9f3583a7be610d27bc", + "0x00000000000000000000000000000097720e9504d37f0a32805569a8ef675230", + "0x00000000000000000000000000000000001d16d8825fcdb521746bb4c658a29f", + "0x000000000000000000000000000000872162f7d2ba720e691b5387dda2393047", + "0x00000000000000000000000000000000001b2d2710296ae242e420846aca6d30", + "0x000000000000000000000000000000e7d1fce90f172eb4ab5489d9241a8919f4", + "0x00000000000000000000000000000000002477d0d688545e7884c3d0f4926e75", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000e242c52613ef515743130929408b8395eb", + "0x00000000000000000000000000000000002f00c020f75dd48c87ed413a77180f", + "0x000000000000000000000000000000ea7902a077cb96eeabfc420359b9be6db3", + "0x000000000000000000000000000000000015628feadf61afbd89f5d0b872b2c3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000e6ff3a4cd8afe4ac9de0176a552fc09c35", + "0x00000000000000000000000000000000002259e282b0d22c622181e3d68e4322", + "0x000000000000000000000000000000eb70dc3306d84c664e4b10cccd60a9899a", + "0x0000000000000000000000000000000000270322a73bd1df2dbc3114462eb34e", + "0x00000000000000000000000000000039f2a727db728fb54b63a5a2dc525fd924", + "0x00000000000000000000000000000000002db1e2eca29501192e304da4047a17", + "0x000000000000000000000000000000e748ef8209f555579c98c0f60d798fc768", + "0x00000000000000000000000000000000002cbaf388ead0bc80dba57d2b1e0a6b", + "0x000000000000000000000000000000431bd61e90ed225a41f3992f2ec05406f2", + "0x000000000000000000000000000000000018335cb5d014bd80d4454621cdfbc5", + "0x0000000000000000000000000000000617b8aab9cb8f83be590c7c713c67c2ff", + "0x000000000000000000000000000000000013228c3be2488a8b526ac67437dd1c", + "0x000000000000000000000000000000e3e6fb8594f3d96a4e3b90eab96051bfab", + "0x0000000000000000000000000000000000041115da2e46ed09c4904290ce2f28", + "0x0000000000000000000000000000008dc24ee445f72e75590d77c59c2502c325", + "0x0000000000000000000000000000000000278df9d0273f8abe29181cb2097566", + "0x000000000000000000000000000000d779f5665a6d8739e46b9dbaa1fbb1d861", + "0x000000000000000000000000000000000013ff6895fed419bcb47b05aab16230", + "0x000000000000000000000000000000d8e0764f92f389448cc165a0d6c4031ee5", + "0x0000000000000000000000000000000000262984e59a1b92af14b9a461b32ab6", + "0x00000000000000000000000000000063a63c160d8a803a0aaa1797164c10eba1", + "0x00000000000000000000000000000000000c0ac58d8af92cb4105a1e3b3e8859", + "0x000000000000000000000000000000a040bfc1e24982ef134ebf0f974cc16f63", + "0x00000000000000000000000000000000002fd203a2c6c8f3f7b65cf7dd2124de", + "0x000000000000000000000000000000af7bf5d17f14cb02d020a3338b5ac8185f", + "0x00000000000000000000000000000000001f1e62776c318cbeac47805ea72d38", + "0x00000000000000000000000000000027865898be950dc50fbf51a531deeb66d0", + "0x0000000000000000000000000000000000304e7951f51b85f00e58e95ad211f6", + "0x000000000000000000000000000000fe0779b92c0bcb7f02ee39a0aa8ac50741", + "0x000000000000000000000000000000000022f9764c1c492c3a5743c994e8c712", + "0x0000000000000000000000000000005cb8a0df70faf6225ba47ea58cc69931ee", + "0x00000000000000000000000000000000000458fd9ec786e9a8af6300297d33ac", + "0x000000000000000000000000000000621fc10d8a9e4658642abd6cf5e17172ed", + "0x00000000000000000000000000000000002c583db8d2e51e9a7e91a19f89448d", + "0x0000000000000000000000000000009db8a71852e36b1d16f89c6fa435764de7", + "0x000000000000000000000000000000000006f24d141ba33dcfd7be7353938779", + "0x000000000000000000000000000000e29b7681545a3aff6ca4c964fa138485b0", + "0x000000000000000000000000000000000001ad9a17d78c8c41e7a9333fac80a8", + "0x00000000000000000000000000000098a0fab1f65c3b55a29b3258e290692ff5", + "0x000000000000000000000000000000000007e2e68bdee42d0f878077d5380a29", + "0x000000000000000000000000000000105cec7ee17bd10a991deb8da3dec94834", + "0x00000000000000000000000000000000001edf9dbf6f0fa27c8382b88eeaa7ad", + "0x00000000000000000000000000000084bb0cbfba6eebc0a0492e0aa234700dfa", + "0x00000000000000000000000000000000001d5edc6e61f842ccc7d3ddb54e624d", + "0x000000000000000000000000000000defe1347096986ac6d98a339f30b4c79a4", + "0x000000000000000000000000000000000004d963817920de50753220dcfc0f39", + "0x000000000000000000000000000000136a1458f0c92ec89a5e9320fd1c6e898c", + "0x00000000000000000000000000000000002860427d9f6b7ce48fe90398d3ce14", + "0x000000000000000000000000000000ee77d7fb9e9d8be2914e33d3561c617025", + "0x00000000000000000000000000000000001ee9005f891b0f488bbc9d6b89c6b2", + "0x000000000000000000000000000000c070442f554a223e1dec049b9e101b1338", + "0x0000000000000000000000000000000000082c84c85011f35d945335ca2ba917", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6442,24 +6186,24 @@ key = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000b91c3664d3270a60931c471928222bf6b", - "0x00000000000000000000000000000000001a702fa77522ea7356d9d6ed1c9b9e", - "0x00000000000000000000000000000032f9984b982de6753a3668f46872fee3db", - "0x00000000000000000000000000000000003036d9814a9753be22125d50c268e7", + "0x000000000000000000000000000000026c53007876d885d7cbb2375814e9947f", + "0x0000000000000000000000000000000000149684831934ae61b89fa614a91503", + "0x000000000000000000000000000000ff682c870fdd41c2a48b43f4042246343e", + "0x000000000000000000000000000000000004ad1447334cc38d8422f7c6c3b72e", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000585fcdfa31b424adfe685b43435cdc567", - "0x00000000000000000000000000000000002717439949acf883c385bc7c246dc6", - "0x000000000000000000000000000000b97f0f863a1005a5c88ba628c1d8bb1740", - "0x000000000000000000000000000000000001f73676f90fa92e0bd9ce8716cfb9" + "0x0000000000000000000000000000006c326bcc176f6bf7b61c67c607b538604e", + "0x00000000000000000000000000000000002e0df8ede24ac545f6f615607ae5a5", + "0x0000000000000000000000000000004810e97feaf203b539c161e31c09b9910d", + "0x00000000000000000000000000000000000e2612cea9f45e6238f1fcd8fe80e4" ] -hash = "0x147ef2802ee4a878790fc89ab3a742a3f9e794df4ba16a3c013856118e5e54d7" +hash = "0x02326db3f4292bc2483b97dc307b6d2f12920e3044ae9c04a1e662de1b5ea0d7" [private_call.verification_key_hints] -contract_class_artifact_hash = "0x17936c22a18e1310c8a71802414ad55bbea4d490023a55358f249edace43f2fb" -contract_class_public_bytecode_commitment = "0x1e88df4d0fb9c20b21bce0f5067f3f4c9a9da39101d2936741eb5b0cfcfc9a40" +contract_class_artifact_hash = "0x06c89aad50296e10a3cf790b9d73c854d096b136adb7cdde89447ef5591392f3" +contract_class_public_bytecode_commitment = "0x1d694c92cbd2f2f8a373c90582a93a2889a43d04c84a4a0147c606655ae98dc5" updated_class_id_delayed_public_mutable_values = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6467,51 +6211,41 @@ updated_class_id_delayed_public_mutable_values = [ ] [private_call.verification_key_hints.function_leaf_membership_witness] - leaf_index = "3" + leaf_index = "1" sibling_path = [ - "0x1768f4ffe236f2d0d6f6e42ad30d7c9ace25c145ede7b699e3a551e0f90f65de", - "0x0a83a13c3704cbec2a1c8aeab69534367d70b291243f955cf1aea1caa6092382", - "0x04f1d72b0df1c0b8759643e6ae23442a5cdfe090978072dd559a8319c0811952", - "0x29e60d7288e9b28c0d1e6f4c7244c3b92efdd2de4e7042b85a1291c2ec910b1f", + "0x2a8a5b5b00b3298df0d362949857e44d9ab6dbe13517f17dae4d718eb429644b", + "0x29a39e8a923a570c2ff08365769dc6b9c551d550ee0e1a351eab6e04cd0df0a3", + "0x2974d8999d00928aa1378118756d6a4ba1368b1da89b2b1059c17fbb88ad21a8", + "0x2e6127fb2bcf542677ed9dfc6cd90a61a075142999aebccf345c816aff3a1d92", "0x267a9c24e849f51869c93086ded207858dfb130344e1879a9d15d35096464824", "0x1eb5f748aca7413c8875abf2789be0a1aec323884a365d9a59a1859aa2bce94e", "0x2402a100768c2e339831cdb0b63e5c272a6f3318323a37642bea76ab5ea1ed0c" ] -[private_call.verification_key_hints.public_keys.npk_m.inner] -x = "0x01498945581e0eb9f8427ad6021184c700ef091d570892c437d12c7d90364bbd" -y = "0x170ae506787c5c43d6ca9255d571c10fa9ffa9d141666e290c347c5c9ab7e344" -is_infinite = false + [private_call.verification_key_hints.public_keys] + npk_m_hash = "0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a26" + ovpk_m_hash = "0x0e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b" + tpk_m_hash = "0x082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0" [private_call.verification_key_hints.public_keys.ivpk_m.inner] x = "0x00c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c" y = "0x1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb151" -is_infinite = false - -[private_call.verification_key_hints.public_keys.ovpk_m.inner] -x = "0x1b00316144359e9a3ec8e49c1cdb7eeb0cedd190dfd9dc90eea5115aa779e287" -y = "0x080ffc74d7a8b0bccb88ac11f45874172f3847eb8b92654aaa58a3d2b8dc7833" -is_infinite = false - -[private_call.verification_key_hints.public_keys.tpk_m.inner] -x = "0x019c111f36ad3fc1d9b7a7a14344314d2864b94f030594cd67f753ef774a1efb" -y = "0x2039907fe37f08d10739255141bb066c506a12f7d1e8dfec21abc58494705b6f" is_infinite = false [private_call.verification_key_hints.salted_initialization_hash] - inner = "0x283b87e95914a45f14ba1dbc2445f080d54b98ca600ca9c8a09bf4e6059b8e4b" + inner = "0x2c34a9418dab220d2f208289abd62de8f7eb8abca9e10988c48eccc4424221ac" [private_call.verification_key_hints.updated_class_id_witness] - leaf_index = "117" + leaf_index = "131" sibling_path = [ - "0x0371d4f7e5e7a3a1bc6eb35796ae80686c69151d345a495f9a6b43b11f13120c", - "0x015f1e689c2e78468161bdc9d10fabf2ce528bc217db9dc422ba929a70b5e860", - "0x2523970382de270c1acd87f98b4ed454353257f9c689dc608f7dc1b6ca23741a", - "0x2fa84a2c6fb5f1b544d9acb5620c87e8930bcc2f6411312fcc5d580ab4883a92", - "0x2edd4e68944dac758244213037fbe9d622c7c28d6070f16862b3e8986090bee4", - "0x1d5ea1a288ff1ff4cabceaaa2f93eda378a5fb0a2a55423f4d4d205969181931", - "0x23b80d0ef13d744a52faabf5651164d28f7faf902653e41a35472eea87936e6e", - "0x27c696ad87d2ae17e4005225c67d015eaca8a9c6e97dec181f97f15e2c1ff894", + "0x03a2485ed0c18f1f0b27f8cb762f330dc41f2fc280d4d3f073b4d72304ffe4fa", + "0x1d12604d1468fe48df2d32605da5dc60d5f557903d21f08ea292c9c4f0e5c939", + "0x1701fbabc2818af0649d35ba0bc29213fc7509835e081c1cab5501f63aae6757", + "0x2c82e75f6b16fa4ea9b4f7d46757ced7ac33905daa90ce61a6eea6a315fa79c8", + "0x1d52af9cd9f69c1286e9a96fd498e736789a5bc463fceb1c176a4f9292f7cbe3", + "0x1ff1d5db01572c915915a22173c73d8073df9af4e4c57f6af29df5315da44419", + "0x070dcbac794fa663bc71b42d80775c0cea8c3ed7580207cfd30fd1285813ce07", + "0x0202d252c8608f54b289d11e2ee5c49b48f809e3d008c80de0da1409f19d20a1", "0x16c8aff52f0422f4bfc502620fe15dd6a4de67637563b7a8175f2d5727d268a4", "0x1c76b6744bc3d6b1cd4b53459a08b4959643c0768fde657299fcc82e2732f744", "0x12a6fac0fdfbd7897d8fe955f454cdb309ce8597d647ebfd0ba614c4eb215581", @@ -6547,41 +6281,41 @@ is_infinite = false ] [private_call.verification_key_hints.updated_class_id_leaf] - slot = "0x00d9d7e98b29d1f3eadd6bcce14809b2ca27ba47b772ef0401455915ab91d062" - value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" - next_slot = "0x09667a49b892551e41d7ace7350264dab6567641a5096948a522f8e57069a8c0" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000076" + slot = "0x21217fba0620ad412df7954c1e33104958d3bd37f436672fdd7e0a42b47b29a4" + value = "0x05208323f49682fc3367ed42a0212854a797b5372b0cc6bc5493b00e96ff256d" + next_slot = "0x264534c4e6c3e98e04eb89dc84eac7e5a46ff6d391ab9eb97f44cc862bf0df7d" + next_index = "0x000000000000000000000000000000000000000000000000000000000000007d" [app_public_inputs] -args_hash = "0x00fdacb86277b5caac1f0395131955d3d7ddd5988f117d742d59ecdeef9db7a5" -returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000006" -end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000010" +args_hash = "0x05eabce2b553dfa52a6b3f33cd603318310b2f9f56a14d6eefbd3bbf640cb107" +returns_hash = "0x20fd6cca0f81d2e3d2192b45a0208ef249e8032b9785fe9ecfed10beb1d36cb5" +start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000008" +end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000a" expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" -expected_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000007" +expected_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000009" min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" is_fee_payer = false -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069ff2940" +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c7f3f" [app_public_inputs.call_context] - is_static_call = false + is_static_call = true [app_public_inputs.call_context.msg_sender] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x09d3e27b2b71e2140366b7b610129b819b841efe0dc06bf715e3eb5b68f65571" [app_public_inputs.call_context.contract_address] - inner = "0x16fc6ad8c94527d45832bb8631b0c1dedf3218fe7c3ca04e01850a3eff6a511a" + inner = "0x0d0a8ccb98f956b37ac2b18ac43c84cf4e36fc01b0b08126241827575a48200c" [app_public_inputs.call_context.function_selector] - inner = "0x00000000000000000000000000000000000000000000000000000000754fb767" + inner = "0x0000000000000000000000000000000000000000000000000000000080d3af36" [app_public_inputs.note_hash_read_requests] length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[app_public_inputs.note_hash_read_requests.array]] [app_public_inputs.note_hash_read_requests.array.inner] -inner = "0x14d24541deb5dd2fb77037cada005cc9755e7cdde176fafaa83d4038e6ffe551" -counter = "0x0000000000000000000000000000000000000000000000000000000000000008" +inner = "0x21c7e2027864f293ff502b26ca73419fb7de391a18467849bba3e7debd669312" +counter = "0x0000000000000000000000000000000000000000000000000000000000000009" [app_public_inputs.note_hash_read_requests.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6707,12 +6441,12 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.nullifier_read_requests] - length = "0x0000000000000000000000000000000000000000000000000000000000000001" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.nullifier_read_requests.array]] [app_public_inputs.nullifier_read_requests.array.inner] -inner = "0x16c07a80d3d164d5d8082a5dda9fb5d5f0de35fc2bc4ac2fa36182ed91ce381f" -counter = "0x0000000000000000000000000000000000000000000000000000000000000007" +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.nullifier_read_requests.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6838,194 +6572,130 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators] - length = "0x0000000000000000000000000000000000000000000000000000000000000001" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.key_validation_requests_and_separators.array]] - key_type_domain_separator = "0x000000000000000000000000000000000000000000000000000000000e6ebabc" + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] - sk_app = "0x06676b93f3cec2a77597fadc4704afee9dc237873051a7e2638df02f77e35be9" - - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x025f9f657095ad240d89a28336e0f7be994c9f270d62c6a3228aa8bada12d01d" - y = "0x1a7e0782cbdd3ebc39b0bd4a33b5894cb3451bc52c2fadd70371ed8d81db479f" - is_infinite = false + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [[app_public_inputs.key_validation_requests_and_separators.array]] key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.key_validation_requests_and_separators.array.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [app_public_inputs.note_hashes] - length = "0x0000000000000000000000000000000000000000000000000000000000000002" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.note_hashes.array]] - inner = "0x00def7bf22ad78b9b414af8c6b920730b29275a17b6c869a3e9ad3929c416c6f" - counter = "0x000000000000000000000000000000000000000000000000000000000000000a" + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.note_hashes.array]] - inner = "0x1552be33f460bfea48702663acfd93ed46d02df9080308666dccf3eec187faa8" - counter = "0x000000000000000000000000000000000000000000000000000000000000000c" + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.note_hashes.array]] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7084,20 +6754,20 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.nullifiers] - length = "0x0000000000000000000000000000000000000000000000000000000000000002" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.nullifiers.array]] - counter = "0x0000000000000000000000000000000000000000000000000000000000000009" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.nullifiers.array.inner] - value = "0x0c3f7479d44d8ec07d6aa92e715150ec4366e314b2fca5b309e6cb9e9948f56a" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.nullifiers.array]] - counter = "0x000000000000000000000000000000000000000000000000000000000000000e" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.nullifiers.array.inner] - value = "0x265ec541731007783d79c1154c1bf3c5a3a11617bf2d3bf679d939f52d140b8c" + value = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.nullifiers.array]] @@ -7850,88 +7520,88 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs] - length = "0x0000000000000000000000000000000000000000000000000000000000000003" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.private_logs.array]] - counter = "0x000000000000000000000000000000000000000000000000000000000000000b" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs.array.inner] - note_hash_counter = "0x000000000000000000000000000000000000000000000000000000000000000a" + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs.array.inner.log] fields = [ - "0x0a19e21c4ab1897aa638eb354bb44aaccdb24a11525f3186595e2d2271248d15", - "0x10433733db106ed8336b9b799ec2debee9fe2da75f114f567eefde5abf9f74d3", - "0x17440c522b009a136c2207db86790b05464774690523c7fbf949ad381664d0ea", - "0x0a5e8928a4d74ad3256e8a697cfdf84b7baae32abad67b2de7c36ffd67acb665", - "0x0b1200621e156c6d79f463e17e81b96f11d18d716ca5222e7276e07d45845a26", - "0x04b2b64d09e487d10d557106046a94a97f2c40f4316e6667a2c2d9a99db05385", - "0x193da3d713c24b85e1c8f22dd8ef575e88d19c6732f8fd17e370cf64e65b3e04", - "0x08569203e8f3d028234ed200df77bca848c9b4b015ad8797c37669a5e5d1ee0c", - "0x13a9b2003409ad3d4f38caba797acc77092ddd431af25a955a83dc6f5b92cc93", - "0x16fece01bc0b0205bcbaca2904d5674d10573bfef038f94d3e5d526596da2ae9", - "0x0a438177a05071eaeb1862f154b187315de4dc804e275b0f2258baf4700c6d64", - "0x0959244a76e5e861ce5b8833101b91e19d758109d68cc174a6f9eec9c7afa008", - "0x03533d18a1c3ebcf22f820a243be161c9798ea59a506572e32e125c53b7aee7e", - "0x1e2b22ea302597bfcbcfdefcda48b60e35fce9c70f46c6cb90fa6db6e8d4dc6d", - "0x28fab93b8cd28d8d2a993badc3d1a080902feecfab019dc7c00af0ea9f6f403d", - "0x104c4c81c135af94af35a1eeb49b1262e5c53e25ee513731ddeb9f6496eea2ab" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000010" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.private_logs.array]] - counter = "0x000000000000000000000000000000000000000000000000000000000000000d" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs.array.inner] - note_hash_counter = "0x000000000000000000000000000000000000000000000000000000000000000c" + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs.array.inner.log] fields = [ - "0x009ca00e8f7d20a40d1266a37a186cd96c78b285a2506210cabc2fa353489be2", - "0x2320e89fb76918e7dc48b13861302dbf78af5ba8d5a20da77d19781ac32b9bc2", - "0x2a99619c0d4d380dbc3d53d03ed35011aa9c296a507fabcf712f43a0e5a10850", - "0x02e5d98e7dfbe7653dafb14afddd7e00f403b5a60816d7ab961823bd3cc4b628", - "0x223b37d6caffe87e91cddafdf65c4f641a609ff13350d02654b0fed1443088ab", - "0x2846b9aa4544f8f8851554f5d0c189c188756d734112e1eedd6840c8aeb0e66f", - "0x21cda3f228d55fb1b37f2b7c7a5d42066007143db17645669521ff58956fa7bf", - "0x1d8d79951d7389e5f9dfa963f93e399aebaa346e9ce3b3a5da1b45e4600a1553", - "0x15eabc8ed921f60621fa4fa35214748a7593f1c06a1e66b76092f789b4960bc5", - "0x16babb28d68725cb64d6d7558d49fb921c480359488fcdfb5292019239a50563", - "0x015e561b49da425d081b87bac01336defa1e29ee50d01b7be798ac28e05b24d6", - "0x04bf1a23807cb0711511a6140caf195df55fcf029842652243034ae2ca740648", - "0x2789cc422a86395739004c513cf6a15024e3adf5f2e238b18e1b4f1211a9383a", - "0x00c4e950cfe804e8a3623fe768c82b7340b0216f93c00351c53e2144364cfb51", - "0x2fd9827b4118b7ef401dff1727785e46fdd31947d2e733f4b39076f43652c18a", - "0x158ca7fba6e7fa7b3eb7c062751182d93b4e36b5c77d2e609e246b810650e59e" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000010" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.private_logs.array]] - counter = "0x000000000000000000000000000000000000000000000000000000000000000f" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs.array.inner] note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs.array.inner.log] fields = [ - "0x145c6a232e670e3f0babf2a60ced437e3b543087bb24e9d398e05add3513dfa4", - "0x127157561e774918ba656738fb61ad37f92086431bd4f1e4842ab11928b0f8d2", - "0x2e5cf59c8f2eee7a06d14cdedb8fe58945357cb16f4c792094325909a12924b2", - "0x0e29376c31f2aa7a156c6ce6d1fc9529998251d8500604658f173ff86adffa98", - "0x20761b8be9a186cf6a1730b8a1e99049a07e45c005e66d27b6e0ef15a2833e2f", - "0x1adf679b2441cf3535241924a35164cf8309256721e3f9fcb860bc2acc462b46", - "0x06a613741497b7b7ee978a495bfed7d19bbf76c462d268cee17a3920b1b1abe0", - "0x10ade06e253c1cfd65f24246211fb703c157fd9b563ffaf6ab01b6fba4635155", - "0x2311c6b104555d4d9afc7d66be6b47a41f8aa96eb77f613a75fc952da5975ccf", - "0x08431c3838d7ad6198c1d33ff138953ace3520551bd95b69692609ee11ded216", - "0x1822c33cf8097138c896bb9f7aad7def909a6859d5e640919fd16ebcf153a0db", - "0x11203b31ef49d39fb85a5ea474116c334c156091ab468493a480f13ad1ec1849", - "0x207a4712bacadd2f631fe253cb62932a7acb586dd6dd1b10e0fbe733f61a8f11", - "0x2c862b0eb14b1325a0ca63dda4570f718541d998fb4aba96339b7913b80757c9", - "0x1bf17ee7d3cf2487dcf1eb7a3647b0920c9e68aacc0a33c9a424d4ee6601ded3", - "0x2c70c9b7da7d7df78fcae182d124d7041209070f76d920e5d5c2d7590c385ea1" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000010" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.private_logs.array]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -8295,50 +7965,50 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" length = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.anchor_block_header] - sponge_blob_hash = "0x13a1bf44c19e7c2eb7fc1a96527d072cf424bc99c760e392f4abcecc1fc597f8" - total_fees = "0x00000000000000000000000000000000000000000000000002b26ec5db7a7140" - total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a3979" + sponge_blob_hash = "0x07b265010fd2cc21c16b1d2594ca99672e2cfff5ca81945b3a0831755b42379f" + total_fees = "0x0000000000000000000000000000000000000000000000000035dd7429a09780" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000722f4" [app_public_inputs.anchor_block_header.last_archive] - root = "0x0d18996e508e8c1e51f6a56652cc5d71169450ff16c25de9af7f79af5385e334" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" + root = "0x24b436e53660fa0ce7ece2c6a741d91157cbb61a10885ac29d14d58cd3180af8" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [app_public_inputs.anchor_block_header.state.l1_to_l2_message_tree] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" [app_public_inputs.anchor_block_header.state.partial.note_hash_tree] -root = "0x1c223e428d6faa36822890e3b99417ddf73ffb069bf4c44b6ae9d7fc741733f6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x2ec6c12dea917fa19ec74a89fa547c25e2894a67f1d0f6b816fb105662287c8d" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [app_public_inputs.anchor_block_header.state.partial.nullifier_tree] -root = "0x01c778a6b3dcb1245bb0aee174252dd95256e67309f952e5d2f8cbafffe20d0f" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" +root = "0x144143122fcbe95a5aab0c5c25ba91279b425eb8f5dff6ff7fcc2fd9eb65aa64" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [app_public_inputs.anchor_block_header.state.partial.public_data_tree] -root = "0x134e44df49ddb89525046d19bcfc2734c78e419994de9d6f7467eb84d02d1060" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x19208383914fedc1cee3bbbda84965791ab30ab104aca7d2f9131dd853eba7db" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [app_public_inputs.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x0000000000000000000000000000000000000000000000000000000069fdd7c0" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0b2dbf" [app_public_inputs.anchor_block_header.global_variables.coinbase] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [app_public_inputs.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000004386faeb40" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" [app_public_inputs.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" [app_public_inputs.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/tests/key_validation_request_validator_tests.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/tests/key_validation_request_validator_tests.nr index 79cb6194f051..a637c416730a 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/tests/key_validation_request_validator_tests.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/tests/key_validation_request_validator_tests.nr @@ -12,7 +12,7 @@ fn clear_all_succeeds() { assert(propagated.array.is_empty()); } -#[test(should_fail_with = "Failed to derive matching master public key from the secret key")] +#[test(should_fail_with = "Failed to derive matching master public key hash from the secret key")] fn wrong_secret_key_hint_fails() { let mut builder = TestBuilder::new_clear_all(); @@ -45,12 +45,13 @@ fn amount_to_validate_smaller_than_hints_fails() { builder.validate_with_amount::(); } -#[test(should_fail_with = "Failed to derive matching master public key from the secret key")] +#[test(should_fail_with = "Derived master public key cannot be the point at infinity")] fn hints_fewer_than_requests_fails() { let mut builder = TestBuilder::empty(); builder.add_request_and_hint(11); - // Add an extra request without a hint. + // Add an extra request without a hint. The missing hint slot is implicitly sk_m = 0, which + // derives the point at infinity and is rejected by the kernel. builder.add_request(22); builder.validate(); diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/tests/mod.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/tests/mod.nr index 1f5d66b0d683..53a2d043c696 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/tests/mod.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/tests/mod.nr @@ -11,6 +11,7 @@ use types::{ address::AztecAddress, hash::compute_app_siloed_secret_key, point::Point, + public_keys::hash_public_key, scalar::Scalar, side_effect::Scoped, traits::{Empty, FromField}, @@ -74,13 +75,14 @@ impl TestBuilder { let sk_m = Scalar::from_field(sk); let pk_m: Point = derive_public_key(sk_m).into(); + let pk_m_hash = hash_public_key(pk_m); let key_type_domain_separator = 123321; let sk_app = compute_app_siloed_secret_key(sk_m, contract_address, key_type_domain_separator); let request = KeyValidationRequestAndSeparator { - request: KeyValidationRequest { pk_m, sk_app }, + request: KeyValidationRequest { pk_m_hash, sk_app }, key_type_domain_separator, } .scope(contract_address); diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/validate_key_validation_request.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/validate_key_validation_request.nr index d8c0ff6f4abe..62ead8fc6133 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/validate_key_validation_request.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/validate_key_validation_request.nr @@ -1,7 +1,8 @@ use std::embedded_curve_ops::fixed_base_scalar_mul as derive_public_key; use types::{ abis::validation_requests::KeyValidationRequestAndSeparator, - hash::compute_app_siloed_secret_key, point::Point, scalar::Scalar, side_effect::Scoped, + hash::compute_app_siloed_secret_key, point::Point, public_keys::hash_public_key, scalar::Scalar, + side_effect::Scoped, }; /// Validates a Key Validation Request that an app circuit has submitted to the kernel. @@ -16,22 +17,22 @@ use types::{ /// validation request" to the protocol's kernel circuits (which _are_ /// allowed to see certain master secret keys (sk_m)). /// -/// When a Key Validation Request tuple of (sk_app, Pk_m, app_address) is -/// submitted to the kernel, it will perform the following derivations -/// to validate the relationship between the claimed sk_app and the user's -/// Pk_m: +/// The app circuit only sees `pk_m_hash` (not the raw point). The kernel derives the +/// point from `sk_m`, hashes it, and asserts equality. When a Key Validation Request tuple of +/// (sk_app, pk_m_hash, app_address) is submitted to the kernel, it performs the following +/// derivations to validate the relationship between the claimed sk_app and the user's pk_m: /// -/// (sk_m) ----> * G ----> Pk_m -/// | | -/// v We use the kernel to prove this -/// h(sk_m, app_address) | sk_app-Pk_m relationship, because app -/// | circuits must not be trusted to see sk_m. -/// v | -/// sk_app - - - - - - - - - +/// (sk_m) ----> * G ----> pk_m ----> hash_public_key(pk_m) +/// | | +/// v | We use the kernel to prove this +/// h(sk_m, app_address) | sk_app-pk_m_hash relationship, because app +/// | | circuits must not be trusted to see sk_m. +/// v | +/// sk_app - - - - - - - - - - - - - - - - - - /// /// Where G is a hard-coded, protocol-defined generator for deriving user public keys. /// -/// The fact that the user is able to furnish a sk_m that derives both the Pk_m and +/// The fact that the user is able to furnish a sk_m that derives both the pk_m_hash and the /// sk_app of the key_validation_request proves that this sk_m is the correct one. /// If the wrong sk_m were used, then the assertions below would fail, and the user's /// tx would not contain a valid proof and so would not be includable in a block. @@ -44,7 +45,6 @@ use types::{ /// of a secret key). Key validation requests are slightly more efficient (although /// the overhead of managing arrays of key validation requests in the kernels might /// counter that claim). -/// pub fn validate_key_validation_request( scoped_request: Scoped, sk_m: Scalar, @@ -54,12 +54,16 @@ pub fn validate_key_validation_request( let request = request_and_separator.request; let key_type_domain_separator = request_and_separator.key_type_domain_separator; - // First we check that the derived public key matches the master public key from the request. + // First we check that the hash of the derived public key matches the requested pk_m_hash. let pk_m: Point = derive_public_key(sk_m).into(); + + // Safeguard against using a secret key equals to zero. + assert_eq(pk_m.is_infinite, false, "Derived master public key cannot be the point at infinity"); + assert_eq( - pk_m, - request.pk_m, - "Failed to derive matching master public key from the secret key", + hash_public_key(pk_m), + request.pk_m_hash, + "Failed to derive matching master public key hash from the secret key", ); // Then we check that siloing the master secret key with the contract address gives the app-siloed secret key. diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_inner/output_composition_tests.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_inner/output_composition_tests.nr index 672ad79dbd3e..35086fd530f5 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_inner/output_composition_tests.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_inner/output_composition_tests.nr @@ -13,7 +13,6 @@ use types::{ MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX, MAX_PRIVATE_LOGS_PER_CALL, MAX_PRIVATE_LOGS_PER_TX, PRIVATE_LOG_SIZE_IN_FIELDS, }, - point::Point, traits::{Empty, FromField}, utils::arrays::subarray, }; @@ -732,7 +731,7 @@ fn with_allowed_empty_values_from_private_call() { let _ = builder.private_call.add_nullifier_read_request(0); let empty_nullifier_read_request = builder.private_call.nullifier_read_requests.storage()[0]; - builder.private_call.add_request_for_key_validation(Point::empty(), 0, 0); + builder.private_call.add_request_for_key_validation(0, 0, 0); let empty_key_validation_request = builder.private_call.scoped_key_validation_requests_and_separators.storage()[0]; diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/key_validation_tests.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/key_validation_tests.nr index ec05925a20cf..6b6970ddc918 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/key_validation_tests.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/key_validation_tests.nr @@ -28,7 +28,7 @@ fn validate_and_propagate_key_validation_requests() { ); } -#[test(should_fail_with = "Failed to derive matching master public key from the secret key")] +#[test(should_fail_with = "Failed to derive matching master public key hash from the secret key")] fn wrong_order_for_key_validation_request() { let mut builder = TestBuilder::new(); diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/mod.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/mod.nr index 18b177e70e18..04dcbe088ff2 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/mod.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/mod.nr @@ -35,6 +35,7 @@ use types::{ LeafPreimage, MembershipWitness, nullifier_merkle_hash, test_utils::SingleSubtreeMerkleTree, }, point::Point, + public_keys::hash_public_key, side_effect::{Counted, Scoped}, traits::Empty, utils::arrays::find_first_index, @@ -200,13 +201,18 @@ impl TestBuilder { pub fn add_key_validation_request(&mut self, sk: Field) { let sk_m = EmbeddedCurveScalar::from_field(sk); let pk_m: Point = derive_public_key(sk_m).into(); + let pk_m_hash = hash_public_key(pk_m); let key_type_domain_separator = 123321; let contract_address = self.previous_kernel.contract_address; let sk_app = compute_app_siloed_secret_key(sk_m, contract_address, key_type_domain_separator); - self.previous_kernel.add_request_for_key_validation(pk_m, sk_app, key_type_domain_separator); + self.previous_kernel.add_request_for_key_validation( + pk_m_hash, + sk_app, + key_type_domain_separator, + ); } pub fn add_key_validation_request_and_hint(&mut self, sk: Field) { diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail/previous_kernel_validation_tests.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail/previous_kernel_validation_tests.nr index 2e33f970918f..8cf8526d0597 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail/previous_kernel_validation_tests.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail/previous_kernel_validation_tests.nr @@ -5,7 +5,6 @@ use types::{ CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, DOM_SEP__IVSK_M, PRIVATE_KERNEL_TAIL_VK_INDEX, PRIVATE_LOG_SIZE_IN_FIELDS, }, - point::Point, side_effect::Scoped, traits::{Empty, FromField}, }; @@ -31,11 +30,7 @@ fn non_empty_nullifier_read_requests() { #[test(should_fail_with = "Non empty key validation requests")] fn non_empty_key_validations() { let mut builder = TestBuilder::new(); - builder.previous_kernel.add_request_for_key_validation( - Point { x: 1, y: 2, is_infinite: false }, - 27, - DOM_SEP__IVSK_M as Field, - ); + builder.previous_kernel.add_request_for_key_validation(12345, 27, DOM_SEP__IVSK_M as Field); let _ = builder.execute(); } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail_to_public/previous_kernel_validation_tests.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail_to_public/previous_kernel_validation_tests.nr index 88c70307d89d..9f8bb43390d6 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail_to_public/previous_kernel_validation_tests.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail_to_public/previous_kernel_validation_tests.nr @@ -5,7 +5,6 @@ use types::{ CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, DOM_SEP__TSK_M, PRIVATE_KERNEL_TAIL_VK_INDEX, PRIVATE_LOG_SIZE_IN_FIELDS, }, - point::Point, side_effect::Scoped, traits::{Empty, FromField}, }; @@ -40,11 +39,7 @@ fn non_empty_nullifier_read_requests() { #[test(should_fail_with = "Non empty key validation requests")] fn non_empty_key_validations() { let mut builder = TestBuilder::new(); - builder.previous_kernel.add_request_for_key_validation( - Point { x: 1, y: 2, is_infinite: false }, - 27, - DOM_SEP__TSK_M as Field, - ); + builder.previous_kernel.add_request_for_key_validation(12345, 27, DOM_SEP__TSK_M as Field); let _ = builder.execute(); } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-reset/Prover.toml b/noir-projects/noir-protocol-circuits/crates/private-kernel-reset/Prover.toml index 2743b35323d1..b8e9f10ef706 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-reset/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-reset/Prover.toml @@ -1,128 +1,128 @@ [previous_kernel.vk_data] -leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000000" +leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000041" sibling_path = [ - "0x0ddc610a21615b2984181082c3de07058b9f7d4be62806c4fd475161f8bd2be3", - "0x0f92d54d29bddf6ec768db2c0b4685fb325d248b3ad9a3c6adda76c6c5004224", - "0x0656bbf5e3f4cc4fa5e2fa46e7fd370db0bee05586a1849c37c77d05abe2d8a5", - "0x166399703d23a5c22febc6185f8eb93c72b65906eefef226e643c35fa0022adb", - "0x25f6f5fc25ee815cef59a1889f1e39db3d431d01b01ee1554f9492afec9d41d6", - "0x28650667b92be48b116289119fa4794a5fe8fe5792a49d89b9977feae7f685a6", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x12c59c16ed84032f7c5273ff19d7a05e8e861c23959fb71cf4b2c6ac45d21f8c", + "0x225eef52a484280b0f1c6cb9f90a84dc301536c01bfa4d61bd6496b3eaf19052", + "0x0e084e8198288b2ff94eaf4d6f37fba06e430a879dd37c726a3b5a65416fe6b6", + "0x30105bad22ddcc508b739b7c9ad87a561c569ff5cb0098a853c1c4ac21b7a037", + "0x1e20ad4181460cbfdc74ca773502c59b890f184efe300ebad895956d318422da", + "0x1434e6e2d5db1053ab8a3be58704509c799ee17e109c77f441f7bf1755400249", + "0x0e9cb07dc8495e2adab02c5db0e34a0dbe42e9b473e0462641c54f73a4a4fdd3" ] [previous_kernel.vk_data.vk] key = [ - "0x0000000000000000000000000000000000000000000000000000000000000010", + "0x0000000000000000000000000000000000000000000000000000000000000011", "0x000000000000000000000000000000000000000000000000000000000000001a", - "0x0000000000000000000000000000000000000000000000000000000000000c11", - "0x000000000000000000000000000000b56b478d39fe1ea8636ca1c5f7efe26465", - "0x00000000000000000000000000000000002ce8a9b4b8b40012f631f6a39b6121", - "0x000000000000000000000000000000e90605e79e3b491b4e35bed971ffe40f20", - "0x000000000000000000000000000000000014aac08af29b80ea5e82169bde9f1b", - "0x000000000000000000000000000000f23100dd9e774faa9da6adabb0a5e868d1", - "0x00000000000000000000000000000000000675d3fb2db13df5feb7837a996202", - "0x0000000000000000000000000000002d41a263946c21172989f16b6c3eabd14b", - "0x00000000000000000000000000000000002f76f5733e8a0b6e45ad715c844fa3", - "0x0000000000000000000000000000009906b77efd02f89dd64543cb41b2ee7dc0", - "0x000000000000000000000000000000000011990c3a05d603a15abfdd104b7f45", - "0x000000000000000000000000000000b68418cb6eb350097b81ceebf7216de49f", - "0x0000000000000000000000000000000000193b041e80721ea6304e3edc45a55a", - "0x0000000000000000000000000000007f41793e8f1a2fbe4047a8c9b3ea8a7eba", - "0x000000000000000000000000000000000004ad79eb6e09a672b49359e429d4b2", - "0x00000000000000000000000000000084b9e57a26da81e52f9d96f484a3d8a6ae", - "0x00000000000000000000000000000000001b4cff12b3ca2c242b1cb101ca1f62", - "0x00000000000000000000000000000051285e317a9d17f2180bf8ec1f3e31c266", - "0x00000000000000000000000000000000002f79f4597dc1cbdfe8060d1d92c7fc", - "0x000000000000000000000000000000bfdd478df770ff0d6a9f5d30c6380e3bb2", - "0x00000000000000000000000000000000000f6c52e2949dd6fa7eff016e2e5bb6", - "0x0000000000000000000000000000001cba707dc36043107ad882453ae5d8b129", - "0x0000000000000000000000000000000000059cc841348db66a31d2dfa33b89a0", - "0x0000000000000000000000000000000e2b2caaf1a1eda41d509cc5221c984b51", - "0x0000000000000000000000000000000000037cc127472715a44cac19993d448a", - "0x0000000000000000000000000000003cc6bfe8250e54d57ce7daedc9a7095bc8", - "0x00000000000000000000000000000000001c95108bb4f2494bfef842093c3b36", - "0x0000000000000000000000000000008313e6a820b2f5c2a7de8028cd31798633", - "0x000000000000000000000000000000000027be294c15550f339b0839d5860142", - "0x00000000000000000000000000000060338657a29bcf8c13a4b50294e337ef11", - "0x00000000000000000000000000000000001569de523f46c6226a398155490417", - "0x000000000000000000000000000000163a5d9281ca7ac774da33d1bd5e32dd54", - "0x00000000000000000000000000000000001cea3677784e36b40d3084060d7486", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000008a36ca53543c7bd871dd8974dda60ec04e", - "0x000000000000000000000000000000000028fcc75fb20c13fa73b0b5dd1a9df0", - "0x000000000000000000000000000000646eccdb4bcb213d9d9867f291bc4cc715", - "0x0000000000000000000000000000000000239e0bfd2fe8666da2541d2b7e9242", - "0x00000000000000000000000000000057b0434a909bdd123f328dd722f50de441", - "0x0000000000000000000000000000000000056e909ead4cc889ca4ae259618b9e", - "0x000000000000000000000000000000cce3583f4dbdf7f0ea96b8413114530b7f", - "0x0000000000000000000000000000000000029d93569d5fb4eccfe54516bbfc2c", - "0x0000000000000000000000000000000202259bdd735f5d0996b36a14296dd956", - "0x00000000000000000000000000000000001c9a81340c0ef1a3f8ab9378b45228", - "0x000000000000000000000000000000bb9541231ccc05d3210933db9b2cfd662a", - "0x00000000000000000000000000000000002e90121d7079020ef60bf83a167d82", - "0x0000000000000000000000000000008e531da6a57f645193723255cc3949f2a6", - "0x000000000000000000000000000000000023d3bfa481c11731a958ae003b7049", - "0x0000000000000000000000000000005d505cd2a7715559ab2fb8ffa94fac158b", - "0x0000000000000000000000000000000000283299e0b6841cadaef68c90af63b3", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000a50e32219d22dc5bc0a2a3afa8d1c963bf", - "0x00000000000000000000000000000000001b05579d422ec3526b639fa813b3db", - "0x000000000000000000000000000000931e9ee47cc6828d015bfd807445f50921", - "0x000000000000000000000000000000000005283cabb6b55f9baa597d00d3f46f", - "0x000000000000000000000000000000f14ecdef3987001b29e5574b25db85e726", - "0x00000000000000000000000000000000002b26e84ba3e9db90b9b761fbd5ba48", - "0x00000000000000000000000000000054401c158e8bfa1eac201ac628df1458d3", - "0x000000000000000000000000000000000028b61261027652e8ca3b29fb567872", - "0x0000000000000000000000000000005ddf21ec29f762249f79a86d986723b259", - "0x000000000000000000000000000000000020d889a78eaaeeced668f7a5e6a155", - "0x000000000000000000000000000000fbf31736f1c118ed779b00b56effa82f84", - "0x00000000000000000000000000000000001c10198fa65839280c9a4df0d48c69", - "0x000000000000000000000000000000ae45bd31909c920cd302c1833dc9dac27c", - "0x00000000000000000000000000000000000b5e828a1794bb52b1ef28384f36c3", - "0x000000000000000000000000000000623a32eccef6d3f192c9090e2c8d211339", - "0x000000000000000000000000000000000017dbcb62b1ef67a30ab74432100e03", - "0x0000000000000000000000000000008e75c04775713fe2b95076a7a5e1036c46", - "0x0000000000000000000000000000000000070ea9b40827062280d6e3cc9609a6", - "0x000000000000000000000000000000c70577cdcada107c62a7732ef0d2bbc15f", - "0x00000000000000000000000000000000002e57c64ac76e0a1e1c5980782cb606", - "0x000000000000000000000000000000902c14297534b09b2a8072cd93a9489887", - "0x00000000000000000000000000000000000cb983d7cc09d74a951dbf12ad432b", - "0x00000000000000000000000000000012bff816b24bc7a97ad6b1549515d6b28e", - "0x00000000000000000000000000000000000467570dff77ca3a342e4fc4d1a66b", - "0x00000000000000000000000000000080a63925457f739d70103395ccb7dcd29d", - "0x00000000000000000000000000000000000249558e7e5b5d6473ec5a9a980688", - "0x0000000000000000000000000000006cd74958767b5d51a95549a316e285ab74", - "0x0000000000000000000000000000000000091261933d2e12b6818f72bdc3e0c2", - "0x000000000000000000000000000000f97e56f24f292a230cf6c8350df6989d74", - "0x0000000000000000000000000000000000191f5e720c5ae2ded820c5e22cf23f", - "0x000000000000000000000000000000d3659c79160cc300c1726cdfe0a093bc08", - "0x000000000000000000000000000000000028e8e8952512f8006336791f90f01d", - "0x0000000000000000000000000000007ee7b8782f98bb5d90cbdc6fe174a42009", - "0x00000000000000000000000000000000000ae0ee6c55535140057064aa3fc5f0", - "0x000000000000000000000000000000d2bb98513b84e1e6f4e0b606bc025f9c48", - "0x00000000000000000000000000000000000b21f9d209054956c0524fababf1e9", - "0x000000000000000000000000000000d81d8ac019f7fed05a6b57f7845f56e44f", - "0x00000000000000000000000000000000002971c35ad470594c9a15abfc0e25a6", - "0x000000000000000000000000000000415d3a9385f247cc4092e3aad3382acd35", - "0x000000000000000000000000000000000025f0852ecc99395598d1e68d0ca89f", - "0x0000000000000000000000000000004f32605fa17fb311a06f7fb843c15d558a", - "0x000000000000000000000000000000000005071f43d210d49c73d5f25a18a596", - "0x0000000000000000000000000000000a679653df2810b4ec4c7adcd1cd7c97c8", - "0x000000000000000000000000000000000013c145ee6755ca17c398dafb88a569", - "0x00000000000000000000000000000083bace0537b2947643af96ab4b4aa8c478", - "0x000000000000000000000000000000000011ae383aeafc332a329462493ac315", - "0x000000000000000000000000000000a18bcfba0739bc5f71bd74ec53b6837fea", - "0x00000000000000000000000000000000001c2a9a991c7dbcd75129f92ff372b1", - "0x0000000000000000000000000000002c80b406fa46ad088b2e8d4f5a5701d47c", - "0x00000000000000000000000000000000001879ed897e504955597f01336b1d86", - "0x000000000000000000000000000000655b7a8802d367044c042458a17a0aeab4", - "0x000000000000000000000000000000000021be3e235af1a949dbf105cbe725d0", + "0x0000000000000000000000000000000000000000000000000000000000000cbd", + "0x000000000000000000000000000000c4d62213b081c8e90e6c8f3587321997f5", + "0x00000000000000000000000000000000002236a0b9f0654f7cd634c9c34280f1", + "0x0000000000000000000000000000007cb00736872fd50e291ec99fb640f1f7d9", + "0x00000000000000000000000000000000002d1b1b74b74ddf7d6f964a7bdb2af3", + "0x000000000000000000000000000000f26bcf89c86dcbce68a4f1b5b73505dcec", + "0x000000000000000000000000000000000011a128ae6c7be3a962485534f27786", + "0x00000000000000000000000000000088278f8cce72a5f698601f11a1532a9dad", + "0x00000000000000000000000000000000000d9caeabde23d8c2a0bd2cdef54193", + "0x0000000000000000000000000000001cfb29930f6753e5cb6a60342c16fe5e4f", + "0x00000000000000000000000000000000001022a2847e12bdd43b96342e5b8e16", + "0x000000000000000000000000000000fefee7789c5b50b89ce3ac6155975c4319", + "0x000000000000000000000000000000000002e25d02799b225c89aba3a667d7e5", + "0x0000000000000000000000000000006e210889b06205312234c097f979fca3b5", + "0x00000000000000000000000000000000000566396dc1f8e15f3a1c3729bb3393", + "0x0000000000000000000000000000009790f776d7aaecbcaf977d3aad6070c4e4", + "0x00000000000000000000000000000000002dcdeaf93e01c780512d9950fbfd94", + "0x000000000000000000000000000000d2ef194a7b605db9c6df08b9576c97735e", + "0x00000000000000000000000000000000001ff98ab3818a3d5fdc538a7bbeb87e", + "0x000000000000000000000000000000be40a925ee773bfc3923df01da59a497d7", + "0x00000000000000000000000000000000001fb52b895f997b5a90ea722d9a4140", + "0x000000000000000000000000000000dd5a7d1074be39e4451795f983d45b5be3", + "0x00000000000000000000000000000000001cbfd5b0d763096343af10ed1f3496", + "0x0000000000000000000000000000007cc56b953bb8ef24745e9200896ee10ee1", + "0x000000000000000000000000000000000001ef96b3ae0b2677b21939012dcc17", + "0x0000000000000000000000000000004ba56f98fc7d6d956bd6302ef6941f9239", + "0x000000000000000000000000000000000010bf82473c11a65eb2ac193002bfe4", + "0x00000000000000000000000000000072739ba831885d7f767251b9cc444961e5", + "0x0000000000000000000000000000000000256ea7e1dc188341f8692fd52454cf", + "0x000000000000000000000000000000a284c1c0bd5602eb7242fda659dc49ff99", + "0x000000000000000000000000000000000002e5e663dd3bf5f961173646b8e7b3", + "0x000000000000000000000000000000194cc54081bb3ffba3c67547dcb2db4d37", + "0x00000000000000000000000000000000002377042c75bab3ceee3b186c40b8b6", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000f0af57d5589fc84e1f8897bb5a62ec0ea9", + "0x000000000000000000000000000000000016583df9856bef930ef0a81d3357f0", + "0x000000000000000000000000000000e0a92aecf729c58fa7672c82066409d090", + "0x000000000000000000000000000000000010085406672c105a10ddee00634540", + "0x00000000000000000000000000000036b650e61cb6e0ec6ff6b1aef12c8c81e3", + "0x00000000000000000000000000000000000049ced3703b6736736daa8d94d66c", + "0x00000000000000000000000000000024e41b443846d1b9d969a739fe9ec5544d", + "0x0000000000000000000000000000000000251ef94ce2811e61503920adc1a548", + "0x000000000000000000000000000000ab378c4d63d86a750348adbd4cbc2c6883", + "0x0000000000000000000000000000000000079aee0bbaec8a7e39acda8a2bfd44", + "0x000000000000000000000000000000c4996ccb316a1671fa17ac0ec536c08aee", + "0x00000000000000000000000000000000000087a93f4353d8c6e85d6c58c7af49", + "0x0000000000000000000000000000002754983ee3f30f64f3ef3d6a27f671032d", + "0x00000000000000000000000000000000001b77b7da696321894ac402dc70a471", + "0x00000000000000000000000000000065a8c950362ff55e55d6006254e4cb8f60", + "0x00000000000000000000000000000000000a0eb81f69be92cc51ba479d4d4b2d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000003a6dc78277b2838aca18adc58385b4a7f0", + "0x0000000000000000000000000000000000132c99e752833cae9473e7dfe278d0", + "0x0000000000000000000000000000003ec707e1f4369d5f99a3bac8eaa16ec4ba", + "0x00000000000000000000000000000000001cd77155c0a5e65f942f719c8e73f5", + "0x00000000000000000000000000000084604af6454cd074b40340a0900f8e47cc", + "0x0000000000000000000000000000000000077d31bdfcd802cd5aa1a457b97f10", + "0x00000000000000000000000000000099c886edf1320d2f8eef9c059a2495598d", + "0x00000000000000000000000000000000001400c2b452cd839ce363493a76312b", + "0x00000000000000000000000000000090681337eb7720ddc934e8bcc81bd9ae2b", + "0x000000000000000000000000000000000006ab19688014b0f0cf860c615759af", + "0x0000000000000000000000000000007165a99470ed5af56e75a9636be648e93d", + "0x000000000000000000000000000000000009dbbccaa2350bd92c5ce19b5d290a", + "0x0000000000000000000000000000000e1e042ed81d839a9f0ead9d291b6a8f32", + "0x00000000000000000000000000000000001a205aec8c334db49f816f4b5dafcd", + "0x000000000000000000000000000000ebb4edb0db1dcdf348033a7901a3680b6a", + "0x000000000000000000000000000000000011aae86275b822ebd3fa82c7315eff", + "0x000000000000000000000000000000e97eee8ec09b50e69135709916aba933c6", + "0x000000000000000000000000000000000010e2e96f78a68fc25ba2e4dafd04cc", + "0x000000000000000000000000000000b214f0a5321e8817d78adb6e0c20d7319e", + "0x000000000000000000000000000000000025bc9ba17b749d567d90e8f13af9a2", + "0x00000000000000000000000000000066fba7ba25f999f6f2838e553a29901fa7", + "0x000000000000000000000000000000000020711b883c2eb028f9d2d3da010519", + "0x000000000000000000000000000000a140d481bdc261d13949520f9ec7371c20", + "0x0000000000000000000000000000000000020bfe682fa3abc7653ce6853b0112", + "0x0000000000000000000000000000001b2bf2cbcde5d02c025a94db3378725693", + "0x000000000000000000000000000000000023e613dfd6966df7487e58fd52480c", + "0x0000000000000000000000000000006e2eb63e8f0cbcbd7a88665a53e119e428", + "0x00000000000000000000000000000000002e70d3962ba79ea7ae10b168c1c7d9", + "0x00000000000000000000000000000030517d9ecfee899135ff976333894660c2", + "0x000000000000000000000000000000000007417244ffad99a470ba89eb0ff90e", + "0x0000000000000000000000000000009bac28f405d40e017edf00277102b49c3d", + "0x000000000000000000000000000000000006b41a5fb6e909b8be3ff0dd952728", + "0x0000000000000000000000000000006683ae1c70f7eb680544f4c342c93087f1", + "0x000000000000000000000000000000000025f0aabdb61ed9c3922c0edfb358ec", + "0x000000000000000000000000000000351b5aea3d5e9850880e66335bcae23e94", + "0x00000000000000000000000000000000000ee72d3f7aca6bbe97267028d6abf9", + "0x0000000000000000000000000000008928d9a8e7f72b161cbe49ae95aa21ae63", + "0x0000000000000000000000000000000000185c141dba0abcf1e6d7db09787ca1", + "0x0000000000000000000000000000003e245e17b3e7805608abb6a2350fa6a847", + "0x00000000000000000000000000000000000cf54864a0d0738294136903b96823", + "0x000000000000000000000000000000f11eab4aad68f934214988cc4f58d5a6a2", + "0x000000000000000000000000000000000022f67f7b7d5406007bb7ddae120884", + "0x000000000000000000000000000000c05dc37331557bb9a3f702d92cfe090666", + "0x0000000000000000000000000000000000264629b4e2c6c2614bd57046d2ac8b", + "0x00000000000000000000000000000017305f321100b05a42b9014b4b5f033fd9", + "0x00000000000000000000000000000000000300f05e18d0c58963b144d3d28da6", + "0x00000000000000000000000000000039e8490810fc737b4a353bb67d95baa83c", + "0x00000000000000000000000000000000001b8f101b87ef8f67f87224f50b4e86", + "0x00000000000000000000000000000048da15030eaa7e0cc01567e721d66ead43", + "0x0000000000000000000000000000000000126b3927169eb104827c842837f462", + "0x00000000000000000000000000000008b500094a5820c680fb1db8c125502e1e", + "0x000000000000000000000000000000000000660eef61b7d219f439ec4fbfff1b", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -143,65 +143,65 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000006ab4e9fba1bb0c45d30796e0c19546192e", - "0x00000000000000000000000000000000000b1447f3413f687009608e1c55b192", - "0x000000000000000000000000000000567498365d293b6c0532b94c33d0e937a5", - "0x000000000000000000000000000000000006c4fabfa5194704563bcc508d234e", - "0x00000000000000000000000000000009835f11bc7b963372a60d92370980b183", - "0x00000000000000000000000000000000000d898f5e8487e3ed90a10fc50db186", - "0x000000000000000000000000000000b66ee3d15932d652c3b54801748e89da9f", - "0x000000000000000000000000000000000024899f4b6ba56af0e1128c4a431ba7", - "0x00000000000000000000000000000064dd7da7637cf2116a18531edc7fea829a", - "0x0000000000000000000000000000000000162e867465b02e01bbabb15c59b84d", - "0x00000000000000000000000000000071f09c1d3d2c8f9499c838fc966b04ada9", - "0x00000000000000000000000000000000000f4504ac6f302739e9f2c7aa824d12" -] - hash = "0x051d17b4a7efa4af82e7c6b71f2a5cf71ee015e6d9edbcd39d326a5463aac1e6" + "0x0000000000000000000000000000001115e1df83c7f85610477a243a350ad610", + "0x000000000000000000000000000000000016b525f879d97a8d50cab6d1a41d58", + "0x0000000000000000000000000000005545bbd9cc9de7a79986b650103736492e", + "0x00000000000000000000000000000000000aac06f3452ec0a5be2b5e3060f108", + "0x000000000000000000000000000000c6e13ef9aedec4af73a577a6dd72dda690", + "0x000000000000000000000000000000000016b603e70199deaa1eff742257259f", + "0x000000000000000000000000000000dd7902c16a885b205f012abf38e3f9f470", + "0x00000000000000000000000000000000002a45b4a48e9544c186e119184fd191", + "0x000000000000000000000000000000882d0b700868900a984b8a8f100e96bc7c", + "0x00000000000000000000000000000000000abfe4989e01ac99945d20ac56ed24", + "0x000000000000000000000000000000ceb31f078b322681c311c51b7684078b7e", + "0x0000000000000000000000000000000000041b07ce00654c923848301f5fbbd8" +] + hash = "0x1e580df70c4374ef9942846936ab5fc2d7da61ca21bd0576f269746152a782c4" [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069ff293f" -is_private_only = false -claimed_first_nullifier = "0x09fac458f9e079d0117ef63746c55ce66b3e5d95c8420974d9c69f369b0d77ef" +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c7716" +is_private_only = true +claimed_first_nullifier = "0x1268b93c2a6a4d3780d6cb2b948cc3884e65336ef39eb7202b4de102b9cb3748" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x13a1bf44c19e7c2eb7fc1a96527d072cf424bc99c760e392f4abcecc1fc597f8" - total_fees = "0x00000000000000000000000000000000000000000000000002b26ec5db7a7140" - total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a3979" + sponge_blob_hash = "0x1f8e9213a0888fe29bbbc5c39db80f4b9f1575e375c6a0932a13ca2b8e2fced2" + total_fees = "0x00000000000000000000000000000000000000000000000002c5b2a32761f680" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a8282" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x0d18996e508e8c1e51f6a56652cc5d71169450ff16c25de9af7f79af5385e334" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" + root = "0x1d706e11585e9d3ecfd4d2ead7a52c2a783a92adfbe3419e8671011fe5016491" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" [previous_kernel_public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000001800" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x1c223e428d6faa36822890e3b99417ddf73ffb069bf4c44b6ae9d7fc741733f6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x1ebd1f6284edfa586309202f29d58f8211b22ad55f0913e7a61e37e8f558c52b" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x01c778a6b3dcb1245bb0aee174252dd95256e67309f952e5d2f8cbafffe20d0f" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" +root = "0x0835e9ab1ea355f270408857dfd5647ca56d588ab4a7d573e67566f6324821d1" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x134e44df49ddb89525046d19bcfc2734c78e419994de9d6f7467eb84d02d1060" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x1f860209ee462b9c30510a063670044f005084362ce71f528205a17ee048fc7d" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x0000000000000000000000000000000000000000000000000000000069fdd7c0" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000006" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000006" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0b2597" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -212,7 +212,7 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" @@ -224,29 +224,29 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000336bfe2ba6" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000001cc0d810418" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x1520f4bb11a3a1d2248a03d8472e9af4bb8324eb1d2d8c83bce61894383464b9" +inner = "0x2c78cadfe08eabbb0e2a15b62eefd07a08cbc1631fa2be7962fd219308d9f1e3" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x26a43bf066852a7b1ec3c5b454f41735fea12e2ffbefed471058124b91d94018" +inner = "0x0d6429ccd33eeec2a03a7b2f78d6c901ad9406bf2058231382147de5014303fd" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x1bd26c6831ebc53674b13ac69a0c534563c37e46c2cbb36f2deca107a26515fa" +inner = "0x0b286a1c928fbe1ca3be78fe2f2bd25a2eec7f5f15c2757a2db53b2a8d499358" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x06870c63132d2a4e3356a76d773240efe729e7d9b9380a7a3cf1798fc9031aed" +inner = "0x1cef6885d1ace5a36534202d1f593b94ac0876ff4933745085ad62da062a3b5e" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0083c4dfb922796f1086d399f8f3d021159d1a87ba3b833dcdf9863c630ba643" +inner = "0x2ccc3471349063b3b0c5a6362e0dbfc3c21b534f84fc963483667b32840e259a" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0b4d3a9a7a3caf83f9c2060347e48cc28c7f04d2560d1cbf5bf08d4832128a97" +inner = "0x0ad78bd90b0e2e0887928b98b621517d04a6bddebf6b20bdb76ddd8aec6f05fd" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -268,7 +268,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] -inner = "0x29ecb485abf1e4a9963bb4dada6e8b67bda9c6bb09527ecb8d0c64a0d119e0fd" +inner = "0x302a86bd5883e95684cbcd46af941e62a60b0416ee605f00eae4a0189b8af2ee" counter = "0x0000000000000000000000000000000000000000000000000000000000000003" [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] @@ -779,15 +779,15 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.nullifier_read_requests] -length = "0x0000000000000000000000000000000000000000000000000000000000000000" +length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] [previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +inner = "0x30405a0693eed61f76d3d7c18614b8d3286aa2ad3039533e2658766de9ab4e15" +counter = "0x000000000000000000000000000000000000000000000000000000000000000b" [previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +inner = "0x0000000000000000000000000000000000000000000000000000000000000003" [[previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array]] [previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.inner] @@ -1301,13 +1301,9 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1316,13 +1312,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1331,13 +1323,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1346,13 +1334,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1361,13 +1345,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1376,13 +1356,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1391,13 +1367,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1406,13 +1378,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1421,13 +1389,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1436,13 +1400,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1451,13 +1411,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1466,13 +1422,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1481,13 +1433,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1496,13 +1444,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1511,13 +1455,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1526,13 +1466,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1541,13 +1477,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1556,13 +1488,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1571,13 +1499,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1586,13 +1510,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1601,13 +1521,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1616,13 +1532,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1631,13 +1543,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1646,13 +1554,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1661,13 +1565,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1676,13 +1576,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1691,13 +1587,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1706,13 +1598,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1721,13 +1609,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1736,13 +1620,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1751,13 +1631,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1766,13 +1642,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1781,13 +1653,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1796,13 +1664,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1811,13 +1675,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1826,13 +1686,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1841,13 +1697,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1856,13 +1708,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1871,13 +1719,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1886,13 +1730,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1901,13 +1741,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1916,13 +1752,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1931,13 +1763,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1946,13 +1774,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1961,13 +1785,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1976,13 +1796,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1991,13 +1807,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2006,13 +1818,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2021,13 +1829,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2036,13 +1840,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2051,13 +1851,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2066,13 +1862,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2081,13 +1873,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2096,13 +1884,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2111,13 +1895,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2126,13 +1906,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2141,13 +1917,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2156,13 +1928,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2171,13 +1939,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2186,13 +1950,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2201,13 +1961,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2216,13 +1972,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2231,13 +1983,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2246,13 +1994,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2772,14 +2516,14 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers] -length = "0x0000000000000000000000000000000000000000000000000000000000000001" +length = "0x0000000000000000000000000000000000000000000000000000000000000003" [[previous_kernel_public_inputs.end.nullifiers.array]] [previous_kernel_public_inputs.end.nullifiers.array.inner] counter = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x023cfeab2c97a4c457a539c4b7c7c9d1fefa40027aacd687b5282ff01a46f27b" + value = "0x1d572b897a46622761043b29c51e639c89bda7b3a9f4111e8f1766a72bc194ec" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -2787,25 +2531,25 @@ inner = "0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000" [[previous_kernel_public_inputs.end.nullifiers.array]] [previous_kernel_public_inputs.end.nullifiers.array.inner] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000007" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x30405a0693eed61f76d3d7c18614b8d3286aa2ad3039533e2658766de9ab4e15" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +inner = "0x0000000000000000000000000000000000000000000000000000000000000003" [[previous_kernel_public_inputs.end.nullifiers.array]] [previous_kernel_public_inputs.end.nullifiers.array.inner] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x000000000000000000000000000000000000000000000000000000000000000c" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0d0a8ccb98f956b37ac2b18ac43c84cf4e36fc01b0b08126241827575a48200c" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +inner = "0x0000000000000000000000000000000000000000000000000000000000000002" [[previous_kernel_public_inputs.end.nullifiers.array]] [previous_kernel_public_inputs.end.nullifiers.array.inner] @@ -3586,38 +3330,38 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.private_logs] -length = "0x0000000000000000000000000000000000000000000000000000000000000000" +length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.end.private_logs.array]] [previous_kernel_public_inputs.end.private_logs.array.inner] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x000000000000000000000000000000000000000000000000000000000000000d" [previous_kernel_public_inputs.end.private_logs.array.inner.inner] note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] fields = [ + "0x174c6b3d0fd14728e4fc5e53f7b262ab943546a7e125e2ed5e9fde3cf0b3e22f", + "0x0d0a8ccb98f956b37ac2b18ac43c84cf4e36fc01b0b08126241827575a48200c", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x1ca223fbc16e82cbb9bd22c108021ef47864791c258edbdd8eefa458c62ba8d2", + "0x30405a0693eed61f76d3d7c18614b8d3286aa2ad3039533e2658766de9ab4e15", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a26", + "0x00c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c", + "0x1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb151", + "0x0e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b", + "0x082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0", + "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x000000000000000000000000000000000000000000000000000000000000000d" [previous_kernel_public_inputs.end.private_logs.array.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +inner = "0x0000000000000000000000000000000000000000000000000000000000000002" [[previous_kernel_public_inputs.end.private_logs.array]] [previous_kernel_public_inputs.end.private_logs.array.inner] @@ -5573,34 +5317,34 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.contract_class_logs_hashes] -length = "0x0000000000000000000000000000000000000000000000000000000000000000" +length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.end.contract_class_logs_hashes.array]] [previous_kernel_public_inputs.end.contract_class_logs_hashes.array.inner] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000008" [previous_kernel_public_inputs.end.contract_class_logs_hashes.array.inner.inner] - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x242b9549d1e2c420a764a5aa2ba58d98b77e35fef8ffa5aa787f9b325f2b5005" + length = "0x0000000000000000000000000000000000000000000000000000000000000068" [previous_kernel_public_inputs.end.contract_class_logs_hashes.array.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +inner = "0x0000000000000000000000000000000000000000000000000000000000000003" [previous_kernel_public_inputs.end.public_call_requests] -length = "0x0000000000000000000000000000000000000000000000000000000000000001" +length = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests.array]] - counter = "0x0000000000000000000000000000000000000000000000000000000000000006" + counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.public_call_requests.array.inner] is_static_call = false - calldata_hash = "0x16acf8ee72d77f214e5286307ed2710fda25445374c38debbef546a746b679ce" + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] - inner = "0x16fc6ad8c94527d45832bb8631b0c1dedf3218fe7c3ca04e01850a3eff6a511a" + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.public_call_requests.array]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6307,7 +6051,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2" [padded_side_effects] note_hashes = [ @@ -8311,9 +8055,9 @@ read_request_index = "0x00000000000000000000000000000000000000000000000000000000 "0x30105bad22ddcc508b739b7c9ad87a561c569ff5cb0098a853c1c4ac21b7a037", "0x1e20ad4181460cbfdc74ca773502c59b890f184efe300ebad895956d318422da", "0x1434e6e2d5db1053ab8a3be58704509c799ee17e109c77f441f7bf1755400249", - "0x0951be8128e49814029387ac6bfbe43a1e43dadd05a6e50f78ef8265cd09b5a1", + "0x011493b3dc6ff7233e375206a6abca69781caccfbce08c0507c7ba581aa94b0b", "0x221cf368938c74e4fced9dfb2a8e37cd8a6c57d21385c249f0b5c2412341287f", - "0x15f254a15d2db357812a7044082d84639b7c8adc2a909034fb01d4a6879296ab", + "0x2ed29e329b77e3cddc51479e8f2dd13802a7e1aa2ff1b447d6007fedf382717f", "0x13abc9bba431e6930c169f5daeb60aedbb27d7618c7ff88b3b4ec1c6de1d6bb8", "0x0d04c63f36bd168215c9b09a227c7e8d3ad48e2f11b8202fd07c524bd30ee88f", "0x042c72d0ca208f0631ed947050258333518c26059f0a2ef041e933b1b2a6d8ad", @@ -8350,7 +8094,7 @@ read_request_index = "0x00000000000000000000000000000000000000000000000000000000 ] [hints.note_hash_read_request_hints.settled_read_hints.leaf_preimage] - value = "0x29ecb485abf1e4a9963bb4dada6e8b67bda9c6bb09527ecb8d0c64a0d119e0fd" + value = "0x302a86bd5883e95684cbcd46af941e62a60b0416ee605f00eae4a0189b8af2ee" [[hints.note_hash_read_request_hints.settled_read_hints]] read_request_index = "0x0000000000000000000000000000000000000000000000000000000000000040" @@ -11692,7 +11436,7 @@ read_request_index = "0x00000000000000000000000000000000000000000000000000000000 value = "0x0000000000000000000000000000000000000000000000000000000000000000" [[hints.nullifier_read_request_hints.read_request_actions]] -action = "0x0000000000000000000000000000000000000000000000000000000000000000" +action = "0x0000000000000000000000000000000000000000000000000000000000000001" hint_index = "0x0000000000000000000000000000000000000000000000000000000000000000" [[hints.nullifier_read_request_hints.read_request_actions]] @@ -11948,8 +11692,8 @@ action = "0x0000000000000000000000000000000000000000000000000000000000000000" hint_index = "0x0000000000000000000000000000000000000000000000000000000000000000" [[hints.nullifier_read_request_hints.pending_read_hints]] -read_request_index = "0x0000000000000000000000000000000000000000000000000000000000000040" -pending_value_index = "0x0000000000000000000000000000000000000000000000000000000000000000" +read_request_index = "0x0000000000000000000000000000000000000000000000000000000000000000" +pending_value_index = "0x0000000000000000000000000000000000000000000000000000000000000001" [[hints.nullifier_read_request_hints.pending_read_hints]] read_request_index = "0x0000000000000000000000000000000000000000000000000000000000000040" diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-tail-to-public/Prover.toml b/noir-projects/noir-protocol-circuits/crates/private-kernel-tail-to-public/Prover.toml index 4a9ed54ae711..2875610b0af5 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-tail-to-public/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-tail-to-public/Prover.toml @@ -1,130 +1,130 @@ -expiration_timestamp_upper_bound = "0x0000000000000000000000000000000000000000000000000000000069ff1b30" +expiration_timestamp_upper_bound = "0x000000000000000000000000000000000000000000000000000000006a0c712f" [previous_kernel.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000003d" sibling_path = [ - "0x1836f64afd38c3a05416bbcee658f4acce2576bbe554a445b33b8936297034e1", - "0x2c05a8ec2045319ea62b81134a53d4e0c1b021fed7877a3a8acc676cf26794f7", - "0x280ae800476659efd90f7ae6a3a2ae3958c1261ca9ae8ba3b2b8320fc9ef662d", - "0x1afa13b72352bab63bfdb391bbadee67783679a9b5ce7fbbcde44387ba5b0eae", - "0x2a99cb07c31aa5ee3a8af2c6db61485892e126a5eac56720fcbbbb002b19d015", - "0x0384c341c7892982bb9f5581098584a00bc572787bf4153d0a52532652ace783", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x0e5e5b81c76efb898b163faa6ee7d6855b64a79e56ac17ff7cf95a60a1125d58", + "0x1ed1f6ae3c2aba56858bdbb3c261d8f7700092a1a1f890d6a0a107e3712446e2", + "0x0ea9a4b61d0915de0514bdc6af213e5f1b338ed1afbef7f1e9fdcb042a751935", + "0x1998bd282e674d397ff88e6b98ed4c795f92263867aa8a0a0b73b1b5643128b5", + "0x084174c19225d48e9b905b49bd461775b745efe40c7f706e5df7e05b4d952d41", + "0x0ae4f3dc533a85154efaa40fbe95415d0544950a47ed66a57418e991f0f134a4", + "0x175bb0190a44c00aa0f83b47bd63259e980f01e24e9518b9bb8abd2c25e49a02" ] [previous_kernel.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000011", "0x000000000000000000000000000000000000000000000000000000000000001a", - "0x0000000000000000000000000000000000000000000000000000000000000cad", - "0x0000000000000000000000000000002b2468b5f8f13bd482d710d25b291a02d4", - "0x000000000000000000000000000000000028799bf367c0778599b2b948882163", - "0x000000000000000000000000000000fe9b706fe16bc87d35001fd66356a746bc", - "0x000000000000000000000000000000000001ca485164bddf169d3fe6c29f62e7", - "0x00000000000000000000000000000075e09707371f536b6282e95e95cb185f37", - "0x000000000000000000000000000000000024009d9583c43b01bfe49bd946bf15", - "0x000000000000000000000000000000881a9c651f0a2aae2de99f5557fa22023f", - "0x00000000000000000000000000000000000068e5a5ca58bc35138b3847beeed4", - "0x000000000000000000000000000000f223a8c39d330da2a41cef98b4e091c9b7", - "0x0000000000000000000000000000000000211f7059c97618280acecd75745235", - "0x000000000000000000000000000000044e4a5f8a66993f61ec86dfb978efde9c", - "0x0000000000000000000000000000000000090682734b33c06cd65ba8824167f6", - "0x0000000000000000000000000000007add80ab4d0d02238831551a2844a9f730", - "0x00000000000000000000000000000000000bb45a300640a05ece5fe1ad9b9ee5", - "0x0000000000000000000000000000007da2be4190c8f0f38b37f33d411b427a1b", - "0x000000000000000000000000000000000026098dd8b73e82d335f5e784cbf652", - "0x0000000000000000000000000000007ab032555b3b13f26ed0788c300e54c30a", - "0x00000000000000000000000000000000002a8c9e9e15de7b8b11220f4055bf04", - "0x000000000000000000000000000000f4ce25385f14112552f1512e2f4e99d0e8", - "0x000000000000000000000000000000000015873846a6e7648a844f037a03f737", - "0x00000000000000000000000000000076dbac5187affde31d2adfb3b5064f5a77", - "0x000000000000000000000000000000000020ef23c172d94df80288571d7e3ca3", - "0x000000000000000000000000000000e69eb7802e5d99aa20bc39dee1f6b84b8f", - "0x00000000000000000000000000000000002b2c9af00759a128112ed819b8b1b0", - "0x000000000000000000000000000000f74bd0fb26a604548c9068fef410612fb9", - "0x00000000000000000000000000000000002ca283b09804c9b7d8ca32dc3a2c75", - "0x000000000000000000000000000000c90052c50c0497cddef7e3a71872d14596", - "0x0000000000000000000000000000000000231d65742b933d5aef1ad67db52143", - "0x000000000000000000000000000000b86b4223f0ebb39a8741b6ebba3a313095", - "0x00000000000000000000000000000000001f853f71eaa7368db93d05eefb5256", - "0x000000000000000000000000000000467ff45666661562c57d52de8c4f8f193c", - "0x00000000000000000000000000000000001fdb031a99c29b571b0a66a4140e8e", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000089d2777774ad5c33906740b3656fda53a0", - "0x0000000000000000000000000000000000133bedccd128dc4587817ae09af71b", - "0x000000000000000000000000000000641918e54723a119562889c1ff6239d13d", - "0x00000000000000000000000000000000002c14c2e4f17070e269f9903a383793", - "0x00000000000000000000000000000026c43cff4875a95471fe2c2008292fff78", - "0x00000000000000000000000000000000001224540abfac9c15d64e21d816b9dd", - "0x000000000000000000000000000000beb481b4d5d4eef75c1b133ca9b7efa690", - "0x000000000000000000000000000000000019b490637210bf2280a86ae0a1d7f7", - "0x000000000000000000000000000000e0b4e0795a8b1375e34eab2397b735ef03", - "0x00000000000000000000000000000000000effe6364fc31714fde11efcbe733c", - "0x0000000000000000000000000000005a1907824e164fc0fdd0f0e7c61f4d7398", - "0x00000000000000000000000000000000001cd6403b37da0361f243a3606ac383", - "0x0000000000000000000000000000006a48458b17770a4ad91f725dd01a8c486b", - "0x00000000000000000000000000000000000c395fd0e57de7d52c706e13918651", - "0x000000000000000000000000000000cde7b67f0a01ba051f06746ff7b56f59de", - "0x000000000000000000000000000000000020e0ab3fa354e260e0ac1855e128ca", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000654fe84b50aced8eb7212098af0880ed53", - "0x00000000000000000000000000000000002b2fcb6b0ee568a71f92d2a9bbfad3", - "0x0000000000000000000000000000005d9f4f1e59fac32314c435fb51e2a25ff0", - "0x000000000000000000000000000000000009734092d4e035b968ae8ee337464c", - "0x000000000000000000000000000000a28867ea56c5fbf4aca51fdbbf965e5dae", - "0x00000000000000000000000000000000002feaf04057ed002c072833048ce9e0", - "0x000000000000000000000000000000f9b70bdcd41a1c0bade216b9d5284af115", - "0x00000000000000000000000000000000001ece78d726aaf44e37d9053ebd1534", - "0x000000000000000000000000000000c4e55b000805b017402a109a6b29805245", - "0x00000000000000000000000000000000001d999b7c6ca8df0cca3c57ee4c8be8", - "0x0000000000000000000000000000008820aa820991933af75b5d02d44d0bf685", - "0x0000000000000000000000000000000000039880d1fbfc627ab3421788858e66", - "0x000000000000000000000000000000514dfa671906947f5f640255bfc583eedc", - "0x00000000000000000000000000000000000b0e0c990016a1fdf37d3d6daea7ae", - "0x00000000000000000000000000000040dbbc0f6d52ba0ce246acf816373fbbc1", - "0x0000000000000000000000000000000000035ba8d570a6b7efa251b206e85c82", - "0x0000000000000000000000000000003ebdd6ba8db24c72ad85e8d10fb1346027", - "0x0000000000000000000000000000000000035c795b4ad27e20c934ac5ae517b8", - "0x0000000000000000000000000000005369721308b3dda5dbbab39f83bffcf79a", - "0x0000000000000000000000000000000000241a6ba1547bf3c8eb2ded3454d897", - "0x0000000000000000000000000000009f97bcbba8db2f8bda79a78c0eaefacc5a", - "0x00000000000000000000000000000000002c960a56441f3a00b2f8b48f3b3563", - "0x000000000000000000000000000000ffe2ad855d3522d6b3f8b544681949c713", - "0x00000000000000000000000000000000000002f9753e605a6cbf6dbc604046a6", - "0x0000000000000000000000000000008cfee82227443d00335c9ef376137f6217", - "0x00000000000000000000000000000000001708d8cb04ad71f327107dd3e73cfb", - "0x0000000000000000000000000000007872392082ec4533c6b70f690660ee498f", - "0x0000000000000000000000000000000000122a83a98d1d526cb57355616bb850", - "0x0000000000000000000000000000000a95a3eeae99b98360d61166e89954845a", - "0x0000000000000000000000000000000000202c82d7bd85e9243e7ed0801ebe64", - "0x00000000000000000000000000000027acbc73301fe1b0c21888c2722dd75b7a", - "0x00000000000000000000000000000000002ae7d3ca125bd531826422c7d1acf7", - "0x000000000000000000000000000000d761bb670a9ff734cc38f0d30238a2b28c", - "0x000000000000000000000000000000000005aa3fab8a429258028c4a4287a0e6", - "0x0000000000000000000000000000007a80c32a515f441ce80a5d6cdb53d50866", - "0x000000000000000000000000000000000017f409fea3a1680e6df2a07e9eb3af", - "0x0000000000000000000000000000001a93444f40b0bc09418c7894fe797e2736", - "0x0000000000000000000000000000000000171474b32205fc141e14cfb847a8d3", - "0x000000000000000000000000000000081188cb41c2b23f91bef3a8237fb5fa5d", - "0x00000000000000000000000000000000001ed9b478e77d9f60e9614dfd6014ba", - "0x00000000000000000000000000000042f9a2c111e62ef204c3851affea6af0ef", - "0x0000000000000000000000000000000000108601bd973a835e50fc521d6ec1d9", - "0x000000000000000000000000000000f92be9d44c6688723f37065c3af9521bd6", - "0x000000000000000000000000000000000022ed90948b7d0f29ee1ed4349cab5a", - "0x000000000000000000000000000000bf6e68585d4cb32aeb39412d4a3e6cd968", - "0x00000000000000000000000000000000000c8df79002571c9aef12bb6d7f3bca", - "0x000000000000000000000000000000046577d9d6782e8214d846d3a16aa8ceb7", - "0x0000000000000000000000000000000000249e158a2e56acae4de64894bb2366", - "0x0000000000000000000000000000004b4ecd7a5a335425433b11e098157c3557", - "0x0000000000000000000000000000000000152c2ebca43c64a74ea10b830e9f62", - "0x0000000000000000000000000000006e65e30a946db2c5e16462e3a487d614eb", - "0x0000000000000000000000000000000000294d7279cdf2f3a5a0f47d5d830d40", + "0x0000000000000000000000000000000000000000000000000000000000000c2d", + "0x0000000000000000000000000000009746a298cc238fa9fc88119d64824cecd3", + "0x00000000000000000000000000000000000a622e89485dcc5a40545852372230", + "0x0000000000000000000000000000006809e41276c7672741eaf50c615e7aaf5f", + "0x000000000000000000000000000000000023ef3262cfcbaa1a38aa48f42b80a4", + "0x00000000000000000000000000000029b4a0a73660db847087b0ec0ff8ae7cc0", + "0x00000000000000000000000000000000000bbf015119fab668caabd4aac59b4a", + "0x0000000000000000000000000000003aceeaa5125630611ff88a1638c74b8bf8", + "0x00000000000000000000000000000000002954b4a5df3301bd05b4b33f4b1281", + "0x0000000000000000000000000000007d75fd1698bf937cad957054b4d802deac", + "0x00000000000000000000000000000000001eae87f9894a26c8d8685edcaa11f7", + "0x000000000000000000000000000000bec44c06c527d2c90cd142d22a575b64ad", + "0x00000000000000000000000000000000001ce6fd416b339978042baa3b29160b", + "0x000000000000000000000000000000601d1a36cbf2648b7a35e094aab2f78625", + "0x000000000000000000000000000000000013d19f319a00fc7417c1ad631d3286", + "0x000000000000000000000000000000cebe2c4b8938871fcd990b93f474835e2b", + "0x0000000000000000000000000000000000253ff4164f3a2cdd7a2118f953a472", + "0x000000000000000000000000000000633bff41528ff6e9648cabab45618cd3f8", + "0x00000000000000000000000000000000000a128ad23b420b11945de2c94bc8db", + "0x000000000000000000000000000000c2bdeaad6e1bb38c01807cbeb39eb01474", + "0x00000000000000000000000000000000001a87197d7cbb357c71e7475853a89a", + "0x000000000000000000000000000000d60d42e56b09250d5406827e9f63c5c507", + "0x00000000000000000000000000000000001c429c10ec7865314a9bb768fc77cb", + "0x000000000000000000000000000000874ae527782ea78b526a4069d5a5fffad6", + "0x00000000000000000000000000000000000cf6dd26f50b908aedf25ca7beb983", + "0x0000000000000000000000000000007dfb532ce535603daa17b40d4f20268fa6", + "0x00000000000000000000000000000000001aa8da80801279d91cd4386764d5b7", + "0x00000000000000000000000000000051498e1f98a404cce7b25f7487732af055", + "0x00000000000000000000000000000000002d5ce3870ecba8710b98522a635a24", + "0x0000000000000000000000000000003f1d7da491f2a68c39458177333aa62b8f", + "0x00000000000000000000000000000000001d1af6c81adf6a906f55b20aa99aa7", + "0x0000000000000000000000000000004398c4f4ff3f65cba6337e0a48437289b7", + "0x00000000000000000000000000000000002c90b326149002904e30310eed12dd", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000e6ce520672cc9f4fba3288b2d696d69b60", + "0x0000000000000000000000000000000000240074838ef9434d6524883c8af328", + "0x000000000000000000000000000000cc5409001d9a1b6e499a55194c5cee623b", + "0x0000000000000000000000000000000000272e8cb04c7e831a06e0eff44b1633", + "0x00000000000000000000000000000029faeb6bccfe395b36c4dde26a9281cd51", + "0x0000000000000000000000000000000000079cd2f8b7f8d0ba574f06c074487c", + "0x000000000000000000000000000000467663df6ffc3082510ef243829669f9b2", + "0x0000000000000000000000000000000000154ba884593558e4fa1d35a08901c2", + "0x0000000000000000000000000000003b9367cb2541b5cae36cacba4a0e9565f2", + "0x00000000000000000000000000000000000e9c894d1634c38a1da7a18ff2a4d1", + "0x000000000000000000000000000000a44d578cb20654807e5da0fae4fb462540", + "0x00000000000000000000000000000000001583bdfc0f1f208b72177fd73a4e0e", + "0x0000000000000000000000000000005101bd383908b7e9563f9943ed5b6b9d5d", + "0x00000000000000000000000000000000001894ae59fb37a39ee483d90674a601", + "0x0000000000000000000000000000008eaa98f808cc4df6011d0467d94748bfef", + "0x000000000000000000000000000000000018728540c99b37787e0ec614d5d2c2", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000095b02b4b915ea97d2863c7de9364faf7c1", + "0x000000000000000000000000000000000024bf0c36515c471894eca07c722a6f", + "0x00000000000000000000000000000021b9c8dd0f3068ab110290ce8dde8ca475", + "0x0000000000000000000000000000000000033a64820c52027d57fb58ebb6c381", + "0x000000000000000000000000000000de86fb0a5a50dd02848572163142b8640e", + "0x000000000000000000000000000000000006104618e23a8bd65ba6678675ef30", + "0x0000000000000000000000000000007ecf243d0261b865862c9aa1c0fa854c03", + "0x00000000000000000000000000000000002b49777a506a0876586804d7265c91", + "0x000000000000000000000000000000b03490f3e92e51591fa83188e45ff33c1d", + "0x000000000000000000000000000000000020ca792b4db8d34742259c49a69680", + "0x000000000000000000000000000000bba53bf211eba5cfdc0655d659b54e5154", + "0x000000000000000000000000000000000025743fca2cf229c9e74f0b94b2a60c", + "0x00000000000000000000000000000039fa7ba046a2aa4d1e1b2e7caf7a8468b2", + "0x0000000000000000000000000000000000114565ee8a1a9f6c0765554f828b55", + "0x00000000000000000000000000000039f6f4a9450081d17e80431d7673b4e831", + "0x00000000000000000000000000000000001aeacf01182adb275721404acf94ec", + "0x000000000000000000000000000000b61eb26643a3330cf20693ce2863cd8df9", + "0x000000000000000000000000000000000001287624004468d7fdb961891f7657", + "0x0000000000000000000000000000008e93f0560ff5d7fc733764b1eb22480fef", + "0x0000000000000000000000000000000000122ec6ad7d326d49eb1ec1b6058f11", + "0x00000000000000000000000000000095ed3058c8b0990d267a70546ff583ee0f", + "0x000000000000000000000000000000000014b8a07a5bb9e756fca0fa2b309603", + "0x00000000000000000000000000000011c41e34d997fc68ea4bf83e558d0cc63c", + "0x00000000000000000000000000000000002d5aa2b07b478858f898b181d0ba8b", + "0x0000000000000000000000000000002181f534d66eac7d336c5a0615483614de", + "0x00000000000000000000000000000000001ddfc420c74fb84de1fc06e15cb736", + "0x000000000000000000000000000000221911551b028d679741b7201b0ecbec4c", + "0x00000000000000000000000000000000000dda073b8d6dff1f7820fd10608eac", + "0x000000000000000000000000000000f83c26a030132139738278422f03bf922a", + "0x0000000000000000000000000000000000090293167442d6241ef786787ad54a", + "0x00000000000000000000000000000081472fe64f8676d2c6ba66632be788181a", + "0x00000000000000000000000000000000002686bba5965dbeeace183975458ab6", + "0x000000000000000000000000000000afefc9d6f3b48945adcbfcfd1c96c9d317", + "0x000000000000000000000000000000000004230c01cef5000fc66eed900511c7", + "0x000000000000000000000000000000461b8ddba4875f5c0ee209e969c8cab5b5", + "0x000000000000000000000000000000000004f3c201bbca13be28a391550e3e15", + "0x0000000000000000000000000000008559177c932a1653672c242e7617b96ed7", + "0x0000000000000000000000000000000000171be06bb1a5c5e15ae25ea139e42a", + "0x000000000000000000000000000000ee99ac22da62f96c90ac540968ff4e0df5", + "0x00000000000000000000000000000000002a4b4f6cecfa52aeacb7c88e2ba547", + "0x00000000000000000000000000000075b8d277e2f2d2578c463156acd5f1475d", + "0x000000000000000000000000000000000013ad863e13e6edf10c859862b09f73", + "0x0000000000000000000000000000009f93998170f02cdbb3d8ab65ffc18aa878", + "0x000000000000000000000000000000000000b2bad4d1a7598557b09810779622", + "0x00000000000000000000000000000000d5a82f535d9f53a56ad2c90d651a6f07", + "0x000000000000000000000000000000000000e77d138f0fe1fb3334079b7a17b8", + "0x000000000000000000000000000000375d67be44557b3a7109eb34e19abe23bd", + "0x0000000000000000000000000000000000004374e342cf902621d2f067ee0dde", + "0x000000000000000000000000000000618d7aa8936861e2dfed7786fe06e14cbe", + "0x0000000000000000000000000000000000028eef3b42459371670ed47195575c", + "0x0000000000000000000000000000004185b847b001cc084cb5d9fc3c413c9447", + "0x00000000000000000000000000000000000f0cdae2ffe529626d71ad12c69406", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -145,76 +145,76 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000034620fc4f5dc2f120b5673912cf04226e9", - "0x000000000000000000000000000000000025a6078d74c0fd7d4dd9e328ad4c94", - "0x00000000000000000000000000000019d834f9bb59a8e973ed867f0477fc8121", - "0x00000000000000000000000000000000001fdeb0dc3db761477a1a9feb00c906", + "0x000000000000000000000000000000ae09bb7f78acfe7c9d9a2b944b789f8363", + "0x0000000000000000000000000000000000011fa902d1394869cea67da68c1718", + "0x000000000000000000000000000000655a4cb5f0e139646b6fe88fd680ee9c5d", + "0x0000000000000000000000000000000000019f3c976b53013b5041616ea60768", "0x00000000000000000000000000000076959cf0870e0ae93bb69edc64b0cacdac", "0x0000000000000000000000000000000000269679f8c1a1ad2aadccaf8ba3100e", "0x000000000000000000000000000000bb028a742987d54246ffc933f8240d70ef", "0x0000000000000000000000000000000000295f79977c6ae0d15cc2b68b7f0837", - "0x00000000000000000000000000000064dd7da7637cf2116a18531edc7fea829a", - "0x0000000000000000000000000000000000162e867465b02e01bbabb15c59b84d", - "0x00000000000000000000000000000071f09c1d3d2c8f9499c838fc966b04ada9", - "0x00000000000000000000000000000000000f4504ac6f302739e9f2c7aa824d12" + "0x000000000000000000000000000000882d0b700868900a984b8a8f100e96bc7c", + "0x00000000000000000000000000000000000abfe4989e01ac99945d20ac56ed24", + "0x000000000000000000000000000000ceb31f078b322681c311c51b7684078b7e", + "0x0000000000000000000000000000000000041b07ce00654c923848301f5fbbd8" ] - hash = "0x297f9ac45dd6c9f333314227aacca93023e72710232e7120328d7e7c209ebc8f" + hash = "0x141adcbeacb22e8db98482647ab8bddc8bafc8d2c45ba62cefe4fabe03067018" [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069ff293f" +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c7f3e" is_private_only = false -claimed_first_nullifier = "0x09fac458f9e079d0117ef63746c55ce66b3e5d95c8420974d9c69f369b0d77ef" +claimed_first_nullifier = "0x233e95769f6a7d3be5b0c68b13431ad2214bcede52ae9c10e340ac57871b65fb" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x13a1bf44c19e7c2eb7fc1a96527d072cf424bc99c760e392f4abcecc1fc597f8" - total_fees = "0x00000000000000000000000000000000000000000000000002b26ec5db7a7140" - total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a3979" + sponge_blob_hash = "0x07b265010fd2cc21c16b1d2594ca99672e2cfff5ca81945b3a0831755b42379f" + total_fees = "0x0000000000000000000000000000000000000000000000000035dd7429a09780" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000722f4" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x0d18996e508e8c1e51f6a56652cc5d71169450ff16c25de9af7f79af5385e334" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" + root = "0x24b436e53660fa0ce7ece2c6a741d91157cbb61a10885ac29d14d58cd3180af8" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [previous_kernel_public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x1c223e428d6faa36822890e3b99417ddf73ffb069bf4c44b6ae9d7fc741733f6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x2ec6c12dea917fa19ec74a89fa547c25e2894a67f1d0f6b816fb105662287c8d" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x01c778a6b3dcb1245bb0aee174252dd95256e67309f952e5d2f8cbafffe20d0f" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" +root = "0x144143122fcbe95a5aab0c5c25ba91279b425eb8f5dff6ff7fcc2fd9eb65aa64" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x134e44df49ddb89525046d19bcfc2734c78e419994de9d6f7467eb84d02d1060" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x19208383914fedc1cee3bbbda84965791ab30ab104aca7d2f9131dd853eba7db" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x0000000000000000000000000000000000000000000000000000000069fdd7c0" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0b2dbf" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000004386faeb40" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" @@ -233,22 +233,22 @@ fee_per_da_gas = "0x000000000000000000000000000000000000000000000000000000000000 fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x1520f4bb11a3a1d2248a03d8472e9af4bb8324eb1d2d8c83bce61894383464b9" +inner = "0x2c78cadfe08eabbb0e2a15b62eefd07a08cbc1631fa2be7962fd219308d9f1e3" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x26a43bf066852a7b1ec3c5b454f41735fea12e2ffbefed471058124b91d94018" +inner = "0x0d6429ccd33eeec2a03a7b2f78d6c901ad9406bf2058231382147de5014303fd" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x1bd26c6831ebc53674b13ac69a0c534563c37e46c2cbb36f2deca107a26515fa" +inner = "0x0b286a1c928fbe1ca3be78fe2f2bd25a2eec7f5f15c2757a2db53b2a8d499358" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x06870c63132d2a4e3356a76d773240efe729e7d9b9380a7a3cf1798fc9031aed" +inner = "0x1cef6885d1ace5a36534202d1f593b94ac0876ff4933745085ad62da062a3b5e" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0083c4dfb922796f1086d399f8f3d021159d1a87ba3b833dcdf9863c630ba643" +inner = "0x2ccc3471349063b3b0c5a6362e0dbfc3c21b534f84fc963483667b32840e259a" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0b4d3a9a7a3caf83f9c2060347e48cc28c7f04d2560d1cbf5bf08d4832128a97" +inner = "0x0ad78bd90b0e2e0887928b98b621517d04a6bddebf6b20bdb76ddd8aec6f05fd" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1303,13 +1303,9 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1318,13 +1314,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1333,13 +1325,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1348,13 +1336,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1363,13 +1347,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1378,13 +1358,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1393,13 +1369,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1408,13 +1380,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1423,13 +1391,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1438,13 +1402,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1453,13 +1413,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1468,13 +1424,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1483,13 +1435,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1498,13 +1446,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1513,13 +1457,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1528,13 +1468,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1543,13 +1479,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1558,13 +1490,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1573,13 +1501,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1588,13 +1512,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1603,13 +1523,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1618,13 +1534,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1633,13 +1545,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1648,13 +1556,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1663,13 +1567,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1678,13 +1578,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1693,13 +1589,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1708,13 +1600,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1723,13 +1611,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1738,13 +1622,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1753,13 +1633,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1768,13 +1644,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1783,13 +1655,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1798,13 +1666,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1813,13 +1677,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1828,13 +1688,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1843,13 +1699,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1858,13 +1710,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1873,13 +1721,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1888,13 +1732,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1903,13 +1743,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1918,13 +1754,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1933,13 +1765,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1948,13 +1776,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1963,13 +1787,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1978,13 +1798,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1993,13 +1809,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2008,13 +1820,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2023,13 +1831,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2038,13 +1842,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2053,13 +1853,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2068,13 +1864,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2083,13 +1875,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2098,13 +1886,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2113,13 +1897,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2128,13 +1908,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2143,13 +1919,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2158,13 +1930,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2173,13 +1941,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2188,13 +1952,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2203,13 +1963,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2218,13 +1974,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2233,13 +1985,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2248,13 +1996,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2781,7 +2525,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" counter = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x09fac458f9e079d0117ef63746c55ce66b3e5d95c8420974d9c69f369b0d77ef" + value = "0x233e95769f6a7d3be5b0c68b13431ad2214bcede52ae9c10e340ac57871b65fb" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -5596,13 +5340,13 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.public_call_requests.array.inner] is_static_call = false - calldata_hash = "0x16acf8ee72d77f214e5286307ed2710fda25445374c38debbef546a746b679ce" + calldata_hash = "0x00a5e40cab902df3efe088094577e83eb92103581c990f351edf1dfba3778905" [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2" [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] - inner = "0x16fc6ad8c94527d45832bb8631b0c1dedf3218fe7c3ca04e01850a3eff6a511a" + inner = "0x1be490a4b344f41827e94113f628fb311efc1abac19bc1e84b08fd578708964a" [[previous_kernel_public_inputs.end.public_call_requests.array]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6309,7 +6053,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2" [padded_side_effect_amounts] non_revertible_note_hashes = "0x0000000000000000000000000000000000000000000000000000000000000000" diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-tail/Prover.toml b/noir-projects/noir-protocol-circuits/crates/private-kernel-tail/Prover.toml index e85826cf5411..908909bdd8d1 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-tail/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-tail/Prover.toml @@ -1,130 +1,130 @@ -expiration_timestamp_upper_bound = "0x0000000000000000000000000000000000000000000000000000000069ff1b30" +expiration_timestamp_upper_bound = "0x000000000000000000000000000000000000000000000000000000006a0c6907" [previous_kernel.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000003d" sibling_path = [ - "0x1836f64afd38c3a05416bbcee658f4acce2576bbe554a445b33b8936297034e1", - "0x2c05a8ec2045319ea62b81134a53d4e0c1b021fed7877a3a8acc676cf26794f7", - "0x280ae800476659efd90f7ae6a3a2ae3958c1261ca9ae8ba3b2b8320fc9ef662d", - "0x1afa13b72352bab63bfdb391bbadee67783679a9b5ce7fbbcde44387ba5b0eae", - "0x2a99cb07c31aa5ee3a8af2c6db61485892e126a5eac56720fcbbbb002b19d015", - "0x0384c341c7892982bb9f5581098584a00bc572787bf4153d0a52532652ace783", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x0e5e5b81c76efb898b163faa6ee7d6855b64a79e56ac17ff7cf95a60a1125d58", + "0x1ed1f6ae3c2aba56858bdbb3c261d8f7700092a1a1f890d6a0a107e3712446e2", + "0x0ea9a4b61d0915de0514bdc6af213e5f1b338ed1afbef7f1e9fdcb042a751935", + "0x1998bd282e674d397ff88e6b98ed4c795f92263867aa8a0a0b73b1b5643128b5", + "0x084174c19225d48e9b905b49bd461775b745efe40c7f706e5df7e05b4d952d41", + "0x0ae4f3dc533a85154efaa40fbe95415d0544950a47ed66a57418e991f0f134a4", + "0x175bb0190a44c00aa0f83b47bd63259e980f01e24e9518b9bb8abd2c25e49a02" ] [previous_kernel.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000011", "0x000000000000000000000000000000000000000000000000000000000000001a", - "0x0000000000000000000000000000000000000000000000000000000000000cad", - "0x0000000000000000000000000000002b2468b5f8f13bd482d710d25b291a02d4", - "0x000000000000000000000000000000000028799bf367c0778599b2b948882163", - "0x000000000000000000000000000000fe9b706fe16bc87d35001fd66356a746bc", - "0x000000000000000000000000000000000001ca485164bddf169d3fe6c29f62e7", - "0x00000000000000000000000000000075e09707371f536b6282e95e95cb185f37", - "0x000000000000000000000000000000000024009d9583c43b01bfe49bd946bf15", - "0x000000000000000000000000000000881a9c651f0a2aae2de99f5557fa22023f", - "0x00000000000000000000000000000000000068e5a5ca58bc35138b3847beeed4", - "0x000000000000000000000000000000f223a8c39d330da2a41cef98b4e091c9b7", - "0x0000000000000000000000000000000000211f7059c97618280acecd75745235", - "0x000000000000000000000000000000044e4a5f8a66993f61ec86dfb978efde9c", - "0x0000000000000000000000000000000000090682734b33c06cd65ba8824167f6", - "0x0000000000000000000000000000007add80ab4d0d02238831551a2844a9f730", - "0x00000000000000000000000000000000000bb45a300640a05ece5fe1ad9b9ee5", - "0x0000000000000000000000000000007da2be4190c8f0f38b37f33d411b427a1b", - "0x000000000000000000000000000000000026098dd8b73e82d335f5e784cbf652", - "0x0000000000000000000000000000007ab032555b3b13f26ed0788c300e54c30a", - "0x00000000000000000000000000000000002a8c9e9e15de7b8b11220f4055bf04", - "0x000000000000000000000000000000f4ce25385f14112552f1512e2f4e99d0e8", - "0x000000000000000000000000000000000015873846a6e7648a844f037a03f737", - "0x00000000000000000000000000000076dbac5187affde31d2adfb3b5064f5a77", - "0x000000000000000000000000000000000020ef23c172d94df80288571d7e3ca3", - "0x000000000000000000000000000000e69eb7802e5d99aa20bc39dee1f6b84b8f", - "0x00000000000000000000000000000000002b2c9af00759a128112ed819b8b1b0", - "0x000000000000000000000000000000f74bd0fb26a604548c9068fef410612fb9", - "0x00000000000000000000000000000000002ca283b09804c9b7d8ca32dc3a2c75", - "0x000000000000000000000000000000c90052c50c0497cddef7e3a71872d14596", - "0x0000000000000000000000000000000000231d65742b933d5aef1ad67db52143", - "0x000000000000000000000000000000b86b4223f0ebb39a8741b6ebba3a313095", - "0x00000000000000000000000000000000001f853f71eaa7368db93d05eefb5256", - "0x000000000000000000000000000000467ff45666661562c57d52de8c4f8f193c", - "0x00000000000000000000000000000000001fdb031a99c29b571b0a66a4140e8e", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000089d2777774ad5c33906740b3656fda53a0", - "0x0000000000000000000000000000000000133bedccd128dc4587817ae09af71b", - "0x000000000000000000000000000000641918e54723a119562889c1ff6239d13d", - "0x00000000000000000000000000000000002c14c2e4f17070e269f9903a383793", - "0x00000000000000000000000000000026c43cff4875a95471fe2c2008292fff78", - "0x00000000000000000000000000000000001224540abfac9c15d64e21d816b9dd", - "0x000000000000000000000000000000beb481b4d5d4eef75c1b133ca9b7efa690", - "0x000000000000000000000000000000000019b490637210bf2280a86ae0a1d7f7", - "0x000000000000000000000000000000e0b4e0795a8b1375e34eab2397b735ef03", - "0x00000000000000000000000000000000000effe6364fc31714fde11efcbe733c", - "0x0000000000000000000000000000005a1907824e164fc0fdd0f0e7c61f4d7398", - "0x00000000000000000000000000000000001cd6403b37da0361f243a3606ac383", - "0x0000000000000000000000000000006a48458b17770a4ad91f725dd01a8c486b", - "0x00000000000000000000000000000000000c395fd0e57de7d52c706e13918651", - "0x000000000000000000000000000000cde7b67f0a01ba051f06746ff7b56f59de", - "0x000000000000000000000000000000000020e0ab3fa354e260e0ac1855e128ca", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000654fe84b50aced8eb7212098af0880ed53", - "0x00000000000000000000000000000000002b2fcb6b0ee568a71f92d2a9bbfad3", - "0x0000000000000000000000000000005d9f4f1e59fac32314c435fb51e2a25ff0", - "0x000000000000000000000000000000000009734092d4e035b968ae8ee337464c", - "0x000000000000000000000000000000a28867ea56c5fbf4aca51fdbbf965e5dae", - "0x00000000000000000000000000000000002feaf04057ed002c072833048ce9e0", - "0x000000000000000000000000000000f9b70bdcd41a1c0bade216b9d5284af115", - "0x00000000000000000000000000000000001ece78d726aaf44e37d9053ebd1534", - "0x000000000000000000000000000000c4e55b000805b017402a109a6b29805245", - "0x00000000000000000000000000000000001d999b7c6ca8df0cca3c57ee4c8be8", - "0x0000000000000000000000000000008820aa820991933af75b5d02d44d0bf685", - "0x0000000000000000000000000000000000039880d1fbfc627ab3421788858e66", - "0x000000000000000000000000000000514dfa671906947f5f640255bfc583eedc", - "0x00000000000000000000000000000000000b0e0c990016a1fdf37d3d6daea7ae", - "0x00000000000000000000000000000040dbbc0f6d52ba0ce246acf816373fbbc1", - "0x0000000000000000000000000000000000035ba8d570a6b7efa251b206e85c82", - "0x0000000000000000000000000000003ebdd6ba8db24c72ad85e8d10fb1346027", - "0x0000000000000000000000000000000000035c795b4ad27e20c934ac5ae517b8", - "0x0000000000000000000000000000005369721308b3dda5dbbab39f83bffcf79a", - "0x0000000000000000000000000000000000241a6ba1547bf3c8eb2ded3454d897", - "0x0000000000000000000000000000009f97bcbba8db2f8bda79a78c0eaefacc5a", - "0x00000000000000000000000000000000002c960a56441f3a00b2f8b48f3b3563", - "0x000000000000000000000000000000ffe2ad855d3522d6b3f8b544681949c713", - "0x00000000000000000000000000000000000002f9753e605a6cbf6dbc604046a6", - "0x0000000000000000000000000000008cfee82227443d00335c9ef376137f6217", - "0x00000000000000000000000000000000001708d8cb04ad71f327107dd3e73cfb", - "0x0000000000000000000000000000007872392082ec4533c6b70f690660ee498f", - "0x0000000000000000000000000000000000122a83a98d1d526cb57355616bb850", - "0x0000000000000000000000000000000a95a3eeae99b98360d61166e89954845a", - "0x0000000000000000000000000000000000202c82d7bd85e9243e7ed0801ebe64", - "0x00000000000000000000000000000027acbc73301fe1b0c21888c2722dd75b7a", - "0x00000000000000000000000000000000002ae7d3ca125bd531826422c7d1acf7", - "0x000000000000000000000000000000d761bb670a9ff734cc38f0d30238a2b28c", - "0x000000000000000000000000000000000005aa3fab8a429258028c4a4287a0e6", - "0x0000000000000000000000000000007a80c32a515f441ce80a5d6cdb53d50866", - "0x000000000000000000000000000000000017f409fea3a1680e6df2a07e9eb3af", - "0x0000000000000000000000000000001a93444f40b0bc09418c7894fe797e2736", - "0x0000000000000000000000000000000000171474b32205fc141e14cfb847a8d3", - "0x000000000000000000000000000000081188cb41c2b23f91bef3a8237fb5fa5d", - "0x00000000000000000000000000000000001ed9b478e77d9f60e9614dfd6014ba", - "0x00000000000000000000000000000042f9a2c111e62ef204c3851affea6af0ef", - "0x0000000000000000000000000000000000108601bd973a835e50fc521d6ec1d9", - "0x000000000000000000000000000000f92be9d44c6688723f37065c3af9521bd6", - "0x000000000000000000000000000000000022ed90948b7d0f29ee1ed4349cab5a", - "0x000000000000000000000000000000bf6e68585d4cb32aeb39412d4a3e6cd968", - "0x00000000000000000000000000000000000c8df79002571c9aef12bb6d7f3bca", - "0x000000000000000000000000000000046577d9d6782e8214d846d3a16aa8ceb7", - "0x0000000000000000000000000000000000249e158a2e56acae4de64894bb2366", - "0x0000000000000000000000000000004b4ecd7a5a335425433b11e098157c3557", - "0x0000000000000000000000000000000000152c2ebca43c64a74ea10b830e9f62", - "0x0000000000000000000000000000006e65e30a946db2c5e16462e3a487d614eb", - "0x0000000000000000000000000000000000294d7279cdf2f3a5a0f47d5d830d40", + "0x0000000000000000000000000000000000000000000000000000000000000c2d", + "0x0000000000000000000000000000009746a298cc238fa9fc88119d64824cecd3", + "0x00000000000000000000000000000000000a622e89485dcc5a40545852372230", + "0x0000000000000000000000000000006809e41276c7672741eaf50c615e7aaf5f", + "0x000000000000000000000000000000000023ef3262cfcbaa1a38aa48f42b80a4", + "0x00000000000000000000000000000029b4a0a73660db847087b0ec0ff8ae7cc0", + "0x00000000000000000000000000000000000bbf015119fab668caabd4aac59b4a", + "0x0000000000000000000000000000003aceeaa5125630611ff88a1638c74b8bf8", + "0x00000000000000000000000000000000002954b4a5df3301bd05b4b33f4b1281", + "0x0000000000000000000000000000007d75fd1698bf937cad957054b4d802deac", + "0x00000000000000000000000000000000001eae87f9894a26c8d8685edcaa11f7", + "0x000000000000000000000000000000bec44c06c527d2c90cd142d22a575b64ad", + "0x00000000000000000000000000000000001ce6fd416b339978042baa3b29160b", + "0x000000000000000000000000000000601d1a36cbf2648b7a35e094aab2f78625", + "0x000000000000000000000000000000000013d19f319a00fc7417c1ad631d3286", + "0x000000000000000000000000000000cebe2c4b8938871fcd990b93f474835e2b", + "0x0000000000000000000000000000000000253ff4164f3a2cdd7a2118f953a472", + "0x000000000000000000000000000000633bff41528ff6e9648cabab45618cd3f8", + "0x00000000000000000000000000000000000a128ad23b420b11945de2c94bc8db", + "0x000000000000000000000000000000c2bdeaad6e1bb38c01807cbeb39eb01474", + "0x00000000000000000000000000000000001a87197d7cbb357c71e7475853a89a", + "0x000000000000000000000000000000d60d42e56b09250d5406827e9f63c5c507", + "0x00000000000000000000000000000000001c429c10ec7865314a9bb768fc77cb", + "0x000000000000000000000000000000874ae527782ea78b526a4069d5a5fffad6", + "0x00000000000000000000000000000000000cf6dd26f50b908aedf25ca7beb983", + "0x0000000000000000000000000000007dfb532ce535603daa17b40d4f20268fa6", + "0x00000000000000000000000000000000001aa8da80801279d91cd4386764d5b7", + "0x00000000000000000000000000000051498e1f98a404cce7b25f7487732af055", + "0x00000000000000000000000000000000002d5ce3870ecba8710b98522a635a24", + "0x0000000000000000000000000000003f1d7da491f2a68c39458177333aa62b8f", + "0x00000000000000000000000000000000001d1af6c81adf6a906f55b20aa99aa7", + "0x0000000000000000000000000000004398c4f4ff3f65cba6337e0a48437289b7", + "0x00000000000000000000000000000000002c90b326149002904e30310eed12dd", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000e6ce520672cc9f4fba3288b2d696d69b60", + "0x0000000000000000000000000000000000240074838ef9434d6524883c8af328", + "0x000000000000000000000000000000cc5409001d9a1b6e499a55194c5cee623b", + "0x0000000000000000000000000000000000272e8cb04c7e831a06e0eff44b1633", + "0x00000000000000000000000000000029faeb6bccfe395b36c4dde26a9281cd51", + "0x0000000000000000000000000000000000079cd2f8b7f8d0ba574f06c074487c", + "0x000000000000000000000000000000467663df6ffc3082510ef243829669f9b2", + "0x0000000000000000000000000000000000154ba884593558e4fa1d35a08901c2", + "0x0000000000000000000000000000003b9367cb2541b5cae36cacba4a0e9565f2", + "0x00000000000000000000000000000000000e9c894d1634c38a1da7a18ff2a4d1", + "0x000000000000000000000000000000a44d578cb20654807e5da0fae4fb462540", + "0x00000000000000000000000000000000001583bdfc0f1f208b72177fd73a4e0e", + "0x0000000000000000000000000000005101bd383908b7e9563f9943ed5b6b9d5d", + "0x00000000000000000000000000000000001894ae59fb37a39ee483d90674a601", + "0x0000000000000000000000000000008eaa98f808cc4df6011d0467d94748bfef", + "0x000000000000000000000000000000000018728540c99b37787e0ec614d5d2c2", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000095b02b4b915ea97d2863c7de9364faf7c1", + "0x000000000000000000000000000000000024bf0c36515c471894eca07c722a6f", + "0x00000000000000000000000000000021b9c8dd0f3068ab110290ce8dde8ca475", + "0x0000000000000000000000000000000000033a64820c52027d57fb58ebb6c381", + "0x000000000000000000000000000000de86fb0a5a50dd02848572163142b8640e", + "0x000000000000000000000000000000000006104618e23a8bd65ba6678675ef30", + "0x0000000000000000000000000000007ecf243d0261b865862c9aa1c0fa854c03", + "0x00000000000000000000000000000000002b49777a506a0876586804d7265c91", + "0x000000000000000000000000000000b03490f3e92e51591fa83188e45ff33c1d", + "0x000000000000000000000000000000000020ca792b4db8d34742259c49a69680", + "0x000000000000000000000000000000bba53bf211eba5cfdc0655d659b54e5154", + "0x000000000000000000000000000000000025743fca2cf229c9e74f0b94b2a60c", + "0x00000000000000000000000000000039fa7ba046a2aa4d1e1b2e7caf7a8468b2", + "0x0000000000000000000000000000000000114565ee8a1a9f6c0765554f828b55", + "0x00000000000000000000000000000039f6f4a9450081d17e80431d7673b4e831", + "0x00000000000000000000000000000000001aeacf01182adb275721404acf94ec", + "0x000000000000000000000000000000b61eb26643a3330cf20693ce2863cd8df9", + "0x000000000000000000000000000000000001287624004468d7fdb961891f7657", + "0x0000000000000000000000000000008e93f0560ff5d7fc733764b1eb22480fef", + "0x0000000000000000000000000000000000122ec6ad7d326d49eb1ec1b6058f11", + "0x00000000000000000000000000000095ed3058c8b0990d267a70546ff583ee0f", + "0x000000000000000000000000000000000014b8a07a5bb9e756fca0fa2b309603", + "0x00000000000000000000000000000011c41e34d997fc68ea4bf83e558d0cc63c", + "0x00000000000000000000000000000000002d5aa2b07b478858f898b181d0ba8b", + "0x0000000000000000000000000000002181f534d66eac7d336c5a0615483614de", + "0x00000000000000000000000000000000001ddfc420c74fb84de1fc06e15cb736", + "0x000000000000000000000000000000221911551b028d679741b7201b0ecbec4c", + "0x00000000000000000000000000000000000dda073b8d6dff1f7820fd10608eac", + "0x000000000000000000000000000000f83c26a030132139738278422f03bf922a", + "0x0000000000000000000000000000000000090293167442d6241ef786787ad54a", + "0x00000000000000000000000000000081472fe64f8676d2c6ba66632be788181a", + "0x00000000000000000000000000000000002686bba5965dbeeace183975458ab6", + "0x000000000000000000000000000000afefc9d6f3b48945adcbfcfd1c96c9d317", + "0x000000000000000000000000000000000004230c01cef5000fc66eed900511c7", + "0x000000000000000000000000000000461b8ddba4875f5c0ee209e969c8cab5b5", + "0x000000000000000000000000000000000004f3c201bbca13be28a391550e3e15", + "0x0000000000000000000000000000008559177c932a1653672c242e7617b96ed7", + "0x0000000000000000000000000000000000171be06bb1a5c5e15ae25ea139e42a", + "0x000000000000000000000000000000ee99ac22da62f96c90ac540968ff4e0df5", + "0x00000000000000000000000000000000002a4b4f6cecfa52aeacb7c88e2ba547", + "0x00000000000000000000000000000075b8d277e2f2d2578c463156acd5f1475d", + "0x000000000000000000000000000000000013ad863e13e6edf10c859862b09f73", + "0x0000000000000000000000000000009f93998170f02cdbb3d8ab65ffc18aa878", + "0x000000000000000000000000000000000000b2bad4d1a7598557b09810779622", + "0x00000000000000000000000000000000d5a82f535d9f53a56ad2c90d651a6f07", + "0x000000000000000000000000000000000000e77d138f0fe1fb3334079b7a17b8", + "0x000000000000000000000000000000375d67be44557b3a7109eb34e19abe23bd", + "0x0000000000000000000000000000000000004374e342cf902621d2f067ee0dde", + "0x000000000000000000000000000000618d7aa8936861e2dfed7786fe06e14cbe", + "0x0000000000000000000000000000000000028eef3b42459371670ed47195575c", + "0x0000000000000000000000000000004185b847b001cc084cb5d9fc3c413c9447", + "0x00000000000000000000000000000000000f0cdae2ffe529626d71ad12c69406", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -145,65 +145,65 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000034620fc4f5dc2f120b5673912cf04226e9", - "0x000000000000000000000000000000000025a6078d74c0fd7d4dd9e328ad4c94", - "0x00000000000000000000000000000019d834f9bb59a8e973ed867f0477fc8121", - "0x00000000000000000000000000000000001fdeb0dc3db761477a1a9feb00c906", + "0x000000000000000000000000000000ae09bb7f78acfe7c9d9a2b944b789f8363", + "0x0000000000000000000000000000000000011fa902d1394869cea67da68c1718", + "0x000000000000000000000000000000655a4cb5f0e139646b6fe88fd680ee9c5d", + "0x0000000000000000000000000000000000019f3c976b53013b5041616ea60768", "0x00000000000000000000000000000076959cf0870e0ae93bb69edc64b0cacdac", "0x0000000000000000000000000000000000269679f8c1a1ad2aadccaf8ba3100e", "0x000000000000000000000000000000bb028a742987d54246ffc933f8240d70ef", "0x0000000000000000000000000000000000295f79977c6ae0d15cc2b68b7f0837", - "0x00000000000000000000000000000064dd7da7637cf2116a18531edc7fea829a", - "0x0000000000000000000000000000000000162e867465b02e01bbabb15c59b84d", - "0x00000000000000000000000000000071f09c1d3d2c8f9499c838fc966b04ada9", - "0x00000000000000000000000000000000000f4504ac6f302739e9f2c7aa824d12" + "0x000000000000000000000000000000882d0b700868900a984b8a8f100e96bc7c", + "0x00000000000000000000000000000000000abfe4989e01ac99945d20ac56ed24", + "0x000000000000000000000000000000ceb31f078b322681c311c51b7684078b7e", + "0x0000000000000000000000000000000000041b07ce00654c923848301f5fbbd8" ] - hash = "0x297f9ac45dd6c9f333314227aacca93023e72710232e7120328d7e7c209ebc8f" + hash = "0x141adcbeacb22e8db98482647ab8bddc8bafc8d2c45ba62cefe4fabe03067018" [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069ff293f" +expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c7716" is_private_only = true -claimed_first_nullifier = "0x282b555a2f009837bd02f744ae119250934c991464481b5613f7f2112a615f7c" +claimed_first_nullifier = "0x1268b93c2a6a4d3780d6cb2b948cc3884e65336ef39eb7202b4de102b9cb3748" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x13a1bf44c19e7c2eb7fc1a96527d072cf424bc99c760e392f4abcecc1fc597f8" - total_fees = "0x00000000000000000000000000000000000000000000000002b26ec5db7a7140" - total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a3979" + sponge_blob_hash = "0x1f8e9213a0888fe29bbbc5c39db80f4b9f1575e375c6a0932a13ca2b8e2fced2" + total_fees = "0x00000000000000000000000000000000000000000000000002c5b2a32761f680" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a8282" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x0d18996e508e8c1e51f6a56652cc5d71169450ff16c25de9af7f79af5385e334" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" + root = "0x1d706e11585e9d3ecfd4d2ead7a52c2a783a92adfbe3419e8671011fe5016491" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" [previous_kernel_public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000001800" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x1c223e428d6faa36822890e3b99417ddf73ffb069bf4c44b6ae9d7fc741733f6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x1ebd1f6284edfa586309202f29d58f8211b22ad55f0913e7a61e37e8f558c52b" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x01c778a6b3dcb1245bb0aee174252dd95256e67309f952e5d2f8cbafffe20d0f" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" +root = "0x0835e9ab1ea355f270408857dfd5647ca56d588ab4a7d573e67566f6324821d1" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x134e44df49ddb89525046d19bcfc2734c78e419994de9d6f7467eb84d02d1060" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x1f860209ee462b9c30510a063670044f005084362ce71f528205a17ee048fc7d" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x0000000000000000000000000000000000000000000000000000000069fdd7c0" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000006" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000006" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0b2597" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -214,7 +214,7 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" @@ -226,29 +226,29 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000000c795c" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000336bfe2ba6" +fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000001cc0d810418" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x1520f4bb11a3a1d2248a03d8472e9af4bb8324eb1d2d8c83bce61894383464b9" +inner = "0x2c78cadfe08eabbb0e2a15b62eefd07a08cbc1631fa2be7962fd219308d9f1e3" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x26a43bf066852a7b1ec3c5b454f41735fea12e2ffbefed471058124b91d94018" +inner = "0x0d6429ccd33eeec2a03a7b2f78d6c901ad9406bf2058231382147de5014303fd" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x1bd26c6831ebc53674b13ac69a0c534563c37e46c2cbb36f2deca107a26515fa" +inner = "0x0b286a1c928fbe1ca3be78fe2f2bd25a2eec7f5f15c2757a2db53b2a8d499358" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x06870c63132d2a4e3356a76d773240efe729e7d9b9380a7a3cf1798fc9031aed" +inner = "0x1cef6885d1ace5a36534202d1f593b94ac0876ff4933745085ad62da062a3b5e" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0083c4dfb922796f1086d399f8f3d021159d1a87ba3b833dcdf9863c630ba643" +inner = "0x2ccc3471349063b3b0c5a6362e0dbfc3c21b534f84fc963483667b32840e259a" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0b4d3a9a7a3caf83f9c2060347e48cc28c7f04d2560d1cbf5bf08d4832128a97" +inner = "0x0ad78bd90b0e2e0887928b98b621517d04a6bddebf6b20bdb76ddd8aec6f05fd" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1303,13 +1303,9 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1318,13 +1314,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1333,13 +1325,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1348,13 +1336,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1363,13 +1347,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1378,13 +1358,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1393,13 +1369,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1408,13 +1380,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1423,13 +1391,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1438,13 +1402,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1453,13 +1413,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1468,13 +1424,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1483,13 +1435,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1498,13 +1446,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1513,13 +1457,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1528,13 +1468,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1543,13 +1479,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1558,13 +1490,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1573,13 +1501,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1588,13 +1512,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1603,13 +1523,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1618,13 +1534,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1633,13 +1545,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1648,13 +1556,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1663,13 +1567,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1678,13 +1578,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1693,13 +1589,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1708,13 +1600,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1723,13 +1611,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1738,13 +1622,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1753,13 +1633,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1768,13 +1644,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1783,13 +1655,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1798,13 +1666,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1813,13 +1677,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1828,13 +1688,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1843,13 +1699,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1858,13 +1710,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1873,13 +1721,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1888,13 +1732,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1903,13 +1743,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1918,13 +1754,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1933,13 +1765,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1948,13 +1776,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1963,13 +1787,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1978,13 +1798,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1993,13 +1809,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2008,13 +1820,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2023,13 +1831,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2038,13 +1842,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2053,13 +1853,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2068,13 +1864,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2083,13 +1875,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2098,13 +1886,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2113,13 +1897,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2128,13 +1908,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2143,13 +1919,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2158,13 +1930,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2173,13 +1941,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2188,13 +1952,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2203,13 +1963,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2218,13 +1974,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2233,13 +1985,9 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2248,31 +1996,27 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] + pk_m_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] - x = "0x0000000000000000000000000000000000000000000000000000000000000000" - y = "0x0000000000000000000000000000000000000000000000000000000000000000" - is_infinite = false - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.note_hashes] -length = "0x0000000000000000000000000000000000000000000000000000000000000002" +length = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.note_hashes.array]] [previous_kernel_public_inputs.end.note_hashes.array.inner] -inner = "0x2295fa9f079bf362a4f01c3b07d9f912f9b484e5ee527ad7a528025a165b9352" -counter = "0x000000000000000000000000000000000000000000000000000000000000000a" +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.note_hashes.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.note_hashes.array]] [previous_kernel_public_inputs.end.note_hashes.array.inner] -inner = "0x27f0738f58cf7f88e6845175913245e6f82475f464578de70619eceaff66402e" -counter = "0x000000000000000000000000000000000000000000000000000000000000000c" +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.note_hashes.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2781,7 +2525,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000003" counter = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x282b555a2f009837bd02f744ae119250934c991464481b5613f7f2112a615f7c" + value = "0x1268b93c2a6a4d3780d6cb2b948cc3884e65336ef39eb7202b4de102b9cb3748" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -2789,10 +2533,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.nullifiers.array]] [previous_kernel_public_inputs.end.nullifiers.array.inner] -counter = "0x0000000000000000000000000000000000000000000000000000000000000009" +counter = "0x0000000000000000000000000000000000000000000000000000000000000007" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x1567c8c1ff81dda9727361df23c92849c46772567aa0bf3723db03c3751e9d2e" + value = "0x091de02133d9012fa28a3a5e8e913d5587b6baff1f4dc765b3bf31aa60c8924f" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -2800,10 +2544,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.nullifiers.array]] [previous_kernel_public_inputs.end.nullifiers.array.inner] -counter = "0x000000000000000000000000000000000000000000000000000000000000000e" +counter = "0x000000000000000000000000000000000000000000000000000000000000000c" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x1cb96ed0bfe97ed05e23f013062425e5ce6599fb6430b162e69edfc317d5bf82" + value = "0x23b82c3f4fd6976adb96ec88b22c4c5d876bd55be4810759e4e9ed9ec26d3eb0" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -3588,97 +3332,97 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.private_logs] -length = "0x0000000000000000000000000000000000000000000000000000000000000003" +length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.end.private_logs.array]] [previous_kernel_public_inputs.end.private_logs.array.inner] -counter = "0x000000000000000000000000000000000000000000000000000000000000000b" +counter = "0x000000000000000000000000000000000000000000000000000000000000000d" [previous_kernel_public_inputs.end.private_logs.array.inner.inner] - note_hash_counter = "0x000000000000000000000000000000000000000000000000000000000000000a" + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] fields = [ - "0x2c3715409dc4762ec9a9a602d199ea9932d61edd3fd32c9891fe5ea5a722acde", - "0x10433733db106ed8336b9b799ec2debee9fe2da75f114f567eefde5abf9f74d3", - "0x17440c522b009a136c2207db86790b05464774690523c7fbf949ad381664d0ea", - "0x0a5e8928a4d74ad3256e8a697cfdf84b7baae32abad67b2de7c36ffd67acb665", - "0x0b1200621e156c6d79f463e17e81b96f11d18d716ca5222e7276e07d45845a26", - "0x04b2b64d09e487d10d557106046a94a97f2c40f4316e6667a2c2d9a99db05385", - "0x193da3d713c24b85e1c8f22dd8ef575e88d19c6732f8fd17e370cf64e65b3e04", - "0x08569203e8f3d028234ed200df77bca848c9b4b015ad8797c37669a5e5d1ee0c", - "0x13a9b2003409ad3d4f38caba797acc77092ddd431af25a955a83dc6f5b92cc93", - "0x16fece01bc0b0205bcbaca2904d5674d10573bfef038f94d3e5d526596da2ae9", - "0x0a438177a05071eaeb1862f154b187315de4dc804e275b0f2258baf4700c6d64", - "0x0959244a76e5e861ce5b8833101b91e19d758109d68cc174a6f9eec9c7afa008", - "0x03533d18a1c3ebcf22f820a243be161c9798ea59a506572e32e125c53b7aee7e", - "0x1e2b22ea302597bfcbcfdefcda48b60e35fce9c70f46c6cb90fa6db6e8d4dc6d", - "0x28fab93b8cd28d8d2a993badc3d1a080902feecfab019dc7c00af0ea9f6f403d", - "0x104c4c81c135af94af35a1eeb49b1262e5c53e25ee513731ddeb9f6496eea2ab" + "0x1a7e1badb79abdd38c684b3c8306ffe7ecb33c69e3380d9855730aaaa83a21a8", + "0x0d0a8ccb98f956b37ac2b18ac43c84cf4e36fc01b0b08126241827575a48200c", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x1ca223fbc16e82cbb9bd22c108021ef47864791c258edbdd8eefa458c62ba8d2", + "0x30405a0693eed61f76d3d7c18614b8d3286aa2ad3039533e2658766de9ab4e15", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a26", + "0x00c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c", + "0x1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb151", + "0x0e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b", + "0x082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0", + "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000010" + length = "0x000000000000000000000000000000000000000000000000000000000000000d" [previous_kernel_public_inputs.end.private_logs.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.private_logs.array]] [previous_kernel_public_inputs.end.private_logs.array.inner] -counter = "0x000000000000000000000000000000000000000000000000000000000000000d" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.private_logs.array.inner.inner] - note_hash_counter = "0x000000000000000000000000000000000000000000000000000000000000000c" + note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] fields = [ - "0x1b7f52b7a346b47077bab6835a0810e5d75e977fc3f3fbb0436055bcdaa167ee", - "0x2320e89fb76918e7dc48b13861302dbf78af5ba8d5a20da77d19781ac32b9bc2", - "0x2a99619c0d4d380dbc3d53d03ed35011aa9c296a507fabcf712f43a0e5a10850", - "0x02e5d98e7dfbe7653dafb14afddd7e00f403b5a60816d7ab961823bd3cc4b628", - "0x223b37d6caffe87e91cddafdf65c4f641a609ff13350d02654b0fed1443088ab", - "0x2846b9aa4544f8f8851554f5d0c189c188756d734112e1eedd6840c8aeb0e66f", - "0x21cda3f228d55fb1b37f2b7c7a5d42066007143db17645669521ff58956fa7bf", - "0x1d8d79951d7389e5f9dfa963f93e399aebaa346e9ce3b3a5da1b45e4600a1553", - "0x15eabc8ed921f60621fa4fa35214748a7593f1c06a1e66b76092f789b4960bc5", - "0x16babb28d68725cb64d6d7558d49fb921c480359488fcdfb5292019239a50563", - "0x015e561b49da425d081b87bac01336defa1e29ee50d01b7be798ac28e05b24d6", - "0x04bf1a23807cb0711511a6140caf195df55fcf029842652243034ae2ca740648", - "0x2789cc422a86395739004c513cf6a15024e3adf5f2e238b18e1b4f1211a9383a", - "0x00c4e950cfe804e8a3623fe768c82b7340b0216f93c00351c53e2144364cfb51", - "0x2fd9827b4118b7ef401dff1727785e46fdd31947d2e733f4b39076f43652c18a", - "0x158ca7fba6e7fa7b3eb7c062751182d93b4e36b5c77d2e609e246b810650e59e" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000010" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.private_logs.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.private_logs.array]] [previous_kernel_public_inputs.end.private_logs.array.inner] -counter = "0x000000000000000000000000000000000000000000000000000000000000000f" +counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.private_logs.array.inner.inner] note_hash_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] fields = [ - "0x07d20bd951900d3094f2894e3c76c117114e3150dc3197e9e325e42b4487c6e2", - "0x127157561e774918ba656738fb61ad37f92086431bd4f1e4842ab11928b0f8d2", - "0x2e5cf59c8f2eee7a06d14cdedb8fe58945357cb16f4c792094325909a12924b2", - "0x0e29376c31f2aa7a156c6ce6d1fc9529998251d8500604658f173ff86adffa98", - "0x20761b8be9a186cf6a1730b8a1e99049a07e45c005e66d27b6e0ef15a2833e2f", - "0x1adf679b2441cf3535241924a35164cf8309256721e3f9fcb860bc2acc462b46", - "0x06a613741497b7b7ee978a495bfed7d19bbf76c462d268cee17a3920b1b1abe0", - "0x10ade06e253c1cfd65f24246211fb703c157fd9b563ffaf6ab01b6fba4635155", - "0x2311c6b104555d4d9afc7d66be6b47a41f8aa96eb77f613a75fc952da5975ccf", - "0x08431c3838d7ad6198c1d33ff138953ace3520551bd95b69692609ee11ded216", - "0x1822c33cf8097138c896bb9f7aad7def909a6859d5e640919fd16ebcf153a0db", - "0x11203b31ef49d39fb85a5ea474116c334c156091ab468493a480f13ad1ec1849", - "0x207a4712bacadd2f631fe253cb62932a7acb586dd6dd1b10e0fbe733f61a8f11", - "0x2c862b0eb14b1325a0ca63dda4570f718541d998fb4aba96339b7913b80757c9", - "0x1bf17ee7d3cf2487dcf1eb7a3647b0920c9e68aacc0a33c9a424d4ee6601ded3", - "0x2c70c9b7da7d7df78fcae182d124d7041209070f76d920e5d5c2d7590c385ea1" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000010" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.private_logs.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5575,18 +5319,18 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.contract_class_logs_hashes] -length = "0x0000000000000000000000000000000000000000000000000000000000000000" +length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.end.contract_class_logs_hashes.array]] [previous_kernel_public_inputs.end.contract_class_logs_hashes.array.inner] -counter = "0x0000000000000000000000000000000000000000000000000000000000000000" +counter = "0x0000000000000000000000000000000000000000000000000000000000000008" [previous_kernel_public_inputs.end.contract_class_logs_hashes.array.inner.inner] - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x242b9549d1e2c420a764a5aa2ba58d98b77e35fef8ffa5aa787f9b325f2b5005" + length = "0x0000000000000000000000000000000000000000000000000000000000000068" [previous_kernel_public_inputs.end.contract_class_logs_hashes.array.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +inner = "0x0000000000000000000000000000000000000000000000000000000000000003" [previous_kernel_public_inputs.end.public_call_requests] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6309,4 +6053,4 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2" diff --git a/noir-projects/noir-protocol-circuits/crates/protocol-test-utils/src/fixture_builder.nr b/noir-projects/noir-protocol-circuits/crates/protocol-test-utils/src/fixture_builder.nr index 9721be95d429..83ec51b19263 100644 --- a/noir-projects/noir-protocol-circuits/crates/protocol-test-utils/src/fixture_builder.nr +++ b/noir-projects/noir-protocol-circuits/crates/protocol-test-utils/src/fixture_builder.nr @@ -80,7 +80,6 @@ use types::{ }, merkle_tree::membership::MembershipWitness, messaging::l2_to_l1_message::L2ToL1Message, - point::Point, proof::{verification_key::{MegaVerificationKey, VerificationKey}, vk_data::VkData}, public_keys::PublicKeys, side_effect::{Counted, Ordered, Scoped}, @@ -965,11 +964,11 @@ impl FixtureBuilder { pub fn add_request_for_key_validation( &mut self, - pk_m: Point, + pk_m_hash: Field, sk_app: Field, key_type_domain_separator: Field, ) { - let request = KeyValidationRequest { pk_m, sk_app }; + let request = KeyValidationRequest { pk_m_hash, sk_app }; let request_and_separator = KeyValidationRequestAndSeparator { request, key_type_domain_separator }; let scoped_key_validation_request_and_generator = @@ -1258,10 +1257,7 @@ impl FixtureBuilder { fn mock_key_validation_request(self, index: u32) -> KeyValidationRequestAndSeparator { let value_offset = 3030 + self.value_offset + index as Field; - let request = KeyValidationRequest { - pk_m: Point { x: value_offset, y: 1 + value_offset, is_infinite: false }, - sk_app: 2 + value_offset, - }; + let request = KeyValidationRequest { pk_m_hash: value_offset, sk_app: 2 + value_offset }; KeyValidationRequestAndSeparator { request, key_type_domain_separator: 3 + value_offset } } diff --git a/noir-projects/noir-protocol-circuits/crates/protocol-test-utils/src/fixtures/contracts.nr b/noir-projects/noir-protocol-circuits/crates/protocol-test-utils/src/fixtures/contracts.nr index de6692fde7f3..41e15d836783 100644 --- a/noir-projects/noir-protocol-circuits/crates/protocol-test-utils/src/fixtures/contracts.nr +++ b/noir-projects/noir-protocol-circuits/crates/protocol-test-utils/src/fixtures/contracts.nr @@ -27,17 +27,17 @@ pub global default_contract: ContractData = ContractData { public_bytecode_commitment: 0x256abef672381d551191d5bbecf2dec6ac9cc2a81189f886ac22e29e5c58c49c, private_functions_root: 0x2653ec1bf2be3a13fa9b645cec2557f2b543286fc39168ec42b705835a301bb6, address: AztecAddress { - inner: 0x136422d2d758eb9181240eee44720fa9bc433d3a16bc13163699dc4f47540b0d, + inner: 0x1599beafce80b22c56446667e1627d865bb87ea94b8f1bdc757979f78a596042, }, partial_address: PartialAddress { - inner: 0x1676695fc9a4f3bc8816e4dc82a8856b2ae565d4872691a6e944cc3ce8897e72, + inner: 0x13bf689e2b04d5a75694270c1872e74b0c998c3f7f2f3a0a95648f9f41600808, }, contract_class_id: ContractClassId { inner: 0x2888d24c26f34b139f0f1d30278df8f9007d06da3b63cfe6eeb9a710d51f4f4a, }, public_keys: PublicKeys::default(), salted_initialization_hash: SaltedInitializationHash { - inner: 0x1d83f43991ef3c393247a1796b194020c559aaf129e515adc6eace265f726452, + inner: 0x20b8accdca7010cfebfcc932f55e3acf5136dfe57ba51d386dac8e9d110d9567, }, deployer: AztecAddress { inner: 0x0000000000000000000000000000000000000000000000000000000000000000, @@ -52,17 +52,17 @@ pub global parent_contract: ContractData = ContractData { public_bytecode_commitment: 0x1cfb8e870870be1d102249b47923b63c2d54f33ca81e3028d74a06d8dd5944ca, private_functions_root: 0x03cca4d59a01776df283eb2c8915cb144ad3f40a0b0ba06e9c24c532c59e3c43, address: AztecAddress { - inner: 0x2e90a78904fdb353ddf6eda97aedcfc2b8bf5a942f10f57a1e85373b740e7eca, + inner: 0x1ea25c8d3d0223005170fc2cc0a0e8e3593e322bfcdebc817cc2a02cc95fca9c, }, partial_address: PartialAddress { - inner: 0x2cfac19f0c29a86d17b4c60b205376bbd4c8e45d1dfd02dcd33820638d1d6d1e, + inner: 0x09dba9fffbfd68d6828334a178433b7bfae9d07c3c6f424ee4afa0304655c5d3, }, contract_class_id: ContractClassId { inner: 0x2998b9cf4a582f068a01b43c141dbcc5fd8f5cd17a797484b5a5db2386cf7574, }, public_keys: PublicKeys::default(), salted_initialization_hash: SaltedInitializationHash { - inner: 0x2bfefc4cfdd56352f0d6cf62ae70abe702d7d948f5ccff4eeb51f9aefaece295, + inner: 0x1384ae0b0212cbeb6cd53d6c8d9dfc6334318553dd6f33fdaa97b5dae4ab9dbb, }, deployer: AztecAddress { inner: 0x0000000000000000000000000000000000000000000000000000000000000000, @@ -77,17 +77,17 @@ pub global updated_contract: ContractData = ContractData { public_bytecode_commitment: 0x225d884cfeaddc5292dadbf921e7699632336876c65a33459d3b2ad9b5ec0da3, private_functions_root: 0x2b26caef823c6be4c41ef1980dace9b61825f8e6a16792c765a2cd8cb2121e75, address: AztecAddress { - inner: 0x1a56e3cef400d47addbbf65a95ea505b8f628a2d65a096d0e4d46a8cc9bd72c3, + inner: 0x144f3aaae816b99f40fbea5b9f80fe4683bf68a14876e7379c4171c871a1ef09, }, partial_address: PartialAddress { - inner: 0x04a4ed87aa4cff86962b974fe3f79d76e4bf3f034d4e2bde2bb50765927fad40, + inner: 0x12b89345d5d63f8bf9f73f5890d5caa0c5f023c61d313b1abeea40e300a83755, }, contract_class_id: ContractClassId { inner: 0x07a63b1343bb8515d1115202c71cdc95f9bcda9c2237bdfc25435b89ffa06b46, }, public_keys: PublicKeys::default(), salted_initialization_hash: SaltedInitializationHash { - inner: 0x0bbf968b28a0a1fa3a90ceb4c7104d63e7a8dc845a9c885781d74018d1579e59, + inner: 0x1f121db378dbceaf871eed1b9f0b20efcdca988e76f8abeaa11b2cdc80474189, }, deployer: AztecAddress { inner: 0x0000000000000000000000000000000000000000000000000000000000000000, diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-block-merge/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-block-merge/Prover.toml index f9937c534a5b..98750fce6576 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-block-merge/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-block-merge/Prover.toml @@ -484,7 +484,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x22e5411ababf49ccdacb44202da8507dcac351bce3fab350c18dd0655abcf9c0" + block_headers_hash = "0x07d6c206790cf70b15b8243736ee089cda60cf2c3e85d131fa3ec16d1f5bdd36" in_hash = "0x00b0e02949c7c042e780651385688dcec114af3dbb3892bab1a9cd8e2bbafdc5" out_hash = "0x0018febbd74d861e38064a4ff9d3b5ed7a39b398576ef75e104848700819a700" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -493,8 +493,8 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x0141caf6779674bc31225636c4cc4259a731835c52fc462f2dcbfabf7de01a1d" - protocol_contracts_hash = "0x01af64239167dcc8333e25456aab71348f66d9f6de731a8b62181d16cf0818c1" + vk_tree_root = "0x0b701ee3d1002ca8a5a73a81bcb2e0d84e6c30222be65f508574f182569b718f" + protocol_contracts_hash = "0x0fcccdf7958e813bb1d24f764ae13ff08a999008434c2e4dec55f4401564b05e" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" slot_number = "0x000000000000000000000000000000000000000000000000000000000000000f" @@ -513,7 +513,7 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x0edef98680cbea2855c4f0f152a0ecd69358e68b10da7b7e301f35ce709c13fa" + root = "0x27b365d73aa1b8ac1eb39c75262e2b87a238d041cc98fcb795f4c597c620ce64" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -576,10 +576,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x2077efe63b8c3de3bfdbc1e1be837185a8f1d817c8321418fcfe110cd518a922" ] state = [ - "0x08cdf544ec44d694936ed6a5aa580afb2a3b1a4b087ba80870d4d01c79cb5772", - "0x192972b72a1776fa9d30c1202807fca4f9272b156c9e1eafa5f93e94a13c439b", - "0x23ace986d5ee172559ce2153d8a166075599a4403288cbe1a150bda49415fae6", - "0x0f3ccb179877769f2d268206c1b45ab9af36d5e7e005de27ede90c1a29450039" + "0x13ec9d9b37f0599c5765a81513125e07305454198fecae73a69e7d41dfb27215", + "0x24fe963f8f4139d84f904228cfe1e10256e9106331e614b72ed86be8903e4259", + "0x114cba9fee3fa49ffd5f440aa162c6ce6e8410138a592e587337646bb8b04ca7", + "0x10325219e420881603ba4ea16613cf66fa1c43ff98bceb97acaaab599e3326b5" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -587,134 +587,134 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" sibling_path = [ - "0x23d78e0b464510ddf15e00aafb3d9a34c4300cb431a0343efa8acc7ac7174e1f", - "0x24ebbcfd36a0a9ea7467ed78450dd4914d8c54a1434a5dfd9757f4f88c51b867", - "0x234d319aa3526e9e00d76d9b5b9b18b435756035ad00d8d716e1be50ac82ead3", - "0x2648004ca39ab2f7f01e8733c2de2d035675568a1c98d1410ce90ac2512e72e2", - "0x15313312ac8ca4825afd3891479fbb14626ca65499d939e23b1f653cd7d018ea", - "0x19de2a32662702dd872e529ad89836e16b013012f910daf2bc7c2a67356dd107", - "0x1f07bca7a14f9a969539c0afd388affa18926689f431fc541841a2a7604d388c" + "0x1276688c1c8f1024c963d35957328b73153c55580532254f0676c26e2ad55993", + "0x177b04fc814d3ca71e4c26c7a32c0c913574feaf5567348e99c5cc65f0f9ddfe", + "0x02d4017a1d1c142d1fdf34bf701748bd9db29906e0114ac657648a51d10b6799", + "0x146274c75e0cce377b1764ae8c0ba9167cfb0632d9453ac4c5b521f5d45cee4c", + "0x10fa882cccd67cfee268da2a5d99ed42a34302ecebc26f4b3254e41507b3ee42", + "0x133dc174ef877c42d59ac5fe87733ce13f9355587db788e3b490832c7afbcfd2", + "0x13482b383bc59a6da6ab4e998b0986c23166d0aba121fc0789e9f14605af653b" ] [inputs.previous_rollups.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000015", "0x0000000000000000000000000000000000000000000000000000000000000046", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000e4ecee2341c2499228c4d2c83a9520cae8", - "0x000000000000000000000000000000000028d32ba99192667c15e398069c3240", - "0x0000000000000000000000000000006fb00058cacfb1b276d32fa36447360c8c", - "0x000000000000000000000000000000000001a8699458060a98552c6907a085e7", - "0x00000000000000000000000000000035e6b6b068c96f12086377d88703f3e07e", - "0x000000000000000000000000000000000015477ce75a652da3c7317382f97441", - "0x0000000000000000000000000000006b648f1adda6e61b44e9867b5f8e3b4f79", - "0x0000000000000000000000000000000000284a9d333412f98641932adc241a55", - "0x000000000000000000000000000000e4a1e119917387b63453afe2152f923081", - "0x000000000000000000000000000000000016f3a12e54e2b76aa8a0c2350c5b03", - "0x000000000000000000000000000000e6a6952f1b80d571443fb3a9782f7ba03a", - "0x0000000000000000000000000000000000115314dec35ce22a37e5e08838dd90", - "0x000000000000000000000000000000608fa42518b2ed1d41d26a56c4e7fd1cd0", - "0x00000000000000000000000000000000000e864b9635bc3ab6a2e8a63311af9a", - "0x000000000000000000000000000000089e6633599c12307e5d2315b0559fa3ff", - "0x0000000000000000000000000000000000188c6476388f9b0875dea7de1bc491", - "0x000000000000000000000000000000abca067961d5609684ecd2136ba688b8d5", - "0x000000000000000000000000000000000003650b02580ae03fa6c488d150619a", - "0x000000000000000000000000000000a7a66d3882208ec15d795f73ff135448cb", - "0x00000000000000000000000000000000000eda3b802a8c57b6007532ac4d3c73", - "0x0000000000000000000000000000001a0f5ebabaa07f627ed7025287560ef87d", - "0x0000000000000000000000000000000000081f627ebc9b282e50d5101f2fdc0b", - "0x000000000000000000000000000000af44c7ddc6ed98861741ef7d79b45171ab", - "0x0000000000000000000000000000000000189091a7b840d8a84827cc8270560e", - "0x000000000000000000000000000000c10049e49d4cd16c33bbc1e8eb3238ea26", - "0x00000000000000000000000000000000002578443465dd684c74b9c635f2c33e", - "0x000000000000000000000000000000770092209b5122c863dacecd7406bb2d48", - "0x00000000000000000000000000000000000f3fee6266059403a65308d4c5d7eb", - "0x000000000000000000000000000000533f8b9f4c4a0d43ef35dab7d27c1ea8da", - "0x00000000000000000000000000000000001adf8c6f547a4381844323d92940ac", - "0x0000000000000000000000000000003c366da2e86813e08788a4a283cff05948", - "0x000000000000000000000000000000000009d343f03cc09faee9ca1d918d51aa", - "0x0000000000000000000000000000004eff2a8415f5ebcbbb774b024c7cca829a", - "0x00000000000000000000000000000000001bdd73863935251e91860c886a55b1", - "0x0000000000000000000000000000003df888a4b79151f5f34eed566c6d247e55", - "0x00000000000000000000000000000000002d996ddc7dcf55af0fecfbe916441d", - "0x00000000000000000000000000000035a1c8de7d282962a240a6704a18d9aa9d", - "0x000000000000000000000000000000000022c5a65fc79d84f800459e76bd6ddc", - "0x000000000000000000000000000000f694c211bf5e8247c2ed4c9772d66b5320", - "0x00000000000000000000000000000000002254e08116deb9d889a0143317b65f", - "0x00000000000000000000000000000048358b74356aff020c99bcfffc97f02b91", - "0x00000000000000000000000000000000001d9bb0f7098bb21c970677fb97a3de", - "0x0000000000000000000000000000003fd980235a24687982d5bc1e10572d41bc", - "0x00000000000000000000000000000000002ad88fe0270c96dbf63278dd32b0eb", - "0x0000000000000000000000000000002aa721427068275b015588487a6dd9da77", - "0x000000000000000000000000000000000010ed5178cf97b67466833bb3e294fc", - "0x000000000000000000000000000000fc9b469311b99d851b65fb621b17172be3", - "0x0000000000000000000000000000000000058b714d3d803f8cea308e60246a25", - "0x000000000000000000000000000000ab189fd5ba15e2bc3843c70e4b6ccc5874", - "0x00000000000000000000000000000000001f0042de0aeed97be6e8b8e93e5484", - "0x000000000000000000000000000000990cfdb6f4a3699f168f757c1a663e2792", - "0x000000000000000000000000000000000029d9940fe4dfdae5c2cc1ebfdba6d8", - "0x00000000000000000000000000000006147c05564229442b8f35ada3f0f58754", - "0x00000000000000000000000000000000001ea24fc9d78495240f0fc072c3d6e9", - "0x0000000000000000000000000000008333bf707667d3ac3960826883a0d26107", - "0x00000000000000000000000000000000000e7f2da7e4a8b4ee0bca717b98686d", - "0x000000000000000000000000000000f80529b50987783f12df2e1ee9f91fdccc", - "0x00000000000000000000000000000000002fbee99a2fa069d2da029ad5a86c40", - "0x000000000000000000000000000000ea3704a764aeda63475f07b984b2297f60", - "0x00000000000000000000000000000000002cf75af466282247648425172dd45b", - "0x00000000000000000000000000000068754ac413cc462e8a87396033bafe80fc", - "0x0000000000000000000000000000000000138b5a95236c3755c228128437cb81", - "0x0000000000000000000000000000007c551a7f9f585f152f2899cd5c73cdf658", - "0x00000000000000000000000000000000001601277332a9e90e2af9bb57340356", - "0x0000000000000000000000000000007543dc89bcca355d7e34573dff53f933e2", - "0x0000000000000000000000000000000000170cb4ff2fe573d8a4f20d7e7b64ef", - "0x000000000000000000000000000000a32270e25bda22ff0b953eb2ccdd937551", - "0x00000000000000000000000000000000000b5603a198907b41d522094f42cad2", - "0x000000000000000000000000000000d0ff37f21975e21ddcaafdd3dd783ad7d6", - "0x00000000000000000000000000000000002d0a2f4c7e56c0c56b889f47c622c6", - "0x0000000000000000000000000000009472ecb153285dccdc60cf91dde517845e", - "0x000000000000000000000000000000000015e573aca14b7c5fd370bcfc540b27", - "0x000000000000000000000000000000c303cfdc251b35fff418176773aa2776e4", - "0x000000000000000000000000000000000026e160cb0be92aa253d24a3ef4762e", - "0x000000000000000000000000000000caa9c67bcb76b860aeb9f0f4b012671fbb", - "0x00000000000000000000000000000000001386aeb173c2f13bc20ed2b78147c1", - "0x0000000000000000000000000000002b385a5dfd8c9a7ffc125cfd6fa7f8fd45", - "0x00000000000000000000000000000000001597a3dd423660dbd9daa02d14e187", - "0x000000000000000000000000000000d563bdfaa101f554e342f7fe227dc29f16", - "0x0000000000000000000000000000000000090a2f765e614082aa702ded80dffe", - "0x0000000000000000000000000000002c13af1d7029f509b59a9d7902023a0783", - "0x000000000000000000000000000000000015f5fbf1568f18d113c76d8125b4c9", - "0x000000000000000000000000000000832350cc0d3066c6a9d8d4e59c38966d94", - "0x00000000000000000000000000000000002c0a8c5e6b3ad7b65677d02e3af4ca", - "0x0000000000000000000000000000004581bf4848fb500439bee9e9db80d8dce2", - "0x00000000000000000000000000000000001a7ae19bf5ba02728391e18925e760", - "0x000000000000000000000000000000d9b2acde6149cf8e6f308444a49c333a30", - "0x0000000000000000000000000000000000192e53bff5334c0fd6d7f110fc3552", - "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", - "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", - "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", - "0x00000000000000000000000000000000000015b8d2515d76e2ccec99dcd19459", - "0x000000000000000000000000000000222b888108dc25d1aa450e0b4bc212c37e", - "0x00000000000000000000000000000000001b917517920bad3d8bc01c9595092a", - "0x000000000000000000000000000000482141c7ebe42000a1d58ccb74381f6d19", - "0x0000000000000000000000000000000000305e8992b148eedb22e6e992077a84", - "0x0000000000000000000000000000007c86847618681dc29d8a9363ab7c40e1c3", - "0x000000000000000000000000000000000016465a5ccbb550cd2c63bd58116fe4", - "0x000000000000000000000000000000439973ac12d7ca796d6fe98ca40e6ca6b7", - "0x00000000000000000000000000000000002e24d420fbf9508ed31de692db477b", - "0x00000000000000000000000000000028edd1a7e46c840d9c943fdf45521c64ce", - "0x0000000000000000000000000000000000043d063b130adfb37342af45d0155a", - "0x0000000000000000000000000000009330952ae74c573d1686d9cb4a00733854", - "0x0000000000000000000000000000000000261522c4089330646aff9673619494", - "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x000000000000000000000000000000ea6e74a6fa43b4810edc310e2d2b66dab4", + "0x000000000000000000000000000000000015c12f6f69bff32654e403b8e9a2b8", + "0x00000000000000000000000000000010f1d77dfb1e9178bab79124490d92915a", + "0x00000000000000000000000000000000000a9b89b1676b31989664a34260314d", + "0x000000000000000000000000000000a2d8941fda778834590a006f995557ff4c", + "0x00000000000000000000000000000000002dadd9e8063bfbee06194004949394", + "0x0000000000000000000000000000002036fe67ff22643d06461e1c8edcbc2dc9", + "0x000000000000000000000000000000000021c85b69f65f83d6cf1854a9563213", + "0x000000000000000000000000000000b19756d6156d0300b3ecb9be77605be1a8", + "0x0000000000000000000000000000000000014a4064a3b551e9b75fa13659629b", + "0x0000000000000000000000000000003491c66acf5693a16ec1f7241609c18f45", + "0x000000000000000000000000000000000023b0ed5030538c865d72cb8908352a", + "0x000000000000000000000000000000efedf593c1cfc28146ff68d9dcb1070ca7", + "0x00000000000000000000000000000000002a8174a5153b946abe57e2ed06d454", + "0x0000000000000000000000000000009c3212d084550b683558797af1477ceb8f", + "0x00000000000000000000000000000000002c32c65b02e59d9aae5b8a57ec27e4", + "0x0000000000000000000000000000007b88e113308893f906561837b9edc3baa5", + "0x00000000000000000000000000000000001a45b642b5e649f033eca82a810b8b", + "0x00000000000000000000000000000068591e612a0127878f63e7923f17854d2a", + "0x00000000000000000000000000000000001d50690ef0dd775e7f4fc0f17281bf", + "0x000000000000000000000000000000eece658386d09783fcc2d61a622eb6b121", + "0x00000000000000000000000000000000001d5b3af11c73d93414e18accc31071", + "0x0000000000000000000000000000007b1ee7fea7dfabee7dad1a5e3e816c2a2e", + "0x00000000000000000000000000000000000a5f02160bfa014a46b329f3618dc8", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000043bda12a99877a984942e29d821cd37870", + "0x000000000000000000000000000000000020b1906b429f07ca51070221399472", + "0x000000000000000000000000000000c185af02499653794e9d4c7fa1a6c5751c", + "0x00000000000000000000000000000000002927f8b050e657021afb2f572e0f84", + "0x000000000000000000000000000000ceda688bdd2aea1e5253ea0d86743abebd", + "0x00000000000000000000000000000000000072f93e3607e4ac8c369fb92fe33a", + "0x000000000000000000000000000000eaff91f9cc05f03c6d8546358d580ef17a", + "0x0000000000000000000000000000000000225d5df5771e53084f6e364ad8e3da", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000002218617f23e467fecd2e3c938179a2b578", + "0x00000000000000000000000000000000002497b7dd7eec4e260f8ca521f1109e", + "0x000000000000000000000000000000914e208f9621734ce56985cdd29d01a78b", + "0x00000000000000000000000000000000001092e497a21b124b279b86e029a993", + "0x0000000000000000000000000000002ef4ddf310bee1f74f655cbb0ceb9315d0", + "0x0000000000000000000000000000000000270b81bec5e6b0f455065b02f68a0f", + "0x000000000000000000000000000000ef21188ec62b59040e4f1b89dfa23be48e", + "0x000000000000000000000000000000000009ced6e0108e8e67b299d9e3bad9a9", + "0x000000000000000000000000000000f61d5b8425740d0df669b875491e615449", + "0x0000000000000000000000000000000000064a6a9bbcefc6ad4b2d4e1e03985f", + "0x000000000000000000000000000000d004ad7846785bcb0db2672f6e5292f7c2", + "0x00000000000000000000000000000000002114c1fc4a3c39cbc96baf3ba693af", + "0x0000000000000000000000000000005cc5465cd9391ce8e7799e91bf9aac8039", + "0x00000000000000000000000000000000001c59b40d18b5d06d88617f2ed5c568", + "0x0000000000000000000000000000008134581657d125ca542477d684313ad999", + "0x0000000000000000000000000000000000259435f2950ead4bad62f0635944d8", + "0x0000000000000000000000000000008e3beb4333afb6a1db12c0889130b8f7f7", + "0x00000000000000000000000000000000002d022d695e566dd0ddfd15b59ad6f6", + "0x00000000000000000000000000000019ac6e38521a0144c3d1abe706030d643e", + "0x00000000000000000000000000000000000961e2643f9317a4d6144abb77cae4", + "0x000000000000000000000000000000827e5482f658cec2661f8cf88c4558800d", + "0x00000000000000000000000000000000002bcc1992b1410cdd05f32c2148a800", + "0x000000000000000000000000000000049c1604c9e61fe1eb1a4e6c0044a88607", + "0x00000000000000000000000000000000001a50aafae1419fae00770a64d75a52", + "0x0000000000000000000000000000003a404091304c1a4935267fb66a90af706f", + "0x0000000000000000000000000000000000175f69e34efe02635c0450ff14d814", + "0x00000000000000000000000000000056a7488e33d23f5a7e31e8c24c4d32feb9", + "0x0000000000000000000000000000000000152b125831f20c0046084a92a3a01d", + "0x0000000000000000000000000000001bd75185387ebcf04a2d1541b418c93962", + "0x000000000000000000000000000000000007d44e382095a4ddb6c84d676f975b", + "0x000000000000000000000000000000e37e00ccdd16f0cfb118365311a964e475", + "0x00000000000000000000000000000000001c3ba17a670cdeca7019e1d2c17e93", + "0x000000000000000000000000000000ef2f893fc357863e53675b8dfdace77275", + "0x000000000000000000000000000000000013a4df076b371985ff93656b8e4483", + "0x0000000000000000000000000000007adddc444f0c602af7efaa9c977e9ab80f", + "0x0000000000000000000000000000000000138e76ae51938924778a06f02de461", + "0x000000000000000000000000000000f63ec082d951768fe05e6d3bc9d50bc72d", + "0x00000000000000000000000000000000002ac3a11527579ccbe6c1966976f6ad", + "0x00000000000000000000000000000066d0ea63d8dd4511ec55e666f7bf6d6c3d", + "0x00000000000000000000000000000000001fe7a9cb68d795240eaec0b6efe451", + "0x0000000000000000000000000000005309c6e2db27d4be273a758a178e1af682", + "0x00000000000000000000000000000000000962316a08cadc097d50603d1606c4", + "0x000000000000000000000000000000ab5c17e93d31a1c79c62d8597447920f36", + "0x000000000000000000000000000000000019ede1992f131cdd105f8afcde56a5", + "0x000000000000000000000000000000b03aa7f0563671be6a98678d8dac3ed963", + "0x00000000000000000000000000000000002c9acda51c7b3e6e04e82aaf0bbe35", + "0x000000000000000000000000000000b7eceb60b962a8108199e7506d967bf042", + "0x00000000000000000000000000000000000ab8ec69e3b26d13207351e2be7d7d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000019988ebb1316d375d71e97a8545a3c71a1", - "0x0000000000000000000000000000000000223ffc44e0e98747d5be232098b76c", - "0x00000000000000000000000000000039f06fcc03eb0ffcc95a6e4ffb19181791", - "0x00000000000000000000000000000000000d49dfcd43c5d2f7fd6edd6a818e5c" + "0x0000000000000000000000000000001eee81b23a887f299049b14c11e98460d6", + "0x00000000000000000000000000000000002a56ce41f6b0be13b9c26747621b82", + "0x000000000000000000000000000000d5827d6338c78656c0d12ca1aea6ef2c7c", + "0x00000000000000000000000000000000001aa98f2de3ddda547d8f6de4e725de", + "0x000000000000000000000000000000ab626198b0ffe754ee7a00134867d6524b", + "0x0000000000000000000000000000000000016d89d36083b0f55dba4523be0aff", + "0x00000000000000000000000000000081d7c7a641b523d79569cb352fd7652081", + "0x000000000000000000000000000000000023fdf5ec3df2b078ebe39feac15b55" ] - hash = "0x05ce98498d8e3590661695e0243b58df2e19f9b0e7229b9ef88ee6fb20c40442" + hash = "0x1cd81d6249bfece0299cdfaff8344081684997c787276db4fb5cdb25a0d6822d" [[inputs.previous_rollups]] proof = [ @@ -1202,7 +1202,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x026f28b344918f22933d91a736c98c3d8f45258367baa5703621c045f634f02b" + block_headers_hash = "0x1953e1bdf126cbbbf44f73a3952cfe3ac37b665859467480ae6846d2539b6f7b" in_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" out_hash = "0x00abb50b8989a7f19fd4526d43e15a1ab5d2a43af413cc8ca91e82a3c8828625" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1211,8 +1211,8 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x0141caf6779674bc31225636c4cc4259a731835c52fc462f2dcbfabf7de01a1d" - protocol_contracts_hash = "0x01af64239167dcc8333e25456aab71348f66d9f6de731a8b62181d16cf0818c1" + vk_tree_root = "0x0b701ee3d1002ca8a5a73a81bcb2e0d84e6c30222be65f508574f182569b718f" + protocol_contracts_hash = "0x0fcccdf7958e813bb1d24f764ae13ff08a999008434c2e4dec55f4401564b05e" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" slot_number = "0x000000000000000000000000000000000000000000000000000000000000000f" @@ -1227,11 +1227,11 @@ proof = [ fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x0edef98680cbea2855c4f0f152a0ecd69358e68b10da7b7e301f35ce709c13fa" + root = "0x27b365d73aa1b8ac1eb39c75262e2b87a238d041cc98fcb795f4c597c620ce64" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x0d5581ddb590b1f2e972ae3399ac1639129b04a4b4282a219285a5dba6553cdf" + root = "0x10abfc1e58ab5ed471d9c7fedcf2b291ad533ac85d136968ea047db10d73d599" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -1276,10 +1276,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x2077efe63b8c3de3bfdbc1e1be837185a8f1d817c8321418fcfe110cd518a922" ] state = [ - "0x08cdf544ec44d694936ed6a5aa580afb2a3b1a4b087ba80870d4d01c79cb5772", - "0x192972b72a1776fa9d30c1202807fca4f9272b156c9e1eafa5f93e94a13c439b", - "0x23ace986d5ee172559ce2153d8a166075599a4403288cbe1a150bda49415fae6", - "0x0f3ccb179877769f2d268206c1b45ab9af36d5e7e005de27ede90c1a29450039" + "0x13ec9d9b37f0599c5765a81513125e07305454198fecae73a69e7d41dfb27215", + "0x24fe963f8f4139d84f904228cfe1e10256e9106331e614b72ed86be8903e4259", + "0x114cba9fee3fa49ffd5f440aa162c6ce6e8410138a592e587337646bb8b04ca7", + "0x10325219e420881603ba4ea16613cf66fa1c43ff98bceb97acaaab599e3326b5" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -1294,10 +1294,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x092658df33d4badeaa54da3bee987ed4b7a973d285a96229bbd71c564cad7449" ] state = [ - "0x186114d0d063d6e6ddee6515e508484b364b20eeca9ca340f8566e398b71b198", - "0x114fbdb8bc7b843c83778ba1c8780534af4f59451f33adcb6a437c245d4bed64", - "0x2808ea7e05edca8293485bb1dfde34257ab644659366d516601dd5beba26639c", - "0x0ba75ded1f1125dbe2d4e7a5b18a7b2e2c238a70c72ed529163eb34be09a36d2" + "0x06b7a09d376432aa2b0a7411a06aaad2d07f77fe65a5401eea06ab9d30b77ceb", + "0x06b7ab96aca0b2e842d7692f25a662728d09309529ca41b0e61eb20e19a7f38a", + "0x0b211453e69b20a81d2247120eae55ca5f80139276d8d9a7bb790996624e335d", + "0x1af797fb95b1713b94475070546774ffc67e4d61c261abb49048a7834cc7e665" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -1305,131 +1305,131 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000e" sibling_path = [ - "0x0d000c0ce80da2c814b0f1508b74728e2eb05f4fdfb0396e1e6939106be41f29", - "0x02e6f22eee7e3e5aa6291ccac5ee76b8a2f1e338a74bf57530740f36d19c9b2b", - "0x14c22836312c6ac50d8aae1289b45c06410355406e5af5ecf43bf59432dcdd17", - "0x2648004ca39ab2f7f01e8733c2de2d035675568a1c98d1410ce90ac2512e72e2", - "0x15313312ac8ca4825afd3891479fbb14626ca65499d939e23b1f653cd7d018ea", - "0x19de2a32662702dd872e529ad89836e16b013012f910daf2bc7c2a67356dd107", - "0x1f07bca7a14f9a969539c0afd388affa18926689f431fc541841a2a7604d388c" + "0x2781192850bee4946aa72958703bc69fec3ab04ecffc00c34abcb81befd3c88f", + "0x2a4b8973bfb7d252bd970f41d74702d12b8bc7f63b15188bc79d78bda4a9413d", + "0x07a849e820943807a1c5531526528e89be50a06725dee96179285d8108e565c9", + "0x146274c75e0cce377b1764ae8c0ba9167cfb0632d9453ac4c5b521f5d45cee4c", + "0x10fa882cccd67cfee268da2a5d99ed42a34302ecebc26f4b3254e41507b3ee42", + "0x133dc174ef877c42d59ac5fe87733ce13f9355587db788e3b490832c7afbcfd2", + "0x13482b383bc59a6da6ab4e998b0986c23166d0aba121fc0789e9f14605af653b" ] [inputs.previous_rollups.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000014", "0x0000000000000000000000000000000000000000000000000000000000000046", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000002fb0b1381b4486fbd49fa9fdb4d74afed8", - "0x00000000000000000000000000000000001b03700ad9942abf5144e1bd7393d2", - "0x0000000000000000000000000000007f3e184921857992c24753b966424214c6", - "0x0000000000000000000000000000000000283119b961cda64e529c68e135fa17", - "0x000000000000000000000000000000c251b282c34c8a6d712e6c12903362497c", - "0x00000000000000000000000000000000002c89e5571ae0b09fa870346cbd5cee", - "0x0000000000000000000000000000008eb0fcf7af2d945fd3266cd7b0b449e8d3", - "0x000000000000000000000000000000000021d78ef089716338837787911d13b0", - "0x0000000000000000000000000000007f691d58aee9d65248c5eecbbaddc13a98", - "0x0000000000000000000000000000000000098627646fa61b9928d6dc11c96e13", - "0x0000000000000000000000000000002c58cf39b7f2b04d82c4338ef8958a7473", - "0x00000000000000000000000000000000001aef806cf0aba5af2f1f8978cd56d8", - "0x00000000000000000000000000000082bb268c0e10a8bf5c0ef242f9906e4892", - "0x00000000000000000000000000000000000c90d93936cc598061c4d29f0b25a4", - "0x0000000000000000000000000000004d114fbbc4055f5761b7f8840f0da32908", - "0x00000000000000000000000000000000002957bebd162ed2169df723dde18c97", - "0x000000000000000000000000000000e9eea3e81c31b1aa9400fa13197b7393fb", - "0x0000000000000000000000000000000000218c3140bfb6edddbcb2d4cbc126bb", - "0x000000000000000000000000000000c0ff9e22fab79999e9ed7d78e138d2987d", - "0x000000000000000000000000000000000028bcfd13128cabc46955265a1e05dd", - "0x00000000000000000000000000000023a74d6f1a3fabe39ff7f0f6150be9ec00", - "0x00000000000000000000000000000000002e2507d7bf2a01aec6fd026fa0a409", - "0x0000000000000000000000000000000a0acda35b6f3d1a438d5fcf5783a50797", - "0x000000000000000000000000000000000021e1c9a570c3d0417707daa478fa20", - "0x000000000000000000000000000000c10049e49d4cd16c33bbc1e8eb3238ea26", - "0x00000000000000000000000000000000002578443465dd684c74b9c635f2c33e", - "0x000000000000000000000000000000770092209b5122c863dacecd7406bb2d48", - "0x00000000000000000000000000000000000f3fee6266059403a65308d4c5d7eb", - "0x00000000000000000000000000000093ed6cb8d6a2d5363b2c995ec9f930a714", - "0x0000000000000000000000000000000000276fea1e0f63f52d1e7564b9a81494", - "0x0000000000000000000000000000000389f3a2b3a8f8cc2f5f5d1cd72a8d196d", - "0x000000000000000000000000000000000013bcbd1229609722bcecd1798d4a4b", - "0x000000000000000000000000000000fe9ce7b1fd6536624c2fa96787f74d7bb0", - "0x00000000000000000000000000000000000c3c6d07104e24ea5acc68c3423208", - "0x000000000000000000000000000000b8da6eb9140a2d5588a8710a2d6d6318a2", - "0x00000000000000000000000000000000001b1f1fa538a3b66f72c15c53cca715", - "0x0000000000000000000000000000004730a9529ef0eb509d55e1379829c016c4", - "0x00000000000000000000000000000000001ce37c2c228f312b7c1e64bcca1dfd", - "0x000000000000000000000000000000a378c68d165ba8929cf5e20f479ed90e1d", - "0x000000000000000000000000000000000023024fd5c636e9ead7d63e4eac96d9", - "0x00000000000000000000000000000082a25f4e5374c7548fa507be32b596f423", - "0x000000000000000000000000000000000018ca6faa15b5b52e1ae8b15cb8b83f", - "0x000000000000000000000000000000091c75d9a46e8a66235f387c882bb14df2", - "0x000000000000000000000000000000000018f3db0dcead736435b7467239e00b", - "0x000000000000000000000000000000b87fb21960e7763dfd42205c459fdc41fa", - "0x00000000000000000000000000000000000267a4a344f85d00b6b0040d1c2150", - "0x0000000000000000000000000000000bd1017af78a6260c7d0f6eccb3a8d3890", - "0x000000000000000000000000000000000002641016e4e2bf5752b1e9472dde95", - "0x0000000000000000000000000000004697a8a794f990510a018a5b2c50f35b76", - "0x00000000000000000000000000000000000de0ab75e8b485639fe023a368024c", - "0x000000000000000000000000000000be33c35449966234d9bdf48ba396a57c4f", - "0x00000000000000000000000000000000000df556c20deb7a8ab0ee850f970c51", - "0x0000000000000000000000000000007e5366f459b2b033ca3664ff8f4a641d18", - "0x0000000000000000000000000000000000192f68a938c5a9ea9a5cc9f2181675", - "0x0000000000000000000000000000003a6f876985d4d54592c5b5c16ab8b16750", - "0x00000000000000000000000000000000002da0d2ee45300969c52f5ae43c7402", - "0x000000000000000000000000000000c0f7aa427b2ea5fe4f0e45dcb2eec42f83", - "0x000000000000000000000000000000000009739dbd1003e81acae3f329654c42", - "0x0000000000000000000000000000009191ff080e493eb7d3eb33ec9823178f09", - "0x00000000000000000000000000000000002c951c03d7dadfa04fdc92a298ea8f", - "0x000000000000000000000000000000245cbb1c8e9f243b94d55edca314c340d7", - "0x00000000000000000000000000000000000de0f174fce3433422830fdb869c6e", - "0x0000000000000000000000000000005348fbfc2bff27c23db0f849baac752835", - "0x00000000000000000000000000000000000fa0fe8cbbf06318ad99adc23d2e0c", - "0x000000000000000000000000000000b37df3b0cfe3793620f5315db38c0dcd29", - "0x0000000000000000000000000000000000011ef80549887e786cea0d08c13608", - "0x000000000000000000000000000000e085aac6fe78f6a3574c61f888eb0ace80", - "0x000000000000000000000000000000000015ea74a6e14e77ffea0611ecc18015", - "0x000000000000000000000000000000635cc32ee452dd83211c337fd3423850ff", - "0x000000000000000000000000000000000030399e012ea636c746005ba35a4536", - "0x000000000000000000000000000000c6c09fdb5d8cbc0266b956e5539ad94b8f", - "0x00000000000000000000000000000000000728658d282bb922ecff1634645aff", - "0x0000000000000000000000000000008fc753267c4b4393209eabc80d1c4fcac8", - "0x00000000000000000000000000000000001add24bab07f36d9d6e11beabf5bb8", - "0x0000000000000000000000000000001a38a11d04a6dc1d788b1cc4da1d171341", - "0x000000000000000000000000000000000004eadc7d1bcf2320272a6d96972ae7", - "0x0000000000000000000000000000004749834da45ee7f8ffc427cf41f3b715e3", - "0x000000000000000000000000000000000005e4285178878dbecdfd0c6eba227a", - "0x000000000000000000000000000000182e1a0661bfd39a43bcbbb18e3691b327", - "0x0000000000000000000000000000000000262b3f8b46fac1d385cc0f3bc24ee0", - "0x000000000000000000000000000000434d5dbebbf6fbc03531f25d963f155b9a", - "0x0000000000000000000000000000000000082a0f4d55eb1206313a4955f41f03", - "0x000000000000000000000000000000034001bbce1dcce343e80ff7a821fc3444", - "0x000000000000000000000000000000000013176cdf2f7fb58e75a4954f0bfd28", - "0x000000000000000000000000000000acb6987d4aafb95942bc208f40df86f426", - "0x00000000000000000000000000000000000e52fac6880e3f51e7641ab893e82a", - "0x0000000000000000000000000000002377224018803fe8e8922c797432d2d985", - "0x00000000000000000000000000000000000b3d671707c2cdc4842e4e8ffefc09", - "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", - "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", - "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", - "0x00000000000000000000000000000000000015b8d2515d76e2ccec99dcd19459", - "0x000000000000000000000000000000222b888108dc25d1aa450e0b4bc212c37e", - "0x00000000000000000000000000000000001b917517920bad3d8bc01c9595092a", - "0x000000000000000000000000000000482141c7ebe42000a1d58ccb74381f6d19", - "0x0000000000000000000000000000000000305e8992b148eedb22e6e992077a84", - "0x0000000000000000000000000000007c86847618681dc29d8a9363ab7c40e1c3", - "0x000000000000000000000000000000000016465a5ccbb550cd2c63bd58116fe4", - "0x000000000000000000000000000000439973ac12d7ca796d6fe98ca40e6ca6b7", - "0x00000000000000000000000000000000002e24d420fbf9508ed31de692db477b", - "0x00000000000000000000000000000028edd1a7e46c840d9c943fdf45521c64ce", - "0x0000000000000000000000000000000000043d063b130adfb37342af45d0155a", - "0x0000000000000000000000000000009330952ae74c573d1686d9cb4a00733854", - "0x0000000000000000000000000000000000261522c4089330646aff9673619494", - "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x000000000000000000000000000000161e5bb10fa2b7c7380009239b649b4734", + "0x00000000000000000000000000000000000badbf533a087faffe865010dc5b37", + "0x000000000000000000000000000000381bfa95df551e67c494b29f07bfc5149c", + "0x00000000000000000000000000000000001bf4738c48442b6d952222d821547f", + "0x000000000000000000000000000000cdf67a2562ab96b4917ea73217efafd3b3", + "0x00000000000000000000000000000000001b0666d4bc44552a2ffc0223345a23", + "0x00000000000000000000000000000052e280645ffe873ef1e2cce244d3b23265", + "0x000000000000000000000000000000000029365e95dc11f595f23b37d9c475db", + "0x000000000000000000000000000000e0546cf49094bcd8d9e4a0e2f0b0d21d73", + "0x00000000000000000000000000000000001dd314bca6a6ded1a4a64266a516ce", + "0x000000000000000000000000000000c529043942840056e63f2fcffad4221afd", + "0x000000000000000000000000000000000011c2731f6fe0cb9f3c7d88d710950d", + "0x0000000000000000000000000000000dccca0374b5478a2414205ee24ca83668", + "0x000000000000000000000000000000000007e95f7cd90c21519b280c7c007fcc", + "0x00000000000000000000000000000004de3a9f180f0a4f01dab186eba8530269", + "0x00000000000000000000000000000000001372faf74b763ba502d7cc0845a54c", + "0x0000000000000000000000000000008aa4681b00633c2a5a63702641a6d36041", + "0x00000000000000000000000000000000002dc7f4ccd6922fc4b6654e175f2a80", + "0x000000000000000000000000000000d0d4f6ecbd8ee863fa3160211931061e33", + "0x0000000000000000000000000000000000263cb61cd13a131bdb313fa1159c3c", + "0x000000000000000000000000000000739ca3af1ec76a87a037f25bca5447ee69", + "0x0000000000000000000000000000000000065132cc73a764a9958eaf16937aac", + "0x0000000000000000000000000000004f397550e79074d0c4d3108fe675be5a4e", + "0x000000000000000000000000000000000012a58f58ab7bd421ca8f0fdf7990ed", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000dbe8bffec86d9a9c4e194450aafe44569a", + "0x00000000000000000000000000000000001ad711549791cb4bfb26753da71976", + "0x000000000000000000000000000000eef413cdd499365c5aff81234c29a8e9c8", + "0x00000000000000000000000000000000001c1a2f7052492deb0bf3831f1d659f", + "0x000000000000000000000000000000a430987c325c792662db95707eeb73bcda", + "0x00000000000000000000000000000000001fc6620d5b4b91a2bb7e967e4ca0a0", + "0x000000000000000000000000000000d3010833f9a0a6df8b842d2e94c7443271", + "0x00000000000000000000000000000000002b34c8b03764d6438d76005e33f136", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000090eb905a6ce8fdcfb3ad69b20f37b471a0", + "0x000000000000000000000000000000000015411f1068f3c41c0f03f763abc15a", + "0x000000000000000000000000000000afca164bedcee548eecb0590ec5abf1127", + "0x0000000000000000000000000000000000145ea9d00e643079977aa78cd2c109", + "0x000000000000000000000000000000854f1c53b1fafeaae64bc08161c77048b7", + "0x00000000000000000000000000000000001e235518c5c034960eec5fc45a716e", + "0x00000000000000000000000000000035145365e610d44ef42fa8ea613a9df4aa", + "0x00000000000000000000000000000000000f949d81fe0404cba9da3dbe012bd7", + "0x000000000000000000000000000000c5f55c78208dcda151683ee8cf95e8bc47", + "0x000000000000000000000000000000000012b17b8f64a8606a7817da004b71c1", + "0x0000000000000000000000000000007359e5ac4a48e1c4cf0e5665c6c059d99b", + "0x00000000000000000000000000000000001d7a0474a2bb254bf932f10146b961", + "0x00000000000000000000000000000024e0b7c596516bb0b5a2e8d6cb248b56a2", + "0x000000000000000000000000000000000012e9c9b3e8143abd574124134a05c8", + "0x000000000000000000000000000000dbc92535cff5ca03ba09ca111642d39fda", + "0x00000000000000000000000000000000002043571f43cad61de3a5e4328a4aee", + "0x00000000000000000000000000000079d599186f46e769fcc207b0cd6cbdc01e", + "0x00000000000000000000000000000000000c5c2f9466df09ea80f0ec14870034", + "0x0000000000000000000000000000005f94f587b12643ff51063a28353833f770", + "0x00000000000000000000000000000000000cf56aa28ed4b4beb7ff157d7da3ef", + "0x000000000000000000000000000000de4b43f87ff9317c8e9d9c4588fc2eef2d", + "0x000000000000000000000000000000000012d0aa842859d2ee838f5510f9bc22", + "0x0000000000000000000000000000006f2fdb4213da0129f8365bc86a01f6164d", + "0x00000000000000000000000000000000000bdc73bc5280a4afc7e65947531e51", + "0x000000000000000000000000000000f14874ba0df22c460d8352ca030bd9a861", + "0x00000000000000000000000000000000000885382903e5ffbd837b5e0e4bbf06", + "0x00000000000000000000000000000066e80b7e34ebe3899a4d07dea4f62cc7df", + "0x000000000000000000000000000000000013f829d0878ad53de418679f370067", + "0x0000000000000000000000000000002980ae9f85fad098e5a76ca9e6bdac5779", + "0x00000000000000000000000000000000001a774ae589e96cfbefb418dddcdaa2", + "0x000000000000000000000000000000327c44b0ed90d01976c32c94f04ef2cea8", + "0x0000000000000000000000000000000000225d757cb4f2bfbf6d13b8114d7b16", + "0x000000000000000000000000000000bdc629840f4a9d071f9fb1384008254135", + "0x000000000000000000000000000000000004e75cee70f3e11a2402faef92a73b", + "0x000000000000000000000000000000f40c508a906897027558980610fc4df4f2", + "0x00000000000000000000000000000000001f959d41e40d111d021ab23b4ef843", + "0x000000000000000000000000000000587fcafd86184e71ec3d650b3ba85f03fa", + "0x00000000000000000000000000000000000610c97af06081281e7404f44aee4b", + "0x0000000000000000000000000000007b029cc296434696323f9c37b5e4c9cf55", + "0x00000000000000000000000000000000000614733fbf8d375012614cce5e4aa0", + "0x000000000000000000000000000000bc102f5fba012ade36bbf671474a9afae2", + "0x00000000000000000000000000000000000d2b78d31298fc946624e482d61850", + "0x000000000000000000000000000000c1c26c3fbdd4fb7de13c6af78b90063442", + "0x00000000000000000000000000000000002da9dd34c453f3d5a99691ba052769", + "0x000000000000000000000000000000a788520d601038b7bcb1ef241547ddc5e1", + "0x00000000000000000000000000000000002a280445997573df993f3eaa9cc9bd", + "0x000000000000000000000000000000ec4d9274437dc457e7da9ee9f5d57b0825", + "0x000000000000000000000000000000000029454eff7f180c04c3dccd1d762531", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000005d656b6df65180c7833e41dc3231ba543d", - "0x000000000000000000000000000000000011345e9011207695e22c16713acdb8", - "0x0000000000000000000000000000007d63cb71b503d4b9abe5d31e76ac70ff93", - "0x000000000000000000000000000000000026b61287fe7afce1e989dc0d30a961" + "0x0000000000000000000000000000001eee81b23a887f299049b14c11e98460d6", + "0x00000000000000000000000000000000002a56ce41f6b0be13b9c26747621b82", + "0x000000000000000000000000000000d5827d6338c78656c0d12ca1aea6ef2c7c", + "0x00000000000000000000000000000000001aa98f2de3ddda547d8f6de4e725de", + "0x0000000000000000000000000000007cf4b5713ad71efb2e02fe45bb7fc9507f", + "0x000000000000000000000000000000000026cf1fe248bb52d3e86b9f64b3c2d3", + "0x0000000000000000000000000000000e590349a07b67f041c3c615e4f436aeab", + "0x000000000000000000000000000000000015a097ca4d6bfa82e4dd755b3ebb59" ] - hash = "0x15602bffd51fabacf870d678a216f360ee85085e4b283f99086a716d2be141c1" + hash = "0x0b292d3b888b2793be2b844d85cf1ee4c10e4646758de66819a7d9483c294c05" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-empty-tx/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-empty-tx/Prover.toml index b55f7bf5c86f..c82902e1d32e 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-empty-tx/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-empty-tx/Prover.toml @@ -478,140 +478,140 @@ new_archive_sibling_path = [ [inputs.parity_root.public_inputs] sha_root = "0x00b0e02949c7c042e780651385688dcec114af3dbb3892bab1a9cd8e2bbafdc5" converted_root = "0x2f7247450c6d856804ef9fade0d5af92e4b87b1576f07ec88359012bf4c21abf" - vk_tree_root = "0x0141caf6779674bc31225636c4cc4259a731835c52fc462f2dcbfabf7de01a1d" + vk_tree_root = "0x0b701ee3d1002ca8a5a73a81bcb2e0d84e6c30222be65f508574f182569b718f" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.parity_root.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000016" sibling_path = [ - "0x259832d81ade32c589e6ab56f6c2bc4acf0b711b10e539b4ee38d8bacefbdcc3", - "0x00a28019e6ca588777548cd5e154dbf4f567f886cc8a01a812b4d3122f308cb7", - "0x03762ae9136a49df4624f45517c27d99c8b81a305e36011a211dda34608a3daa", - "0x2740690820f0df46bcbf149ccb51f228fb81a46173ad1793687319f77d32d49f", - "0x026fbe21cffb22c458f7e07b206bdaf767d39af34024eefe88e3d8b56eb9f695", - "0x19de2a32662702dd872e529ad89836e16b013012f910daf2bc7c2a67356dd107", - "0x1f07bca7a14f9a969539c0afd388affa18926689f431fc541841a2a7604d388c" + "0x26cc9e64527e3b22ec4559bc77cf5a17da79641f2be800e6ecdcd1956333e85f", + "0x2ba2de2d2cb820a66a273f2ba930d43a4469119ad58fe01eaed0e0d615ffb426", + "0x18f1abfe1a07005f35a20c06b468f7a4d3b68ecc2c025c88271b6550a827d41b", + "0x2370b2e567b79fe42809d72237ad8694479d864b90033ecbded55e041404191e", + "0x2c420960f09a97665929b2c1b4c167142f9e188be47609019306d64a45249c19", + "0x133dc174ef877c42d59ac5fe87733ce13f9355587db788e3b490832c7afbcfd2", + "0x13482b383bc59a6da6ab4e998b0986c23166d0aba121fc0789e9f14605af653b" ] [inputs.parity_root.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000016", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x00000000000000000000000000000078b17daee7ce0a5fb9f5a84a2842c3b468", - "0x00000000000000000000000000000000001e4a85b98d71b0d69292687e2c5e94", - "0x00000000000000000000000000000000c3c7c53f8d6f387d02cbd30b373f624a", - "0x0000000000000000000000000000000000027492d891507b7fb721f827ec2125", - "0x000000000000000000000000000000448da0795e65c2acddb6a180b618ca4500", - "0x000000000000000000000000000000000026376b31e8ce3bb070bfed46801c3c", - "0x000000000000000000000000000000a8b4423143eb061d06dcf70a9b88d96cc0", - "0x0000000000000000000000000000000000140986c98f877b30ce48cb90461312", - "0x000000000000000000000000000000dc3228da5397acec91842e0564247a3281", - "0x00000000000000000000000000000000002c26f116c4120584e7c05868b9e034", - "0x000000000000000000000000000000f5ebf083289c311ee2d289dc034b0031b5", - "0x000000000000000000000000000000000027e5ca168fcf7984917277bd63aeb3", - "0x000000000000000000000000000000087667ff676cfafa2db57dd50364cfe79c", - "0x00000000000000000000000000000000002bb973ea83e8487c41459600a6ef16", - "0x00000000000000000000000000000000a38ca13acac1410f3d7ca6db34fa63f0", - "0x00000000000000000000000000000000002068ffd126a125d99af872b91155ff", - "0x000000000000000000000000000000fdc1eeb335429c34b4488e1ce565edd0be", - "0x00000000000000000000000000000000001279bb6460b4bdefc838d4cb235155", - "0x0000000000000000000000000000005ef93e2a85a22e47a3b3eabb4e229dfb95", - "0x000000000000000000000000000000000002085147ee68b313f39acde522a5b1", - "0x0000000000000000000000000000003601a6e8eaee36ae589e4f3efd39aacdd0", - "0x000000000000000000000000000000000015b26c9be4890cbf333c9d18e023f8", - "0x0000000000000000000000000000002597739e1725777058acf8c41ece5bc230", - "0x0000000000000000000000000000000000127f2d8950de2d351261de15ad3692", - "0x000000000000000000000000000000f0707fa498b915bb84481f22c68f82f852", - "0x0000000000000000000000000000000000026e1e4979e0d760c48aba45674641", - "0x000000000000000000000000000000ea45d31bd10dd18ccc02388e6f8b291dcc", - "0x000000000000000000000000000000000023e937480766000ba36ae295ec1e48", - "0x00000000000000000000000000000031baaf67d48e00f988f210e567ddd2b45d", - "0x00000000000000000000000000000000002715a3d431eafcba537d10c3033057", - "0x000000000000000000000000000000bbb3120089d0de7b11c4a1f29199f88181", - "0x00000000000000000000000000000000000367ef60efb55665d6d840fa949717", - "0x000000000000000000000000000000ed04c2879b84b210376953f58ce48eba0e", - "0x00000000000000000000000000000000000b092c857d4a2e5520dfaafb203c03", - "0x0000000000000000000000000000005da6cf732c008d8d037ca34a818312a024", - "0x000000000000000000000000000000000029f868f7234099b8361cb3510e7d8a", - "0x000000000000000000000000000000a0843902e624f3adccde6cf44e08311d4b", - "0x00000000000000000000000000000000000373ffc7fce598489f487b9c8c0ebd", - "0x000000000000000000000000000000a7314c6ed61312feaff048ba4b49842b7e", - "0x000000000000000000000000000000000028ef66d9ba57db55d9037eee6292af", - "0x000000000000000000000000000000d6a3a1c9a17835658d11e6a5d0fe9cf907", - "0x00000000000000000000000000000000001716bd0d35f792b5b5d1b3d57bceeb", - "0x0000000000000000000000000000008997c4ec5fabfd7e709a9e39a9ade4f7bf", - "0x00000000000000000000000000000000000f0a6f177b950ddd7b7eb33d04db21", - "0x00000000000000000000000000000039501b07dae9c6fb88b4c42448be3cb384", - "0x00000000000000000000000000000000001eaf14768ccbf9c57b217dec1e31d8", - "0x000000000000000000000000000000dc531c7d21f7b45ffbca2717ec44b041e8", - "0x0000000000000000000000000000000000279bdd1d3a8e15802c608c6b4708e1", - "0x000000000000000000000000000000b37783542b31dce0d8c31c0852e1d763c3", - "0x00000000000000000000000000000000002f467244c882fabc33838b10b7eb2a", - "0x000000000000000000000000000000ca408d8763a614b172e9b946a7dbb2e74b", - "0x0000000000000000000000000000000000262b64694fd389afba33f2989accea", - "0x000000000000000000000000000000b61193261fec588db146c2170e4d2b0a0e", - "0x00000000000000000000000000000000002f32c65a1fe400d17787690e55d2c8", - "0x00000000000000000000000000000007fbc70d900496b6366e965b79a2113b36", - "0x00000000000000000000000000000000002be977d4f13c3e45b8aa682458f534", - "0x00000000000000000000000000000019ec1befb0c5f1cddfebc885efc6265f95", - "0x000000000000000000000000000000000005d3ab687eed8f108bc3a75ec3b8e1", - "0x00000000000000000000000000000051bb7f4b08721f57f545ebc0e07d3eebf6", - "0x00000000000000000000000000000000000d9503879b9bd744448b6eb9fb2f7a", - "0x0000000000000000000000000000005a02ba394e9d2d3e77bcccd895c10694fc", - "0x000000000000000000000000000000000027e25fdc49dc55b63ef3d1ca90b5b2", - "0x00000000000000000000000000000091db8035e2aaa8610742df1503300087f9", - "0x0000000000000000000000000000000000021dc3eaf7990b12e4468c2e28bab0", - "0x000000000000000000000000000000e846d69b700fdd8b078052da8b91c352d7", - "0x00000000000000000000000000000000000c951fe8e7eb4a6298b14be6382f93", - "0x000000000000000000000000000000ec89072912c27066e932cf77f821994c90", - "0x0000000000000000000000000000000000182e68039cceed32fdac710403b7da", - "0x0000000000000000000000000000008debe6230106974006084e7308b4b5feca", - "0x00000000000000000000000000000000001ebd658ddc30d75e5e721359395120", - "0x0000000000000000000000000000006d3b5839b70a5b60de45166b9c2a4be3f5", - "0x00000000000000000000000000000000002ecf96badf1253c40c1486fabbfcad", - "0x00000000000000000000000000000098213252fb5d3b6c5a9747469ebcf0dcd9", - "0x00000000000000000000000000000000002d869db2f87c96d3e31e66aa911dda", - "0x000000000000000000000000000000555c7af1975654730348730a11775c9759", - "0x00000000000000000000000000000000002b8d102334de6b8cbc22090f9dda68", - "0x000000000000000000000000000000d34433dab85ff5064014d6b58f60d67c25", - "0x0000000000000000000000000000000000139da62905bcf796f7101bbc76122c", - "0x0000000000000000000000000000003840706e6d07460c44d74cba5c2b34358d", - "0x00000000000000000000000000000000000aa2f8b6291279bea275b7c9913258", - "0x000000000000000000000000000000019eaa3b842224650e76c5cb0e94484c6d", - "0x000000000000000000000000000000000006c9f637fbb6502a38f91b85ace5f5", - "0x000000000000000000000000000000efc01f95fe550a9a9f1476758824a74301", - "0x000000000000000000000000000000000003eaa2fbce3122916d12c78b219b9b", - "0x000000000000000000000000000000a6eda6357e83ebf12fcf13845427e4a057", - "0x0000000000000000000000000000000000255208b91373b2dede462b7e8b0b52", - "0x0000000000000000000000000000006d2aecad4cd09ada8fea8abb2ebbf070f5", - "0x000000000000000000000000000000000012bfb11d7a805c6e591f874ae3637a", - "0x000000000000000000000000000000f4a6c6ffdf80a72db78762e237d58cd5f6", - "0x000000000000000000000000000000000026814a59803555635a3b6dfd056d19", - "0x000000000000000000000000000000f45b8d96069231f48e0d0c34d57593a6a6", - "0x00000000000000000000000000000000000b9dc32399025796005b2f68c15991", - "0x000000000000000000000000000000750e1b5cb997a3adf8540bf55bb9264ec4", - "0x00000000000000000000000000000000001f6cd5b6d43f67798ae4655c016f37", - "0x000000000000000000000000000000596cc6183848f32c60ec74fe2bcd76b20f", - "0x00000000000000000000000000000000000ed62d10b019355f008b46412d0e2d", - "0x0000000000000000000000000000002020dfdab8c9db8335bca3c8284b1585b2", - "0x000000000000000000000000000000000023a2906d03204aa4f79b5b80b92eaa", - "0x0000000000000000000000000000009116c4d15f7c9a51f17c3830fe7c1e3b42", - "0x000000000000000000000000000000000024aecae332db48e03b97fc645a7f05", - "0x000000000000000000000000000000834c5e938cf9e8bd4bd5847e2408407276", - "0x000000000000000000000000000000000008524b40cf87b668119022f691cfac", - "0x000000000000000000000000000000e699df860731437ec57f9890fe4b3a4205", - "0x00000000000000000000000000000000000e1e9d4327e635f547da67aef57e86", - "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x0000000000000000000000000000004f85c893bf8b1e843f2dffc48dc074f196", + "0x0000000000000000000000000000000000215339c99786f23abf06aa628e2bb5", + "0x00000000000000000000000000000021f56f1fd166b444f6945fef45a4260c98", + "0x000000000000000000000000000000000029832f088b0a8c0ed5fb1876da60ee", + "0x000000000000000000000000000000683bd852b0d5317d3104e00d57a7ff12fe", + "0x00000000000000000000000000000000000d2eb234e163af0321005edbadf074", + "0x00000000000000000000000000000043d1d78f4556dca95ed3ae27b1bb967956", + "0x00000000000000000000000000000000002406ce5529e27d341a34d8c9a819d2", + "0x000000000000000000000000000000d2bb936edd0bcb9cf33e24855aa3095d1e", + "0x000000000000000000000000000000000016629d2674b560633c3db0a21598ea", + "0x00000000000000000000000000000092c8bd15ab345a54468aba584a6f16e2b5", + "0x00000000000000000000000000000000001fbbe74a5bb8bad495a22f4a0384dd", + "0x000000000000000000000000000000d7dbc1eca647580a4a952821d02d282259", + "0x00000000000000000000000000000000002d68b4713f14d3be50ddb099e2b736", + "0x000000000000000000000000000000d4dfc475729d110ffc01eac27a1bb07187", + "0x000000000000000000000000000000000015026e1e1768366175d180725092cd", + "0x000000000000000000000000000000d799d0753526bf23193f9ab8f73c1c7307", + "0x0000000000000000000000000000000000052dcf1d1d89071ecfbfe34de96dff", + "0x0000000000000000000000000000008a7f1c8955fef499a04d57fa057c30e66a", + "0x00000000000000000000000000000000001fedcb5a5fb32238adaca91e2be32f", + "0x00000000000000000000000000000047c5bb126a6e6c788dec340b858f577f7d", + "0x000000000000000000000000000000000013e3b742ca471a245262fb2ecee07a", + "0x000000000000000000000000000000b6284febc7d58cc5491fee7334064865ef", + "0x00000000000000000000000000000000000038ae53da7215a286ebd0649136a1", + "0x0000000000000000000000000000006eed465622852dce8a0702c5327cff0583", + "0x000000000000000000000000000000000022b0941f412859d1cc37a757ca4375", + "0x0000000000000000000000000000008bef872c634b8c03bfe7ff37c00a727192", + "0x000000000000000000000000000000000004906c8767a040a562b166a360c43b", + "0x0000000000000000000000000000001770bcd5e95d6ed8c6299af5208e594351", + "0x00000000000000000000000000000000001170f991d5a8c2cece25a2eec45ac2", + "0x000000000000000000000000000000dd2567c65087f4413c4a68442f7838d361", + "0x00000000000000000000000000000000002b2e2b9fa7017ed5b534b950976cfb", + "0x00000000000000000000000000000060445810cd95870d181367a860937116e0", + "0x00000000000000000000000000000000000171fcd0debd9f9966aa439dafa69c", + "0x00000000000000000000000000000036d276aef0f30fea87630c34381ff63a36", + "0x000000000000000000000000000000000029a01a7f04aa1c5fc36c458ab5f806", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000e402279945a076c945901fca356628c525", - "0x000000000000000000000000000000000012fedcb7313f77c3006a35e9fb9f8d", - "0x00000000000000000000000000000084a3a7ab7d80d65ae1cf14ed89c99c143a", - "0x00000000000000000000000000000000002ece2d07ef9c9b1afa02b75b16e861" + "0x000000000000000000000000000000441c338c655b7e22f91724c986ec2a7d0a", + "0x00000000000000000000000000000000000988f7c276931907f533dfa99ae0ad", + "0x000000000000000000000000000000555d1bf8e49259a2b77c8e0caae5b13feb", + "0x00000000000000000000000000000000000716aa5a6148a8455d44f8759f22f5", + "0x0000000000000000000000000000006400f037f61c707f2729c70c5d912ce9d3", + "0x0000000000000000000000000000000000116682196031717f5d1cc4d903aafe", + "0x0000000000000000000000000000006459e7ac42c142260295108e744e33a0c1", + "0x000000000000000000000000000000000009228de1a4fbd3de4d757390f162da", + "0x00000000000000000000000000000067656846b7e2309e7c18c1cce38675bb00", + "0x000000000000000000000000000000000029e7406191ce46a9babc6ac5ff12cf", + "0x00000000000000000000000000000032e79eca379410f7ec358f9da21bac9fa9", + "0x00000000000000000000000000000000002c817548c195702d46fafe6ccd4faf", + "0x0000000000000000000000000000004fbb48b68f274f27d30cdcb82ee7cac9b2", + "0x0000000000000000000000000000000000068f9a71089873a24f8351d1e70d97", + "0x000000000000000000000000000000795c4af1416754d9625f084be947a93c64", + "0x000000000000000000000000000000000024e4ffd72d451203c5bc7d04a27116", + "0x0000000000000000000000000000008ca18e089457f9cceb58c823a944b03f26", + "0x00000000000000000000000000000000000422b4f22af36e628698a6865ddecd", + "0x000000000000000000000000000000fb52c4f612125db4012ed8a2e84e1d2c6c", + "0x000000000000000000000000000000000019dc534f8dd81d19f72590c6e1fb8e", + "0x000000000000000000000000000000fa01f84fdc11a5d03b14bee3a99a680c37", + "0x000000000000000000000000000000000022dad727328995272891d530216d61", + "0x000000000000000000000000000000b5f4bf23591d8b2447d60d61737c2c36bf", + "0x000000000000000000000000000000000002e2a075eaa9f4dd89c257af6cbab0", + "0x0000000000000000000000000000003561668a93cb72e95a340771ddc66e9c1a", + "0x00000000000000000000000000000000000026940a62997474ab260b2841eafb", + "0x00000000000000000000000000000075c66b2eeb9c27b8611335bafd53ed5e6b", + "0x000000000000000000000000000000000020720351df147e866486a5db6e8bf9", + "0x000000000000000000000000000000fa65c2574867f702f76ee91bf9721891f4", + "0x00000000000000000000000000000000000550d2b73072fe8ebb458db32bc272", + "0x0000000000000000000000000000005e45bf32b04d43d7d9e082552a7c6e3aab", + "0x0000000000000000000000000000000000156b9320b1c02a5ae4d5245079ef93", + "0x0000000000000000000000000000007dd31f38bd2d2529ea3d3537bddc4c2d8d", + "0x00000000000000000000000000000000001460b51e2428e23b3d5f0e0623a2a5", + "0x0000000000000000000000000000009973429339ccb353bf51ed2d258ab0c734", + "0x00000000000000000000000000000000002675f20f2783781dae8b8ceee4b947", + "0x000000000000000000000000000000f19f97ae0fa6b47d95ce8c99deff02825f", + "0x000000000000000000000000000000000008ac106283f7faa2a9523d6d3b6a65", + "0x000000000000000000000000000000ece35a6af0338418a01080dc9e20d76e8c", + "0x0000000000000000000000000000000000223186953dd9de4ffdf175c62fe17b", + "0x0000000000000000000000000000002cdb64ca6e6e3ae04f48e894d029463405", + "0x00000000000000000000000000000000002934e04d3c42257882836e1cd3c909", + "0x00000000000000000000000000000010928865f0c2b283d43e700debac484ce4", + "0x00000000000000000000000000000000001267fc086b1485e85ea3a8d0cd75de", + "0x000000000000000000000000000000f9cdf1ac824371f6761a75f1208a9ddfad", + "0x00000000000000000000000000000000000e0fdaaebe67864d0d5e9eadb9efc5", + "0x00000000000000000000000000000017a6567e4f95497a889a7d72f19789b322", + "0x0000000000000000000000000000000000288f112dfaacee642430e19b6959db", + "0x000000000000000000000000000000a16e293e7727181d85a1c007ac038f36fb", + "0x00000000000000000000000000000000000dd700294b3714e9f7b0e14b5d532b", + "0x0000000000000000000000000000008ac20e1e987aa4c40027fd4f9efd59fa05", + "0x0000000000000000000000000000000000154ef731c875ef2164785e8ff31c30", + "0x0000000000000000000000000000001911ff084795513c823a4fda7a38335e8c", + "0x0000000000000000000000000000000000302c54e62b85bc435230433f081725", + "0x000000000000000000000000000000c4779e7986fcf2ef065416576329f1c47c", + "0x00000000000000000000000000000000001ebeffb4dbaac41852670eeb9ede9d", + "0x000000000000000000000000000000f030e0b5c911d86aef1ef86fff6c540d91", + "0x00000000000000000000000000000000000bae7a5c23fa083c7231387cf8d78a", + "0x0000000000000000000000000000001942fc1702b7a2afec85c9a8473d44c487", + "0x000000000000000000000000000000000000210966c79a864b7f987cf31ab127", + "0x000000000000000000000000000000f77fcafc38ec30e711c06c5755d04144d6", + "0x00000000000000000000000000000000002db7460ea7c5e17383e5d1b8affeb4", + "0x0000000000000000000000000000007f430ccebae1fa38c07b989cb9ac4ccb2d", + "0x00000000000000000000000000000000001d815d190889cb37cacc2ccf4cfc96", + "0x0000000000000000000000000000001eee81b23a887f299049b14c11e98460d6", + "0x00000000000000000000000000000000002a56ce41f6b0be13b9c26747621b82", + "0x000000000000000000000000000000d5827d6338c78656c0d12ca1aea6ef2c7c", + "0x00000000000000000000000000000000001aa98f2de3ddda547d8f6de4e725de", + "0x0000000000000000000000000000003ef880305f8c4beb28f1f80f7cc0e7d3f2", + "0x00000000000000000000000000000000000483fb33808b70b4a034dca390e659", + "0x0000000000000000000000000000003d66a145da1b03e8dc9914efd105dac5e6", + "0x00000000000000000000000000000000002a25301cc6f9e024e87f0b58047b1e" ] - hash = "0x260bc49f0702223b7f21b3aa27a20c75348991d78be9041f06bde5d2b51a3fc3" + hash = "0x17df297aed2208dd702c20c31bd85e54e0984ff5f2e4c2032f507c647b261849" [inputs.previous_archive] root = "0x21d6f855045a944864d3132e6d985947abedb3c639bcfb1b67a0fd240dff64b1" @@ -636,8 +636,8 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x0141caf6779674bc31225636c4cc4259a731835c52fc462f2dcbfabf7de01a1d" - protocol_contracts_hash = "0x01af64239167dcc8333e25456aab71348f66d9f6de731a8b62181d16cf0818c1" + vk_tree_root = "0x0b701ee3d1002ca8a5a73a81bcb2e0d84e6c30222be65f508574f182569b718f" + protocol_contracts_hash = "0x0fcccdf7958e813bb1d24f764ae13ff08a999008434c2e4dec55f4401564b05e" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" slot_number = "0x000000000000000000000000000000000000000000000000000000000000000f" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-single-tx/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-single-tx/Prover.toml index b60a27ba98d5..91d7ad39a447 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-single-tx/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-single-tx/Prover.toml @@ -28,10 +28,10 @@ new_l1_to_l2_message_subtree_root_sibling_path = [ "0x0aced6fe68143f4c7acd16345a8c1bb50c51a0692b760eb48728feb923d90757" ] new_archive_sibling_path = [ - "0x08c303b52910eab1e07d04de401bcbe8d8f36ca377c5168e795f7f5f4156bcd5", - "0x1cfdc3f191fd4278971f73de8ee4302bd29051bb0c93c1ba7a8a7feaa4e59846", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x19f1a0c09db4cd026f686e9c8fb45501a9fefb4eb1b4c6c328a51343a0094eeb", "0x14e4b977b2203b70e6ee1c2456eb7114d090fe4b907f631eecd0919fed432e7d", - "0x2b3b2f80ea4227dfe7ab4edec33942ff08b95b023d6d15efb0abde90594c993b", + "0x08ead7d93a6e0ab74b47c029605a16640557a4c3e830a2f6294aea4559e5325d", "0x1e20ad4181460cbfdc74ca773502c59b890f184efe300ebad895956d318422da", "0x1434e6e2d5db1053ab8a3be58704509c799ee17e109c77f441f7bf1755400249", "0x119f56a2e8423a7feaab49b9b5dcbadec0648dfa4096b61b6774ea33ae29dc7f", @@ -477,19 +477,19 @@ new_archive_sibling_path = [ [inputs.parity_root.public_inputs] sha_root = "0x00de7b349d2306334734e4f58b1302a6ed5a6c796a706f6597a5641b6d468223" converted_root = "0x0d04c63f36bd168215c9b09a227c7e8d3ad48e2f11b8202fd07c524bd30ee88f" - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.parity_root.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000016" sibling_path = [ - "0x03c2794698e7be6401d02011dc2296136a6aeb5a9ea3e6d244ece148cf45e1d0", + "0x1fd3c3c6e02265cacc9ce121274750908e476487f11894bf5fecd63e8782786e", "0x2ba2de2d2cb820a66a273f2ba930d43a4469119ad58fe01eaed0e0d615ffb426", "0x18f1abfe1a07005f35a20c06b468f7a4d3b68ecc2c025c88271b6550a827d41b", - "0x268f759e38c9ff705a78c055b44e19f7d2b0227f3c4f2e31d6874550d498abec", - "0x09f661abe743a7c8125aa0498ca1d01914fdac9cadadb415e0d1a05934997b99", - "0x28650667b92be48b116289119fa4794a5fe8fe5792a49d89b9977feae7f685a6", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x250cea05d65b650bc11faa500fa1f37a16296eb5b39b3e19b292aa79cee316b4", + "0x21b9424e712ab7b467087e9f1c9ace17a7caa46d2e96b95fa0e136a68618d37e", + "0x130ead05bf8609707d66dc246899574c8d5f3f60fdc65b3affa4dfdd50c9c602", + "0x175bb0190a44c00aa0f83b47bd63259e980f01e24e9518b9bb8abd2c25e49a02" ] [inputs.parity_root.vk_data.vk] @@ -1099,62 +1099,62 @@ new_archive_sibling_path = [ [inputs.previous_rollup.public_inputs] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - accumulated_fees = "0x0000000000000000000000000000000000000000000000000022e452ad469ea0" - accumulated_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a3979" + accumulated_fees = "0x00000000000000000000000000000000000000000000000002449f1e83b9af00" + accumulated_mana_used = "0x000000000000000000000000000000000000000000000000000000000008992c" [inputs.previous_rollup.public_inputs.constants] - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" - protocol_contracts_hash = "0x0333160f082dfc02e255c756febac14dc42c4c88b882e0403d44710c1f0bb80f" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" + protocol_contracts_hash = "0x2947d6ab285fab4b2cde4c027aa22c2146ab8470fe246c99c958116105ad615e" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollup.public_inputs.constants.last_archive] - root = "0x24f3d6261780561e8ede638edf15d34d9f93372572631856307c57a08dfb9cb1" - next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" + root = "0x2d7278322ae3f2f02196f7b5eb323c037067b5a8bb27bb36e5936e01618b922e" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [inputs.previous_rollup.public_inputs.constants.l1_to_l2_tree_snapshot] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002c00" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [inputs.previous_rollup.public_inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - block_number = "0x000000000000000000000000000000000000000000000000000000000000000b" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000043" - timestamp = "0x0000000000000000000000000000000000000000000000000000000069fde108" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0b2d77" [inputs.previous_rollup.public_inputs.constants.global_variables.coinbase] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [inputs.previous_rollup.public_inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup.public_inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000003699e8ba0" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000004386faeb40" [inputs.previous_rollup.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x2126a6e400b3fae90b44b74482d5b59dc707ba8f044c90a5f0e06ff48029f19f" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" +root = "0x1ebd1f6284edfa586309202f29d58f8211b22ad55f0913e7a61e37e8f558c52b" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000001c0" [inputs.previous_rollup.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x0e8d32952999631ff527d706426177bdb3208db1d3b8dd4e74ba883610dc37e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" +root = "0x0c877a1bf89b9eae6a04511e6f74bfaa71157ae9e20aa265ec7fb092914f6726" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.previous_rollup.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x0d21d4944ca04ad548057c7362ba76b7370e29929fe9cdd32ec1d04c07e21179" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x21c0735ecdd66391ddb7fff9448a7973f1b8b4399648b1a150afb92d3a0d0ff5" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.previous_rollup.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x2126a6e400b3fae90b44b74482d5b59dc707ba8f044c90a5f0e06ff48029f19f" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" +root = "0x1ebd1f6284edfa586309202f29d58f8211b22ad55f0913e7a61e37e8f558c52b" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.previous_rollup.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x28f8d2b1f0315d8539c1e4ff651e2eaac034de0a2271cd6f198f557ecf449cb1" -next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000003c0" +root = "0x1e42767e9c9083af802ea9f53b7957180260f8a4cd73a99b61551c292f090fbe" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.previous_rollup.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x1a010e7a4312757d9349e0058c907064764c9836de016199dbd957ca46fefc3b" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x24d209b2c68b99743e478e8ff0ffe01bf8b627abb2c72b2d74253277ffbe26a0" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.previous_rollup.public_inputs.start_sponge_blob] num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1175,128 +1175,128 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 squeeze_mode = false [inputs.previous_rollup.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x000000000000000000000000000000000000000000000000000000000000000a" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000083" [inputs.previous_rollup.public_inputs.end_sponge_blob.sponge] cache = [ - "0x00000000000000000000000000000000000000000000021e00afaeb15ed67ca0", - "0x0000000000000000000000000000000000000000000000000000000000000af0", - "0x12d1296a2643b832fbd1d6d3ed3678833fce770084efd75adfd517de8214ccf3" + "0x000a00000b020b0c000a090c2400000c00000c1027010504012300000c3d2d00", + "0x0003052600000000000000000000000000000000000000000000000000000000", + "0x000100000304092d00030a2d00050b2300000c222d010a082d04080b00000a02" ] state = [ - "0x11cc4dd8716179a3121aa6820cf8805b0e65d61d2b958fe317a1ec807c461a21", - "0x0027ae2792755b030071ea296ff933c1fbc939538b5565420ed3e94832815961", - "0x20fa0000aefa41fd803dab187b732d999bc74c8fbd1093faea082ec34b9a2976", - "0x15a69510721f899245edece9d54fb2ab846e01ef0c7480c8a80c649d69839cbd" + "0x1136161b0a665262c6670f13fc5040fb92cb9e9d8788a3e9007001bdc43cee76", + "0x18aa9fc3a56d70689da90c5f45ccd7f24947674af768221cd37158e6464e7ea6", + "0x1a30cbb374bc6cbdf6fb5b69ab449abd42245f063d346c7e6ebf9a110a83325f", + "0x056dec8ddd7e8e484e5fc378ab54c3ef2c1b70c644fa27f94fe44506d0feec0e" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000001" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false [inputs.previous_rollup.vk_data] - leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" + leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" sibling_path = [ - "0x09b4bb0061881fc354c5fadf8dc55f36b0c67dc3b2f58a18406363dfa0b079fa", - "0x2136af42d41c58f3fd528f4e88c2de5152c2bb251a3c4d8950d4401a0c8ae6ff", - "0x02d4017a1d1c142d1fdf34bf701748bd9db29906e0114ac657648a51d10b6799", - "0x099ef6a9a40aaf85e056bda90684adf858addbb90af303d82f8157b86b705b92", - "0x25f6f5fc25ee815cef59a1889f1e39db3d431d01b01ee1554f9492afec9d41d6", - "0x28650667b92be48b116289119fa4794a5fe8fe5792a49d89b9977feae7f685a6", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x1ef80142d10a45fb61f3a4192d352f1d813530777b10ca6db9613ccf5d025640", + "0x0a2d5d1c88992fa153310bc96af4c750c81353526f8c7dfe2b069ed57136e696", + "0x1c3b50ab3c647b6d36f1830308d4542ce50afddf32694ad04eb0cd74c3745ac8", + "0x09ef85eaa102507d30f8dd98ca7ac4118e672d857aa409ddcbfcd5ead95566f9", + "0x1256e2d7faae3069ab6b6eeecdd2ca57f968531ba26c9523d7873d1c01d8a712", + "0x130ead05bf8609707d66dc246899574c8d5f3f60fdc65b3affa4dfdd50c9c602", + "0x175bb0190a44c00aa0f83b47bd63259e980f01e24e9518b9bb8abd2c25e49a02" ] [inputs.previous_rollup.vk_data.vk] key = [ - "0x0000000000000000000000000000000000000000000000000000000000000017", + "0x0000000000000000000000000000000000000000000000000000000000000016", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x0000000000000000000000000000008a8843c678d444ced3a35d87626e56ed9f", - "0x0000000000000000000000000000000000060403e4feb303ebae0081cbad4e96", - "0x000000000000000000000000000000f0fe138760bd40aadc43c77ad160555212", - "0x0000000000000000000000000000000000154e802ee66f7a511a469adb8153e5", - "0x00000000000000000000000000000012b75e2667d243bc4bb7b0cde3bdc5eefc", - "0x000000000000000000000000000000000013e94fa83017e580a2e280e4f8c376", - "0x000000000000000000000000000000fb8b3161040e7a5502bf277aec7b82cb6b", - "0x000000000000000000000000000000000014e7113349a6d4f2b0d3c9bde42075", - "0x0000000000000000000000000000006bc15064df220ad5d2fea722296bf72c99", - "0x00000000000000000000000000000000002039216ff43d16e0a63e542794decf", - "0x000000000000000000000000000000f0d3e00b510ae4272fbba83d787c7e6b6e", - "0x000000000000000000000000000000000022f73b00c62c39fc49fbffa96081da", - "0x0000000000000000000000000000000ff9f67bc7c9b90987dbed3fadf40bacc4", - "0x00000000000000000000000000000000001dc87bb292ea49bdb5bb87509c9781", - "0x00000000000000000000000000000025239c23a65572724acdd6663984afc224", - "0x000000000000000000000000000000000005e345da6870bd306f04558f601b45", - "0x000000000000000000000000000000cb380ac3dc3f8788bab24fcb5d9eedc949", - "0x000000000000000000000000000000000017714c1fab296b76d2f78ed675c1ce", - "0x00000000000000000000000000000095bca1a9f9a186f7ec34e43c479e5d1b2f", - "0x000000000000000000000000000000000018d292be64529b7e9ec24c76e561d9", - "0x0000000000000000000000000000006f1bd711730ae2aaf83227b9d9f46daa43", - "0x00000000000000000000000000000000002df0b894f5971084c0a65839178a66", - "0x000000000000000000000000000000909f2efe0bffa95e984d456089f568f59b", - "0x00000000000000000000000000000000002908f2c7ddf9573df347d6c9f22fde", + "0x0000000000000000000000000000003f557273f3723ac427671e7e0241709f42", + "0x00000000000000000000000000000000001a4c7c79f45cd9c3b2730b1014fb2c", + "0x000000000000000000000000000000a0758982a879da262fb5d4a283eb0b2fbd", + "0x00000000000000000000000000000000001cd980c7d658817fc07f56422786c8", + "0x0000000000000000000000000000001116c0ef394a159d7d04035e2d2b1df210", + "0x00000000000000000000000000000000001fc719cba8f7ef0eec1facb64807b8", + "0x00000000000000000000000000000030ae5b7a71f6a3350eb91e843430327027", + "0x000000000000000000000000000000000010623eeba8739fad768943b6a32cd7", + "0x00000000000000000000000000000075f511068970271dc3805b753a601ff6bf", + "0x0000000000000000000000000000000000087d083bd0a030d3e8d20a44cac510", + "0x0000000000000000000000000000008a1d365a7e9c0cdce156eefc77f82c324b", + "0x00000000000000000000000000000000000caa3c2fe3eec6d3abba790f3fdb0f", + "0x000000000000000000000000000000226b13400df89aa52dc04c9ba11ec76d0b", + "0x00000000000000000000000000000000000f98a2766e0e9bfae8946b711ef013", + "0x0000000000000000000000000000003795e58e429596f55168217c1397f38a8a", + "0x00000000000000000000000000000000002e1f8ca27b32c2497816dd49c983e2", + "0x00000000000000000000000000000024169a17177b075798734095f9cc8daf09", + "0x0000000000000000000000000000000000221931eec1149ebc68293392b42121", + "0x000000000000000000000000000000ba47588390fa3d72b699d8b0917b7e3406", + "0x00000000000000000000000000000000000e598a4916409aaf3745b4c6185f93", + "0x000000000000000000000000000000b749616c0462fced8081f284a03518d1a8", + "0x0000000000000000000000000000000000241ceb3abe3289083ce8c8c8bc28d0", + "0x0000000000000000000000000000001d9bd025c3e2e26266d41ff2e384400b47", + "0x00000000000000000000000000000000001e259846a94808bed66227cf262eff", "0x0000000000000000000000000000006f206a04895661d3bd004222a1f8a7fc73", "0x00000000000000000000000000000000001b12a59a820d3aa543a594a1b9d92f", "0x0000000000000000000000000000002103559842aca1e08af33bb1f714ebc02a", "0x00000000000000000000000000000000001b8936a0be628b58af9859c2a851d1", - "0x000000000000000000000000000000d2c67f3c526e05aa6d25558ae65cf0e3ac", - "0x000000000000000000000000000000000006cc97b785475ed3429d939fa00e96", - "0x000000000000000000000000000000c5240a725c016a35037b37f73c37b68de9", - "0x000000000000000000000000000000000015e6206f121de2aafe259c32889a4b", - "0x0000000000000000000000000000004cba3ce39736c272ff963bdbdfcb67c2ef", - "0x0000000000000000000000000000000000243b3786310485c3234295957c5222", - "0x0000000000000000000000000000002c3672eaf01e849995fc3f6dc99dcd1d60", - "0x00000000000000000000000000000000001449e8673b109f980a1542f1ddd670", - "0x000000000000000000000000000000f077af86375782052dfc713a0c67f9a08b", - "0x0000000000000000000000000000000000124108d868884e76f5ceeb60b2bdae", - "0x00000000000000000000000000000029c3fd985c5dd5867bd8fed36ad940e02d", - "0x0000000000000000000000000000000000146fedc34ca9246ab0df070f31ee14", - "0x000000000000000000000000000000706a32f5a8f5fa44205bb08662e0ef1396", - "0x000000000000000000000000000000000016ded7f7f0b72d3ecf256f5c2ee613", - "0x0000000000000000000000000000002eaf856304cdbbb4d0b926d9c9211028c0", - "0x000000000000000000000000000000000004696250db37878179b548105ff54e", - "0x000000000000000000000000000000047767298e4177562ddcbcae03c7ec6ccc", - "0x00000000000000000000000000000000001f29f52f5f45f28e462390b0f914f9", - "0x00000000000000000000000000000004e950f9459bf160429275bc6a733319ea", - "0x0000000000000000000000000000000000175f23657f8f899b10b84c1ffe432c", - "0x0000000000000000000000000000006e522620788963bd42d9ab48810f89afe4", - "0x00000000000000000000000000000000002243c76dbde36a37e42b92bae3eb16", - "0x0000000000000000000000000000005641fbcbddd5abb62d653fd7f1ed10ed7e", - "0x000000000000000000000000000000000007d25e6a46da918fdb902e1a78efb4", - "0x00000000000000000000000000000065f7509bb551cb061c5fd1e92bc85a4974", - "0x00000000000000000000000000000000002efbc0dd9b88baa9675d95ae595e68", - "0x00000000000000000000000000000046bdd1d7603fdb2ee53f8966b3069082a5", - "0x0000000000000000000000000000000000161d3346daa3f83e4416d59e8135b6", - "0x000000000000000000000000000000ec124a53466d06b5e0df3e77f9f6a6ae15", - "0x0000000000000000000000000000000000128b36a77e814ffa503da6fd061fc3", - "0x0000000000000000000000000000002cfa5f8d00fe2bbdd85db6b0179a4c7346", - "0x00000000000000000000000000000000002b7ce5f45710c4b113f7ca6b3291b0", - "0x00000000000000000000000000000054409cb824bb2028eb6a501f9585b13eda", - "0x000000000000000000000000000000000026412333aa334f56e0761374f0c38b", - "0x0000000000000000000000000000002a23ae58cbd13760028a699488d5a4300f", - "0x0000000000000000000000000000000000225067a42bdcd7d9eec23d250acc92", - "0x0000000000000000000000000000006e28e63b7d6bc65c15c009f5dd9304f8fd", - "0x00000000000000000000000000000000002648ab0c9cfefbb147853e364bef8d", - "0x000000000000000000000000000000f00a9e6c1594965b7c14b2310b489b52f9", - "0x00000000000000000000000000000000000a03f4283d5d64b7245827349741ee", - "0x00000000000000000000000000000073f3c5531dc194b7332ef4e765192e3962", - "0x0000000000000000000000000000000000088b01c6cab84d827c1d8eae1ebbbd", - "0x000000000000000000000000000000e197f3a024045bec491c28fc4b7594347b", - "0x000000000000000000000000000000000025bf29aee6c0dd8976574600dfacea", - "0x00000000000000000000000000000023cebfa19e1e206b1d71359821037c31b7", - "0x00000000000000000000000000000000000c2354b63a0bcd72350e606c3fa0e7", - "0x000000000000000000000000000000fcf564b220543fd0aea7b28c05df85fe3a", - "0x00000000000000000000000000000000000c2f035d78985f2c0e4ab138790e69", - "0x0000000000000000000000000000005129d16313e897118223bd963067e22700", - "0x000000000000000000000000000000000004c87b337be4b82e809af637daef82", - "0x000000000000000000000000000000279941b3633c9a8e9fc6e68ef4be5633f4", - "0x00000000000000000000000000000000002a9334f2cfa791a9bbc88cc234a5d2", - "0x000000000000000000000000000000ab1a8db808cb2b1b90ba26085c23154102", - "0x00000000000000000000000000000000002c04e8fdbd1f2154a1b42961e3b6b5", - "0x0000000000000000000000000000005729f9b6dcfc45fa934c44ad8800e2b7c6", - "0x00000000000000000000000000000000002c584d4df5aaa602e46e5033408d64", - "0x0000000000000000000000000000004daf206a533411e7b39ab99acaf3287ca2", - "0x000000000000000000000000000000000020d85db8daa0dd9c83ceda296cbe73", - "0x000000000000000000000000000000ab6d868729c089d55819b59b1df10e26ce", - "0x000000000000000000000000000000000004b5421430befd61f014813d315ade", + "0x0000000000000000000000000000005eab99fc5c34cd0a9cf32bc53d04beea68", + "0x00000000000000000000000000000000002eea4190ba69ef934f8be916a217a9", + "0x0000000000000000000000000000005429ed84e5768b172fc483197bcfb786df", + "0x00000000000000000000000000000000000387e378a43d625a53900bde3ff4ad", + "0x0000000000000000000000000000006073a1bf82ba61c51ce96d6cb7030a22b4", + "0x00000000000000000000000000000000001ebaecf236ff2932e24e68d8e1be3b", + "0x00000000000000000000000000000006abf6369ec441190fb054e33c764fb032", + "0x00000000000000000000000000000000001bdbd38b557395b30427017524ba12", + "0x0000000000000000000000000000001d7bb00201b0efb3035f5048c3df84c772", + "0x000000000000000000000000000000000024548bcd56a9ef16c14feae610f806", + "0x000000000000000000000000000000e5655012ed18fcd1d8e339226dd0ba4078", + "0x0000000000000000000000000000000000227c2110109edbbc3955d0465bbc22", + "0x0000000000000000000000000000007bf8464ca9aa703f1e8a25d6e20221d3e9", + "0x000000000000000000000000000000000024963361ceb6d7756c3c2c42a845fe", + "0x00000000000000000000000000000048c96ec4485788f3ccdc37c4ae2a71f1a4", + "0x0000000000000000000000000000000000262b455b6cd2796327e461304e18f7", + "0x000000000000000000000000000000f750d5b7b2337529d40ced8d774f0283e6", + "0x0000000000000000000000000000000000120ef244fda086bafa6f4eccaf97fd", + "0x000000000000000000000000000000fc90ae3789baa78d1d13220b4f34c98f4e", + "0x00000000000000000000000000000000000d60e7b02c8af3cfd72fe199d6a8f6", + "0x0000000000000000000000000000000b9c9b15d9b55b4a49d449b2cd9dbf2dc2", + "0x0000000000000000000000000000000000129d1259178a85eee0f4d95edf2756", + "0x000000000000000000000000000000e8f0abccd4a45c69a68832f6ef8851f04a", + "0x00000000000000000000000000000000000b977396722d8361fecf325e0e32bc", + "0x000000000000000000000000000000645575d035dbf0dc7a5012097524a972d3", + "0x00000000000000000000000000000000001b4b534173d70982fcd6c9544d725d", + "0x0000000000000000000000000000000410cceb82ec7354128465ac80a1ffa862", + "0x00000000000000000000000000000000002acddfed4a484b2d862b4ca275b4d7", + "0x00000000000000000000000000000022d1618e485430a15465e219a117d3edfe", + "0x000000000000000000000000000000000007b06e6eb92e0b7a34acf20a1369f8", + "0x000000000000000000000000000000e856ca1b174973f3af5310a7e38cb305e6", + "0x000000000000000000000000000000000010be0fec1c7598a1c63ec216db4681", + "0x000000000000000000000000000000f0639c87f66ace434ddb4fe65ab243bfde", + "0x00000000000000000000000000000000000c3c99921dee4f0506f5127627f327", + "0x000000000000000000000000000000aa1c283b5ed1b8b43addafd2bb63ecf30d", + "0x00000000000000000000000000000000002b9dc475b4a10275550d8b8d8fbe3b", + "0x00000000000000000000000000000032af5ee654ac1bb41937bb3add8e38ba3e", + "0x00000000000000000000000000000000001491fed9838cf1fe30a73db7421ab1", + "0x0000000000000000000000000000007c9bcd4ba41aac07ea382a61e7b79bc6dd", + "0x0000000000000000000000000000000000064fbc9678a0191e9974927405e063", + "0x000000000000000000000000000000cf990fc7f643af435bd552d6c21f4f12d9", + "0x0000000000000000000000000000000000170bb10fc59004dae5b55d43a9f478", + "0x00000000000000000000000000000019a1d0ed8d637f1c2afba5fdd385d5fcd2", + "0x00000000000000000000000000000000001aeb885acef6da1ab84b4be20c558c", + "0x000000000000000000000000000000a11da3a0f3c7903c1b8119a3727c1d92a6", + "0x0000000000000000000000000000000000054448cc8cc704196f0ee4b52a9d63", + "0x0000000000000000000000000000000e44ab863c917d81428b86f84af8cd1a25", + "0x000000000000000000000000000000000024d7a2087fcd46a69fd94e824dfff2", + "0x0000000000000000000000000000009f11cf3ef8d440c8e83a8eacfe48155eaf", + "0x0000000000000000000000000000000000255afe02ffbc3178db86e228039ff5", + "0x0000000000000000000000000000004a9ad3947e4b5066ad0b4a731d994fa3a4", + "0x0000000000000000000000000000000000092b00146ab98c77c752c32098468c", + "0x000000000000000000000000000000165a72693efa48c7ecebf3f1fea42db4a6", + "0x00000000000000000000000000000000002e108deabceced2338790d19ba16b2", + "0x0000000000000000000000000000001722f48e7ed1f6f73faaf4007e165811f2", + "0x00000000000000000000000000000000002d43d6af66193fced48fd6f89e74f8", + "0x000000000000000000000000000000ac5108d90de1d0e6ce3d6186c769e8b2aa", + "0x00000000000000000000000000000000000de8c8ad0bfcca457220d03c5eb698", + "0x000000000000000000000000000000ab4c7dff5c06e3ad269e8e48dcb13f0a20", + "0x0000000000000000000000000000000000139a57f59fdf3ec29554b9179adc03", "0x0000000000000000000000000000005eefcb3c6f69064ed55425945fcc74c2bc", "0x00000000000000000000000000000000001613278bd29c20c182e6f3b5e367ce", "0x0000000000000000000000000000006c39d4dd8c65752b9bc2628fcc3dbf415c", @@ -1317,13 +1317,13 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000002a56ce41f6b0be13b9c26747621b82", "0x000000000000000000000000000000d5827d6338c78656c0d12ca1aea6ef2c7c", "0x00000000000000000000000000000000001aa98f2de3ddda547d8f6de4e725de", - "0x000000000000000000000000000000bd9c096acdaa162e6c7ee9b718f7fbf759", - "0x00000000000000000000000000000000002c70947eefbeb3fcbc1953b2ccb88f", - "0x00000000000000000000000000000045e09e50b539ce6228369e4b4cb8530ce0", - "0x0000000000000000000000000000000000062cf2c7d023a38df32e6c8c04a8c1" + "0x00000000000000000000000000000027dd7a7146d1c4ff9332e930ec54b6ea2e", + "0x0000000000000000000000000000000000251eb2367a907e55626a07bbea7e2b", + "0x000000000000000000000000000000ed074fc7f9cd09872a83d8c368c93a0725", + "0x00000000000000000000000000000000002621701db780a70b161ef185f06af9" ] - hash = "0x208d8b1ad2d688325416c8a23881e8b14753352851d7740b339ea2ebd455cdcc" + hash = "0x0a7fb889325f39bec13ee8f853c529ad8458c39c703cf4277c5b066d8d2eee15" [inputs.previous_l1_to_l2] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002800" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000001c00" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first/Prover.toml index 969d8532627b..c6438c29451a 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first/Prover.toml @@ -28,10 +28,10 @@ new_l1_to_l2_message_subtree_root_sibling_path = [ "0x0aced6fe68143f4c7acd16345a8c1bb50c51a0692b760eb48728feb923d90757" ] new_archive_sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x1cfdc3f191fd4278971f73de8ee4302bd29051bb0c93c1ba7a8a7feaa4e59846", + "0x02963c966fa7ce35d09c6efedc0319a95890e2e43d65e589e1554b9297826ced", + "0x171c3c9d071c144fac4784c5f2ccea6e9164bf047088712fc7b8e4d5a68cf235", "0x14e4b977b2203b70e6ee1c2456eb7114d090fe4b907f631eecd0919fed432e7d", - "0x2b3b2f80ea4227dfe7ab4edec33942ff08b95b023d6d15efb0abde90594c993b", + "0x08ead7d93a6e0ab74b47c029605a16640557a4c3e830a2f6294aea4559e5325d", "0x1e20ad4181460cbfdc74ca773502c59b890f184efe300ebad895956d318422da", "0x1434e6e2d5db1053ab8a3be58704509c799ee17e109c77f441f7bf1755400249", "0x119f56a2e8423a7feaab49b9b5dcbadec0648dfa4096b61b6774ea33ae29dc7f", @@ -477,19 +477,19 @@ new_archive_sibling_path = [ [inputs.parity_root.public_inputs] sha_root = "0x00de7b349d2306334734e4f58b1302a6ed5a6c796a706f6597a5641b6d468223" converted_root = "0x0d04c63f36bd168215c9b09a227c7e8d3ad48e2f11b8202fd07c524bd30ee88f" - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.parity_root.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000016" sibling_path = [ - "0x03c2794698e7be6401d02011dc2296136a6aeb5a9ea3e6d244ece148cf45e1d0", + "0x1fd3c3c6e02265cacc9ce121274750908e476487f11894bf5fecd63e8782786e", "0x2ba2de2d2cb820a66a273f2ba930d43a4469119ad58fe01eaed0e0d615ffb426", "0x18f1abfe1a07005f35a20c06b468f7a4d3b68ecc2c025c88271b6550a827d41b", - "0x268f759e38c9ff705a78c055b44e19f7d2b0227f3c4f2e31d6874550d498abec", - "0x09f661abe743a7c8125aa0498ca1d01914fdac9cadadb415e0d1a05934997b99", - "0x28650667b92be48b116289119fa4794a5fe8fe5792a49d89b9977feae7f685a6", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x250cea05d65b650bc11faa500fa1f37a16296eb5b39b3e19b292aa79cee316b4", + "0x21b9424e712ab7b467087e9f1c9ace17a7caa46d2e96b95fa0e136a68618d37e", + "0x130ead05bf8609707d66dc246899574c8d5f3f60fdc65b3affa4dfdd50c9c602", + "0x175bb0190a44c00aa0f83b47bd63259e980f01e24e9518b9bb8abd2c25e49a02" ] [inputs.parity_root.vk_data.vk] @@ -1099,31 +1099,31 @@ new_archive_sibling_path = [ [inputs.previous_rollups.public_inputs] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000002" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - accumulated_fees = "0x00000000000000000000000000000000000000000000000000885bb87af2ece0" - accumulated_mana_used = "0x00000000000000000000000000000000000000000000000000000000001210e5" + accumulated_fees = "0x0000000000000000000000000000000000000000000000000083c454635e0920" + accumulated_mana_used = "0x000000000000000000000000000000000000000000000000000000000011752b" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" - protocol_contracts_hash = "0x0333160f082dfc02e255c756febac14dc42c4c88b882e0403d44710c1f0bb80f" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" + protocol_contracts_hash = "0x2947d6ab285fab4b2cde4c027aa22c2146ab8470fe246c99c958116105ad615e" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.constants.last_archive] - root = "0x25dd04dc7f0a4299651ea908c014de487c4be771db4d68b458d16aa041af02ba" - next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" + root = "0x164e208dc9944fbd2d066b942b2d8d46c2c8818ca65c808dcdaa555f43f1de9a" + next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" [inputs.previous_rollups.public_inputs.constants.l1_to_l2_tree_snapshot] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002800" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002c00" [inputs.previous_rollups.public_inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - block_number = "0x000000000000000000000000000000000000000000000000000000000000000a" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000042" - timestamp = "0x0000000000000000000000000000000000000000000000000000000069fde0c0" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + block_number = "0x000000000000000000000000000000000000000000000000000000000000000b" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000025" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0b2e4f" [inputs.previous_rollups.public_inputs.constants.global_variables.coinbase] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [inputs.previous_rollups.public_inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1133,28 +1133,28 @@ new_archive_sibling_path = [ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" [inputs.previous_rollups.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x11ea69a14ea9c12bed3f481dd61addfb2d90d96aa40b626c4d2e47b3466e7b88" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" +root = "0x2d172b57477efffd52c4725031d5f351fe4b85137ca4a7121c486b7a6354f637" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.previous_rollups.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x10e14d1e03084d8016d8018077d4e629cb58cbf3139897cdd78db40c002a04d7" -next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" +root = "0x0a8a1e4bcc4ca37ba1c0e2fcb5e41bc311a5e6b619df6801f0c66240b9614b22" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" [inputs.previous_rollups.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x1410b6658243b878037c23a953c69c3a138fdf38373efa0662a549111364b310" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x2d36c4289f1a8a4595fd6c28fc83a76c3ebe1112a192448aa6b8400c8d1bc260" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.previous_rollups.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x2126a6e400b3fae90b44b74482d5b59dc707ba8f044c90a5f0e06ff48029f19f" -next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" +root = "0x17220b63d32aab917a748a18b8074aff52332c70604bcad27008d4867e2feea8" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" [inputs.previous_rollups.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x26fd6ffebb711b7b1d916a895bb8bf3c6b5fc915b1e5a22db0fb801072027d80" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" +root = "0x082091a51b72ed76964eecd0505df5c335ce81a43e8f39055f31498364687c7a" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" [inputs.previous_rollups.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x2cef7e5e25fb54c99feb0d6fbc5bb44eb98d00d3022f4baf5e3f6025a7320293" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x2ee93e7bf272c4871c6ea3459ba1e3cfb0a00ee0432439a6095280b78ed82244" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.previous_rollups.public_inputs.start_sponge_blob] num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1175,33 +1175,33 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 squeeze_mode = false [inputs.previous_rollups.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000047" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000045" [inputs.previous_rollups.public_inputs.end_sponge_blob.sponge] cache = [ - "0x2a44787960631c708a6c54319236e2733f5bf18956a780d4f076e06d46e8c52f", - "0x21c2f9acd4cfd49d3570c4429b45c6dcf5658ac7592091682403c9468c8fbfc5", - "0x089c49b97c1e121fc3d9c0d7f3793cdd886de1fb26e735edbdae3790abaedd66" + "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2", + "0x041ecbe21bbbbefd34a95c40b18be9f5fca1323072eeea3a6f5d0136c2a71969", + "0x00000000000000000000000000000000000000000000021e012495ef5cfd1660" ] state = [ - "0x0b196378726e6d2cbd4d793963bdda8cc494c766409365f6a0f3b9f8e2e2c277", - "0x29906675cd547621ba2ccf000d609acec4b304b7b4d929f9e586687d92c311a9", - "0x17ecd8ac459a19c262c431de5d01f6726a3b03485399398d69165cc195454006", - "0x254280886c6baee6bfedb4dae9055f680574d4b1bb6a4245fb1f24c70eedaa76" + "0x22ea2f893e011e4e7eee01b158986dc9992f64040159170bcb324eae3e034b97", + "0x06a52127441effdec8d468b67c99f1845277ff28156fa7e2abc426c475b77e5a", + "0x27ce40389262fdebb78d0324fb312c0cbf88401e5c7b144c75ba81aaced2ec9c", + "0x0e692e75fdd9a570ffb576fd43504909483cbe4ee5d110f8d2d63bb4478a30dd" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" sibling_path = [ - "0x208d8b1ad2d688325416c8a23881e8b14753352851d7740b339ea2ebd455cdcc", + "0x25f3ed562872c5e18abd2b9c6d87543b21886af47c7a714c99e78776bae18397", "0x2136af42d41c58f3fd528f4e88c2de5152c2bb251a3c4d8950d4401a0c8ae6ff", "0x02d4017a1d1c142d1fdf34bf701748bd9db29906e0114ac657648a51d10b6799", - "0x099ef6a9a40aaf85e056bda90684adf858addbb90af303d82f8157b86b705b92", - "0x25f6f5fc25ee815cef59a1889f1e39db3d431d01b01ee1554f9492afec9d41d6", - "0x28650667b92be48b116289119fa4794a5fe8fe5792a49d89b9977feae7f685a6", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x24cead94db344ae1716301e94784822099e114c4deaddb78f16e8724ee376aaa", + "0x1256e2d7faae3069ab6b6eeecdd2ca57f968531ba26c9523d7873d1c01d8a712", + "0x130ead05bf8609707d66dc246899574c8d5f3f60fdc65b3affa4dfdd50c9c602", + "0x175bb0190a44c00aa0f83b47bd63259e980f01e24e9518b9bb8abd2c25e49a02" ] [inputs.previous_rollups.vk_data.vk] @@ -1811,31 +1811,31 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.public_inputs] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - accumulated_fees = "0x000000000000000000000000000000000000000000000000004894bc72b69ca0" - accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000099dbf" + accumulated_fees = "0x000000000000000000000000000000000000000000000000004d2c208a4b8060" + accumulated_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a3979" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" - protocol_contracts_hash = "0x0333160f082dfc02e255c756febac14dc42c4c88b882e0403d44710c1f0bb80f" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" + protocol_contracts_hash = "0x2947d6ab285fab4b2cde4c027aa22c2146ab8470fe246c99c958116105ad615e" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.constants.last_archive] - root = "0x25dd04dc7f0a4299651ea908c014de487c4be771db4d68b458d16aa041af02ba" - next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" + root = "0x164e208dc9944fbd2d066b942b2d8d46c2c8818ca65c808dcdaa555f43f1de9a" + next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" [inputs.previous_rollups.public_inputs.constants.l1_to_l2_tree_snapshot] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002800" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002c00" [inputs.previous_rollups.public_inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - block_number = "0x000000000000000000000000000000000000000000000000000000000000000a" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000042" - timestamp = "0x0000000000000000000000000000000000000000000000000000000069fde0c0" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + block_number = "0x000000000000000000000000000000000000000000000000000000000000000b" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000025" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0b2e4f" [inputs.previous_rollups.public_inputs.constants.global_variables.coinbase] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [inputs.previous_rollups.public_inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1845,45 +1845,45 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" [inputs.previous_rollups.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x2126a6e400b3fae90b44b74482d5b59dc707ba8f044c90a5f0e06ff48029f19f" -next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" +root = "0x17220b63d32aab917a748a18b8074aff52332c70604bcad27008d4867e2feea8" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" [inputs.previous_rollups.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x26fd6ffebb711b7b1d916a895bb8bf3c6b5fc915b1e5a22db0fb801072027d80" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" +root = "0x082091a51b72ed76964eecd0505df5c335ce81a43e8f39055f31498364687c7a" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" [inputs.previous_rollups.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x2cef7e5e25fb54c99feb0d6fbc5bb44eb98d00d3022f4baf5e3f6025a7320293" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x2ee93e7bf272c4871c6ea3459ba1e3cfb0a00ee0432439a6095280b78ed82244" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.previous_rollups.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x2126a6e400b3fae90b44b74482d5b59dc707ba8f044c90a5f0e06ff48029f19f" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" +root = "0x17220b63d32aab917a748a18b8074aff52332c70604bcad27008d4867e2feea8" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" [inputs.previous_rollups.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x0e8d32952999631ff527d706426177bdb3208db1d3b8dd4e74ba883610dc37e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" +root = "0x1cfed5fd7ef032befae488393236dfabcdca928fd71b5775b02eeeca5952b149" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000003c0" [inputs.previous_rollups.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x0d21d4944ca04ad548057c7362ba76b7370e29929fe9cdd32ec1d04c07e21179" +root = "0x17809078aea757181529cc251693b3402311164785b07da22da983ca02d24ffa" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollups.public_inputs.start_sponge_blob] - num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000047" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000045" [inputs.previous_rollups.public_inputs.start_sponge_blob.sponge] cache = [ - "0x2a44787960631c708a6c54319236e2733f5bf18956a780d4f076e06d46e8c52f", - "0x21c2f9acd4cfd49d3570c4429b45c6dcf5658ac7592091682403c9468c8fbfc5", - "0x089c49b97c1e121fc3d9c0d7f3793cdd886de1fb26e735edbdae3790abaedd66" + "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2", + "0x041ecbe21bbbbefd34a95c40b18be9f5fca1323072eeea3a6f5d0136c2a71969", + "0x00000000000000000000000000000000000000000000021e012495ef5cfd1660" ] state = [ - "0x0b196378726e6d2cbd4d793963bdda8cc494c766409365f6a0f3b9f8e2e2c277", - "0x29906675cd547621ba2ccf000d609acec4b304b7b4d929f9e586687d92c311a9", - "0x17ecd8ac459a19c262c431de5d01f6726a3b03485399398d69165cc195454006", - "0x254280886c6baee6bfedb4dae9055f680574d4b1bb6a4245fb1f24c70eedaa76" + "0x22ea2f893e011e4e7eee01b158986dc9992f64040159170bcb324eae3e034b97", + "0x06a52127441effdec8d468b67c99f1845277ff28156fa7e2abc426c475b77e5a", + "0x27ce40389262fdebb78d0324fb312c0cbf88401e5c7b144c75ba81aaced2ec9c", + "0x0e692e75fdd9a570ffb576fd43504909483cbe4ee5d110f8d2d63bb4478a30dd" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false [inputs.previous_rollups.public_inputs.end_sponge_blob] @@ -1891,15 +1891,15 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.public_inputs.end_sponge_blob.sponge] cache = [ - "0x00000000000000000000000000000000000000000000021e00d293040c1d1b40", - "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec", - "0x12d1296a2643b832fbd1d6d3ed3678833fce770084efd75adfd517de8214ccf3" + "0x00000000000000000000000000000000000000000000021e00d769ced2b19600", + "0x00000000000000000000000000000000000000000000000000000000000003e8", + "0x041ecbe21bbbbefd34a95c40b18be9f5fca1323072eeea3a6f5d0136c2a71969" ] state = [ - "0x046ca01947e306f5aad217a20c357e8720e466bf48af683e5dc034abe73721f0", - "0x14686ac6e82fd9bd26ab09d349ce45506d9c0d1dee28a4967817015ea73b887b", - "0x0b7d5bc95988dfda6650240e060e449c0ec3d312f8da80bd59a897a3ce57c1ee", - "0x1ea8a35effe09689490c7037df5f38ebfc4f6641047f2e4bcab5542979b4667c" + "0x1bc609f7dcef364685bb5064b63088b4b176e64477bcb8a59d1c5d75ecf2daa8", + "0x034e84257006a2e620593aa7b0d53b07c9241554a3c0758e9e8d3dd4dbb7fb69", + "0x0ea57cf50569254eb0b5e0a6bc854a45fd90dc63bbfc989ac9aab7b658b90219", + "0x09602775b5f377f951b58721d32a2e6596705625a417c0dbf308d84edb29d9df" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000001" squeeze_mode = false @@ -1910,10 +1910,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x09b4bb0061881fc354c5fadf8dc55f36b0c67dc3b2f58a18406363dfa0b079fa", "0x2136af42d41c58f3fd528f4e88c2de5152c2bb251a3c4d8950d4401a0c8ae6ff", "0x02d4017a1d1c142d1fdf34bf701748bd9db29906e0114ac657648a51d10b6799", - "0x099ef6a9a40aaf85e056bda90684adf858addbb90af303d82f8157b86b705b92", - "0x25f6f5fc25ee815cef59a1889f1e39db3d431d01b01ee1554f9492afec9d41d6", - "0x28650667b92be48b116289119fa4794a5fe8fe5792a49d89b9977feae7f685a6", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x24cead94db344ae1716301e94784822099e114c4deaddb78f16e8724ee376aaa", + "0x1256e2d7faae3069ab6b6eeecdd2ca57f968531ba26c9523d7873d1c01d8a712", + "0x130ead05bf8609707d66dc246899574c8d5f3f60fdc65b3affa4dfdd50c9c602", + "0x175bb0190a44c00aa0f83b47bd63259e980f01e24e9518b9bb8abd2c25e49a02" ] [inputs.previous_rollups.vk_data.vk] @@ -1921,94 +1921,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x0000000000000000000000000000008a8843c678d444ced3a35d87626e56ed9f", - "0x0000000000000000000000000000000000060403e4feb303ebae0081cbad4e96", - "0x000000000000000000000000000000f0fe138760bd40aadc43c77ad160555212", - "0x0000000000000000000000000000000000154e802ee66f7a511a469adb8153e5", - "0x00000000000000000000000000000012b75e2667d243bc4bb7b0cde3bdc5eefc", - "0x000000000000000000000000000000000013e94fa83017e580a2e280e4f8c376", - "0x000000000000000000000000000000fb8b3161040e7a5502bf277aec7b82cb6b", - "0x000000000000000000000000000000000014e7113349a6d4f2b0d3c9bde42075", - "0x0000000000000000000000000000006bc15064df220ad5d2fea722296bf72c99", - "0x00000000000000000000000000000000002039216ff43d16e0a63e542794decf", - "0x000000000000000000000000000000f0d3e00b510ae4272fbba83d787c7e6b6e", - "0x000000000000000000000000000000000022f73b00c62c39fc49fbffa96081da", - "0x0000000000000000000000000000000ff9f67bc7c9b90987dbed3fadf40bacc4", - "0x00000000000000000000000000000000001dc87bb292ea49bdb5bb87509c9781", - "0x00000000000000000000000000000025239c23a65572724acdd6663984afc224", - "0x000000000000000000000000000000000005e345da6870bd306f04558f601b45", - "0x000000000000000000000000000000cb380ac3dc3f8788bab24fcb5d9eedc949", - "0x000000000000000000000000000000000017714c1fab296b76d2f78ed675c1ce", - "0x00000000000000000000000000000095bca1a9f9a186f7ec34e43c479e5d1b2f", - "0x000000000000000000000000000000000018d292be64529b7e9ec24c76e561d9", - "0x0000000000000000000000000000006f1bd711730ae2aaf83227b9d9f46daa43", - "0x00000000000000000000000000000000002df0b894f5971084c0a65839178a66", - "0x000000000000000000000000000000909f2efe0bffa95e984d456089f568f59b", - "0x00000000000000000000000000000000002908f2c7ddf9573df347d6c9f22fde", + "0x000000000000000000000000000000b545d833a3cc9654dc3778c8fc7ba02260", + "0x00000000000000000000000000000000001b66ea392ccb7834c732bf86004463", + "0x00000000000000000000000000000085d1593162873215b0b41c64cb7cb0f3dd", + "0x0000000000000000000000000000000000137f2cf2c8141ddf32dc7895df5a91", + "0x00000000000000000000000000000015bd11a0a68a9fa3cb97d7b377340600a0", + "0x00000000000000000000000000000000001c98939c525c07b9dc35242a7c7552", + "0x000000000000000000000000000000cc31fdbc0ca878839693b87eee464d9f98", + "0x00000000000000000000000000000000002ba8d519b16b09c6af76887171a8bf", + "0x0000000000000000000000000000009a381e1beac98b23aeaee28a9046ac5ad9", + "0x00000000000000000000000000000000000aef8131f15aa3d0ba42d130678428", + "0x0000000000000000000000000000005f188d32071b43a3bd819e75c138f643e0", + "0x00000000000000000000000000000000002f02065d3e3a5ef4fdd72b9e71a6db", + "0x0000000000000000000000000000000562756bd3ba24529dde902ebf387674a2", + "0x00000000000000000000000000000000000d69752978cb2604a8f5976fa5b2aa", + "0x0000000000000000000000000000002d4785d1c39f767ca2489e57956e264037", + "0x00000000000000000000000000000000000eb3abc7015aef51cad0792c015bfb", + "0x000000000000000000000000000000feb4eee7085cf9c45105254a02f9265e10", + "0x00000000000000000000000000000000000beb9239680b506079e5cda03a9cdf", + "0x000000000000000000000000000000f6d0ed07f67728bfc43ac279ee33b4f6a5", + "0x0000000000000000000000000000000000130de3209e04190412baf56475a662", + "0x0000000000000000000000000000005ba14f0dd0b7766fb3855b36587341a777", + "0x000000000000000000000000000000000008d2a5bc2cebd4e7b9696c3aaee35d", + "0x0000000000000000000000000000000d8ca8b57e8aefe0252ffd103e1d3a2b94", + "0x0000000000000000000000000000000000084daf23a4d3af94ab98db652895c2", "0x0000000000000000000000000000006f206a04895661d3bd004222a1f8a7fc73", "0x00000000000000000000000000000000001b12a59a820d3aa543a594a1b9d92f", "0x0000000000000000000000000000002103559842aca1e08af33bb1f714ebc02a", "0x00000000000000000000000000000000001b8936a0be628b58af9859c2a851d1", - "0x000000000000000000000000000000d2c67f3c526e05aa6d25558ae65cf0e3ac", - "0x000000000000000000000000000000000006cc97b785475ed3429d939fa00e96", - "0x000000000000000000000000000000c5240a725c016a35037b37f73c37b68de9", - "0x000000000000000000000000000000000015e6206f121de2aafe259c32889a4b", - "0x0000000000000000000000000000004cba3ce39736c272ff963bdbdfcb67c2ef", - "0x0000000000000000000000000000000000243b3786310485c3234295957c5222", - "0x0000000000000000000000000000002c3672eaf01e849995fc3f6dc99dcd1d60", - "0x00000000000000000000000000000000001449e8673b109f980a1542f1ddd670", - "0x000000000000000000000000000000f077af86375782052dfc713a0c67f9a08b", - "0x0000000000000000000000000000000000124108d868884e76f5ceeb60b2bdae", - "0x00000000000000000000000000000029c3fd985c5dd5867bd8fed36ad940e02d", - "0x0000000000000000000000000000000000146fedc34ca9246ab0df070f31ee14", - "0x000000000000000000000000000000706a32f5a8f5fa44205bb08662e0ef1396", - "0x000000000000000000000000000000000016ded7f7f0b72d3ecf256f5c2ee613", - "0x0000000000000000000000000000002eaf856304cdbbb4d0b926d9c9211028c0", - "0x000000000000000000000000000000000004696250db37878179b548105ff54e", - "0x000000000000000000000000000000047767298e4177562ddcbcae03c7ec6ccc", - "0x00000000000000000000000000000000001f29f52f5f45f28e462390b0f914f9", - "0x00000000000000000000000000000004e950f9459bf160429275bc6a733319ea", - "0x0000000000000000000000000000000000175f23657f8f899b10b84c1ffe432c", - "0x0000000000000000000000000000006e522620788963bd42d9ab48810f89afe4", - "0x00000000000000000000000000000000002243c76dbde36a37e42b92bae3eb16", - "0x0000000000000000000000000000005641fbcbddd5abb62d653fd7f1ed10ed7e", - "0x000000000000000000000000000000000007d25e6a46da918fdb902e1a78efb4", - "0x00000000000000000000000000000065f7509bb551cb061c5fd1e92bc85a4974", - "0x00000000000000000000000000000000002efbc0dd9b88baa9675d95ae595e68", - "0x00000000000000000000000000000046bdd1d7603fdb2ee53f8966b3069082a5", - "0x0000000000000000000000000000000000161d3346daa3f83e4416d59e8135b6", - "0x000000000000000000000000000000ec124a53466d06b5e0df3e77f9f6a6ae15", - "0x0000000000000000000000000000000000128b36a77e814ffa503da6fd061fc3", - "0x0000000000000000000000000000002cfa5f8d00fe2bbdd85db6b0179a4c7346", - "0x00000000000000000000000000000000002b7ce5f45710c4b113f7ca6b3291b0", - "0x00000000000000000000000000000054409cb824bb2028eb6a501f9585b13eda", - "0x000000000000000000000000000000000026412333aa334f56e0761374f0c38b", - "0x0000000000000000000000000000002a23ae58cbd13760028a699488d5a4300f", - "0x0000000000000000000000000000000000225067a42bdcd7d9eec23d250acc92", - "0x0000000000000000000000000000006e28e63b7d6bc65c15c009f5dd9304f8fd", - "0x00000000000000000000000000000000002648ab0c9cfefbb147853e364bef8d", - "0x000000000000000000000000000000f00a9e6c1594965b7c14b2310b489b52f9", - "0x00000000000000000000000000000000000a03f4283d5d64b7245827349741ee", - "0x00000000000000000000000000000073f3c5531dc194b7332ef4e765192e3962", - "0x0000000000000000000000000000000000088b01c6cab84d827c1d8eae1ebbbd", - "0x000000000000000000000000000000e197f3a024045bec491c28fc4b7594347b", - "0x000000000000000000000000000000000025bf29aee6c0dd8976574600dfacea", - "0x00000000000000000000000000000023cebfa19e1e206b1d71359821037c31b7", - "0x00000000000000000000000000000000000c2354b63a0bcd72350e606c3fa0e7", - "0x000000000000000000000000000000fcf564b220543fd0aea7b28c05df85fe3a", - "0x00000000000000000000000000000000000c2f035d78985f2c0e4ab138790e69", - "0x0000000000000000000000000000005129d16313e897118223bd963067e22700", - "0x000000000000000000000000000000000004c87b337be4b82e809af637daef82", - "0x000000000000000000000000000000279941b3633c9a8e9fc6e68ef4be5633f4", - "0x00000000000000000000000000000000002a9334f2cfa791a9bbc88cc234a5d2", - "0x000000000000000000000000000000ab1a8db808cb2b1b90ba26085c23154102", - "0x00000000000000000000000000000000002c04e8fdbd1f2154a1b42961e3b6b5", - "0x0000000000000000000000000000005729f9b6dcfc45fa934c44ad8800e2b7c6", - "0x00000000000000000000000000000000002c584d4df5aaa602e46e5033408d64", - "0x0000000000000000000000000000004daf206a533411e7b39ab99acaf3287ca2", - "0x000000000000000000000000000000000020d85db8daa0dd9c83ceda296cbe73", - "0x000000000000000000000000000000ab6d868729c089d55819b59b1df10e26ce", - "0x000000000000000000000000000000000004b5421430befd61f014813d315ade", + "0x0000000000000000000000000000000c6fdc12f114b3dff18c32b6639206626d", + "0x000000000000000000000000000000000029ea8e59560238dd94abed35cb70c8", + "0x000000000000000000000000000000798b53b0eca893b352181071c60c1697a3", + "0x0000000000000000000000000000000000143bc71afee8cde0cf0923214ba969", + "0x00000000000000000000000000000085734dbd3f00d833c7f16d28c7c161a6e6", + "0x00000000000000000000000000000000001dc1695bb379cc1fe09ce6224bbd76", + "0x00000000000000000000000000000076510156d9bbb6e8916f5df3484dbe501a", + "0x000000000000000000000000000000000002f88711cc50540166aaf0ed7563ce", + "0x0000000000000000000000000000004e92767827fb29389f5eecfe92604eab79", + "0x000000000000000000000000000000000015e003572014e30792cc42dd76f703", + "0x000000000000000000000000000000e9101815687b2b199e9813ab45410c58a0", + "0x00000000000000000000000000000000000bdf464606fd075764ebd13de85d18", + "0x000000000000000000000000000000a4765d6f5df947831e3f85a1bd0bc7628a", + "0x00000000000000000000000000000000000c553b386599253dcca9bcad704ca3", + "0x000000000000000000000000000000832463786e94b008b4014e652a0a06d7a8", + "0x000000000000000000000000000000000011ff61570f0bf2e97760512082e6f3", + "0x00000000000000000000000000000044e15aaa95424af2ca33a24f73d87a9fed", + "0x0000000000000000000000000000000000265a6e89432e27fe25605d534fefff", + "0x000000000000000000000000000000e50b139f7dcefba4c36067e75084866789", + "0x00000000000000000000000000000000001f7c7a9bcf4d3731b120fdb685be9a", + "0x000000000000000000000000000000c61155084507edfd2780b6595d0383e3d3", + "0x000000000000000000000000000000000024732fdee72acfeb9fcd7ecd03f17b", + "0x000000000000000000000000000000e3eba5ed351243e1b88baf42d6e3c3497f", + "0x00000000000000000000000000000000001ac8ebfb4b65882179207743191dab", + "0x000000000000000000000000000000d5ab1236a0b5298b47f9d147a330a0d1a6", + "0x000000000000000000000000000000000004bf74c81b93344ee6eb639f9b27f5", + "0x000000000000000000000000000000f54856ecc2104aaa4a8b1412198b8f19a0", + "0x000000000000000000000000000000000009657c61abf1cefe29851881f04171", + "0x0000000000000000000000000000000671c904145c28b987a2097d7e0a44bed7", + "0x000000000000000000000000000000000014a3beb99844cce00bf4bf29835019", + "0x000000000000000000000000000000bb586be39659e96f6200416f882ea6791a", + "0x00000000000000000000000000000000000ec0d3c4d4d09bf02f60b610ca417c", + "0x000000000000000000000000000000a27b8cc202048319ee3216614fe0b2bc78", + "0x0000000000000000000000000000000000259f13400b5ca91f037e522892f1d0", + "0x0000000000000000000000000000005afa7274e86f2e4544d9bc2995a4b59eb6", + "0x000000000000000000000000000000000013d4650df900f0413b1d29aa9ba528", + "0x000000000000000000000000000000a0230f28d66f5d56c9ff831a471d3c5f9b", + "0x00000000000000000000000000000000002b59c41dfcccc1692e67253054b1e5", + "0x000000000000000000000000000000cb139be520f9594c3b3265adf3c829a0be", + "0x00000000000000000000000000000000001a03e4be32cf715c13caa3b09031f2", + "0x000000000000000000000000000000acd2e4f92b6605e95986f1cffa82304b50", + "0x0000000000000000000000000000000000259fb01c767e7769e772eb56ce8193", + "0x000000000000000000000000000000282782aa36fde06ed1c6dd811c75864c98", + "0x00000000000000000000000000000000001369a47591ca24aab36f32a1f92922", + "0x0000000000000000000000000000001c17cb9d98dae6214548afa20c9f1c4f7c", + "0x000000000000000000000000000000000008b8f3d446e6f4e097bd6841e421b5", + "0x00000000000000000000000000000039e4c093b585f6a6fcb22f99bd8c342b7e", + "0x00000000000000000000000000000000003041bf4ef4eb97be85a8fdc7c9479e", + "0x000000000000000000000000000000da48e82a3d5d7897cb678ff5610a5cf1ff", + "0x000000000000000000000000000000000003acb814504ffac1f2ed4a14fc9bd3", + "0x0000000000000000000000000000009dca7075e3e05e41559f28912a82971ea0", + "0x0000000000000000000000000000000000235b08870fcb646e907b4d3d736174", + "0x00000000000000000000000000000088b105b378f5f68086a26e45ce7db625c5", + "0x00000000000000000000000000000000001d5e5ec54b2dc9f683c10f467d96ac", + "0x00000000000000000000000000000077d8cfd48ba52a9cdd346b1cf45f0d718e", + "0x00000000000000000000000000000000001d96ca59605ed27e2028cb8af363e0", + "0x0000000000000000000000000000006b206e2ff7e814240e93358f1c3ca92a89", + "0x00000000000000000000000000000000000f68e0a1401d250cc41f4478d6e0c3", + "0x0000000000000000000000000000003563a2722147fff76720456302877e3e2c", + "0x0000000000000000000000000000000000000ccf9ca6c5707774553f9e9a96f5", "0x0000000000000000000000000000005eefcb3c6f69064ed55425945fcc74c2bc", "0x00000000000000000000000000000000001613278bd29c20c182e6f3b5e367ce", "0x0000000000000000000000000000006c39d4dd8c65752b9bc2628fcc3dbf415c", @@ -2029,13 +2029,13 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000002a56ce41f6b0be13b9c26747621b82", "0x000000000000000000000000000000d5827d6338c78656c0d12ca1aea6ef2c7c", "0x00000000000000000000000000000000001aa98f2de3ddda547d8f6de4e725de", - "0x000000000000000000000000000000bd9c096acdaa162e6c7ee9b718f7fbf759", - "0x00000000000000000000000000000000002c70947eefbeb3fcbc1953b2ccb88f", - "0x00000000000000000000000000000045e09e50b539ce6228369e4b4cb8530ce0", - "0x0000000000000000000000000000000000062cf2c7d023a38df32e6c8c04a8c1" + "0x000000000000000000000000000000b0d85375aa0d40d56afab87a4500a0ee93", + "0x00000000000000000000000000000000002ff36f19431aa225aa3f1788d0c736", + "0x0000000000000000000000000000008395fb5b5962fc53092baed85b90f142e4", + "0x0000000000000000000000000000000000236be094b70d84fe3007f69d527f24" ] - hash = "0x208d8b1ad2d688325416c8a23881e8b14753352851d7740b339ea2ebd455cdcc" + hash = "0x25f3ed562872c5e18abd2b9c6d87543b21886af47c7a714c99e78776bae18397" [inputs.previous_l1_to_l2] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002800" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml index 9e681460ac92..4041bc024fee 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml @@ -1,7 +1,7 @@ [inputs] new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x300378810ae25edf6021ba94b4ba9ad6eafaf9caec8c6504ba8ef81f3240f780", + "0x21decddb0e57243b3ec2d7320d3979efb6efebd4352375c223cf4f8efd1dbef3", "0x14e4b977b2203b70e6ee1c2456eb7114d090fe4b907f631eecd0919fed432e7d", "0x30105bad22ddcc508b739b7c9ad87a561c569ff5cb0098a853c1c4ac21b7a037", "0x1e20ad4181460cbfdc74ca773502c59b890f184efe300ebad895956d318422da", @@ -523,12 +523,12 @@ new_archive_sibling_path = [ accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup.public_inputs.constants] - vk_tree_root = "0x0141caf6779674bc31225636c4cc4259a731835c52fc462f2dcbfabf7de01a1d" - protocol_contracts_hash = "0x01af64239167dcc8333e25456aab71348f66d9f6de731a8b62181d16cf0818c1" + vk_tree_root = "0x0b701ee3d1002ca8a5a73a81bcb2e0d84e6c30222be65f508574f182569b718f" + protocol_contracts_hash = "0x0fcccdf7958e813bb1d24f764ae13ff08a999008434c2e4dec55f4401564b05e" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup.public_inputs.constants.last_archive] - root = "0x0edef98680cbea2855c4f0f152a0ecd69358e68b10da7b7e301f35ce709c13fa" + root = "0x27b365d73aa1b8ac1eb39c75262e2b87a238d041cc98fcb795f4c597c620ce64" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.previous_rollup.public_inputs.constants.l1_to_l2_tree_snapshot] @@ -586,10 +586,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x2077efe63b8c3de3bfdbc1e1be837185a8f1d817c8321418fcfe110cd518a922" ] state = [ - "0x08cdf544ec44d694936ed6a5aa580afb2a3b1a4b087ba80870d4d01c79cb5772", - "0x192972b72a1776fa9d30c1202807fca4f9272b156c9e1eafa5f93e94a13c439b", - "0x23ace986d5ee172559ce2153d8a166075599a4403288cbe1a150bda49415fae6", - "0x0f3ccb179877769f2d268206c1b45ab9af36d5e7e005de27ede90c1a29450039" + "0x13ec9d9b37f0599c5765a81513125e07305454198fecae73a69e7d41dfb27215", + "0x24fe963f8f4139d84f904228cfe1e10256e9106331e614b72ed86be8903e4259", + "0x114cba9fee3fa49ffd5f440aa162c6ce6e8410138a592e587337646bb8b04ca7", + "0x10325219e420881603ba4ea16613cf66fa1c43ff98bceb97acaaab599e3326b5" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -604,10 +604,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c34c" ] state = [ - "0x1b111ef987a8412d74666407b504b312064231fbf5c26a46f410fa863d95c877", - "0x1be482b447910939727d105aa8f4722d4300002a9481483a5a47b5be0d458a69", - "0x0918650d25d3222c18bf60663bf62753764ad8b75fc3ce5e74c3fa9c9470b1b8", - "0x1eba072dced35bc1bb87f4b50410109a790c58dd87ad9eebd46f50a25112d9b4" + "0x02a5b53c7efb068bc743feca8874f269cfe88163e97fef0ae200aa662ada3895", + "0x17a9dc2d3bc5a2ba2f0435e36c8441f5a18e087f04a9812a1261c97a3988bed6", + "0x1848e27196daf1ad40d8564e8b84be69d789d47c42ba2035af49d5c522d4cd43", + "0x29c59fa7664efcf9d55dd4bfdecbc4a442e78f6a405b6b5846d6c0ba49f78ca7" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -615,131 +615,131 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollup.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" sibling_path = [ - "0x0f8f726e833df2994b5e4f7236bb20b770b92eeddaa5e11c229e396b784aac56", - "0x24d3d34d155de7ba76e941299ef9b12edeb7de094e758c30ab32f54a32954ae5", - "0x234d319aa3526e9e00d76d9b5b9b18b435756035ad00d8d716e1be50ac82ead3", - "0x2648004ca39ab2f7f01e8733c2de2d035675568a1c98d1410ce90ac2512e72e2", - "0x15313312ac8ca4825afd3891479fbb14626ca65499d939e23b1f653cd7d018ea", - "0x19de2a32662702dd872e529ad89836e16b013012f910daf2bc7c2a67356dd107", - "0x1f07bca7a14f9a969539c0afd388affa18926689f431fc541841a2a7604d388c" + "0x09b4bb0061881fc354c5fadf8dc55f36b0c67dc3b2f58a18406363dfa0b079fa", + "0x2136af42d41c58f3fd528f4e88c2de5152c2bb251a3c4d8950d4401a0c8ae6ff", + "0x02d4017a1d1c142d1fdf34bf701748bd9db29906e0114ac657648a51d10b6799", + "0x146274c75e0cce377b1764ae8c0ba9167cfb0632d9453ac4c5b521f5d45cee4c", + "0x10fa882cccd67cfee268da2a5d99ed42a34302ecebc26f4b3254e41507b3ee42", + "0x133dc174ef877c42d59ac5fe87733ce13f9355587db788e3b490832c7afbcfd2", + "0x13482b383bc59a6da6ab4e998b0986c23166d0aba121fc0789e9f14605af653b" ] [inputs.previous_rollup.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000008580b9a8c85e4a3c1e7b1089bd79f3bc28", - "0x000000000000000000000000000000000022dc01e3ed0e1b10bdcff9d093431a", - "0x00000000000000000000000000000054f9950035e8ffae852707e9d1a9032e59", - "0x0000000000000000000000000000000000276c56cb94e0545b3bfd85919a8ce8", - "0x0000000000000000000000000000009352ff9d82645804416a2b338260fa235d", - "0x000000000000000000000000000000000010a253776d2bdcb7129acfa2e91ac5", - "0x00000000000000000000000000000095babbbc4a6d5a9b68707c3a8e1e9508e2", - "0x000000000000000000000000000000000030157ca77e90f7ee9155c1009b06a1", - "0x000000000000000000000000000000068047e82e283284235befaa9cc7a1838d", - "0x00000000000000000000000000000000000bcd70cc5042e81e440b1ea5ef3c3f", - "0x0000000000000000000000000000007702a95c1bf5e2923ca69f26cc2d7efe0f", - "0x00000000000000000000000000000000000adeb0e8b1074c68de2b2172f21c5e", - "0x000000000000000000000000000000520354133ccbbccfc69be0c01b92abdf0f", - "0x00000000000000000000000000000000002dea248e3c2fe054c698a861bf4c27", - "0x000000000000000000000000000000f93b6112b7de5c27298a81c68d502b7beb", - "0x00000000000000000000000000000000002be3a33fc9502b0cc8b9427fcfe50f", - "0x000000000000000000000000000000168f01ff83f4a014a90db19e5d882a0a0a", - "0x000000000000000000000000000000000008876edc3cc7e3825dc194e21cb011", - "0x0000000000000000000000000000006d1df389f06e514e1829af3744dc64294a", - "0x000000000000000000000000000000000022e86ef68622bd107e5080cc062a4f", - "0x000000000000000000000000000000d137fc89e86049cb1b141b67b3361b6298", - "0x00000000000000000000000000000000001d7ad7d0634dc08d7d9816b5b6814c", - "0x000000000000000000000000000000defd2454e2c3a75ec8e0730bd3640b9408", - "0x00000000000000000000000000000000000b189f6ee9395b1ca5771c361501d7", - "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", - "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", - "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", - "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x00000000000000000000000000000008262b430328dcaab242dd8acc504e8ac9", - "0x000000000000000000000000000000000015f3ab1410f0e5dd3e00f03b9f563b", - "0x0000000000000000000000000000008fca5ff8ed9a5d41fe9b451f02502dd1c9", - "0x0000000000000000000000000000000000266aa6e4947434ef18adeba3700713", - "0x000000000000000000000000000000d93cecd04341f5da304f3c92f0670afc43", - "0x000000000000000000000000000000000020165b3fd2bfb72a4de3dc68f66eed", - "0x000000000000000000000000000000094a6d376eb3cc1ba94b4da00dea583eac", - "0x00000000000000000000000000000000001caf7742d251b04f3517f0f1e5a625", - "0x0000000000000000000000000000003be5647cd472ad0b06a48f632997e3eea2", - "0x000000000000000000000000000000000015fb4d9ecb8125b3243cee37698c48", - "0x0000000000000000000000000000000854a3ab5bcbca1e86d4949b1b7c5f4b0e", - "0x000000000000000000000000000000000015450314fbf315448dc3379dc82214", - "0x0000000000000000000000000000009c2c55d2ea5bdf5fc5e28f1a78b1d29625", - "0x000000000000000000000000000000000020b36a8406ec64352600587cf04194", - "0x000000000000000000000000000000f14d08d9dab6a54412d741166146188ae6", - "0x00000000000000000000000000000000001b5a34ccd7eaf5cd09ab920011552f", - "0x00000000000000000000000000000074b7827a59faf701f7f41df26e5476c40c", - "0x00000000000000000000000000000000002decbab1c87b933da1625951860793", - "0x000000000000000000000000000000751aab48a0e01094128242ea0aaab63ff7", - "0x00000000000000000000000000000000001a2a334289adf8d23d4d52caf4cfe6", - "0x000000000000000000000000000000f6a41261290460b25e1e7d7bf69b564ae6", - "0x00000000000000000000000000000000000296925feaed4585bb03319f126d96", - "0x00000000000000000000000000000055b70d653ebd7df04f720951e76a27369b", - "0x000000000000000000000000000000000019744937a687edc9f46fb8323a46d9", - "0x00000000000000000000000000000047978fda5b64d8fc4571f09da3e8ccc7de", - "0x0000000000000000000000000000000000139de6a387109f47ecbacc74e03742", - "0x0000000000000000000000000000007f5afdfcb7bcd85aa293676e18e899a03e", - "0x000000000000000000000000000000000006a2971c1c947f4cadb07ebc9bc980", - "0x0000000000000000000000000000006cdb69a57b7f7a25b99e18fc0f83c1bc70", - "0x000000000000000000000000000000000028f2a76a01dc3cc927cdba29383e9b", - "0x0000000000000000000000000000001bbc4d6033de44907975ce473bc0f4f148", - "0x00000000000000000000000000000000002642f26fc1850c4b9b7fc4cd860ab9", - "0x000000000000000000000000000000ac996074e35eb268f6ebbe99e9c7d26c47", - "0x00000000000000000000000000000000002262620617978a01f75646f1909969", - "0x000000000000000000000000000000e63aa32bcc098428f407b5e07d9cb26118", - "0x000000000000000000000000000000000022b294b6a7dc4c17319f9a91a1b443", - "0x000000000000000000000000000000649d9ce9147431632893f55d3c6bbc158e", - "0x000000000000000000000000000000000020698c9b0787f14aa66a57bc232ec1", - "0x000000000000000000000000000000b4fde29f9bde909609d70bf9862dd65cf1", - "0x000000000000000000000000000000000005fcac9b75cac50d87ca827678c070", - "0x00000000000000000000000000000071e27b0a0dd0e2180985072f4a949f0c1d", - "0x000000000000000000000000000000000025d2d1388eddcf016213f1cadc763f", - "0x000000000000000000000000000000b216bad715cdfa7c382d30d7a368cc1346", - "0x0000000000000000000000000000000000302dbbf78b13a6d71d1978b5607145", - "0x00000000000000000000000000000002ebdec49969d2ff9220240bbcb8730617", - "0x000000000000000000000000000000000027f41cad8540e47008c1da90340ef6", - "0x000000000000000000000000000000e8259148321315cc34166a206fe910c6cb", - "0x000000000000000000000000000000000013444efc30c7688d961f36de252af6", - "0x0000000000000000000000000000005b7c7ad432291e9dff1dfad51159e50dbf", - "0x0000000000000000000000000000000000205ec973a0d1c898c1def7852353b3", - "0x0000000000000000000000000000007940a7e88fe5ce47af688975c92be1b62a", - "0x000000000000000000000000000000000015bdab44fe41eec6ee62ed58f55ff5", - "0x0000000000000000000000000000003693b90aedcd664eede665df6f376cf526", - "0x0000000000000000000000000000000000207c38fd6851d1568fe18a83585f31", - "0x000000000000000000000000000000f1a8a60975b9b092aab1421166be08c2f5", - "0x000000000000000000000000000000000015450d2e8ea17db209302582b886f1", - "0x000000000000000000000000000000526e857040a344bd434bfdbf94d3a49196", - "0x00000000000000000000000000000000000d0112b922a852c4754ab3929d6d02", - "0x000000000000000000000000000000d88041fa28c8118a58ceacbcc8780844b5", - "0x00000000000000000000000000000000002584170ebef150b71c5e6aa93e2fbb", - "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", - "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", - "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", - "0x000000000000000000000000000000000017080f8d1d21b541de1c64d8b794df", - "0x000000000000000000000000000000621557759a0775ea5575adc9c6fbd96d56", - "0x00000000000000000000000000000000001cd60c23a37c42d7e46e1e19e966ae", - "0x0000000000000000000000000000000d52081b2311a7e9bf52407cf3d2c336b3", - "0x0000000000000000000000000000000000003b2312f2f2f419434a1440d40c69", - "0x000000000000000000000000000000d26082083660d6ac8bffb639994e4500e7", - "0x000000000000000000000000000000000019d6ef8ce569e7fa55b8aab7f5eea6", - "0x00000000000000000000000000000078d8a04f7b6c536d3a8a35c790b4dc7ddc", - "0x00000000000000000000000000000000001111470a41156a530334d2c08511a5", - "0x0000000000000000000000000000008ab4119a5478448b7ec3573de2cdfd8e56", - "0x0000000000000000000000000000000000263c7bd4cde5591308156c458d2989", - "0x0000000000000000000000000000004a676142c9eca140ac96ab9ca49633e141", - "0x00000000000000000000000000000000001de62520faa095ad7513f753e0a73e", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000a2c4fbcbebac01e208127093cbf44780d4", - "0x00000000000000000000000000000000001ca34545a074b1cb689aa0b343402d", - "0x000000000000000000000000000000a58c28598055d8818a6dbadd0018904386", - "0x0000000000000000000000000000000000152154cbc213630f5c7ec1ee37751b" + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x000000000000000000000000000000f944590031f1d3b251c3dc90ea2821c71d", + "0x00000000000000000000000000000000000d31fd1a4942efade625e012c77df1", + "0x0000000000000000000000000000001e9acd89b92c18e3d89b881b26312bb12b", + "0x000000000000000000000000000000000000736f00a23cbea07da614d8b767e4", + "0x00000000000000000000000000000012167fb1f0d3b9afea7d534404e3b36b53", + "0x0000000000000000000000000000000000021e6d056d0d40c720927abd39c872", + "0x0000000000000000000000000000004ea3f0c21ee1056b3e2ad9c082242e5a2e", + "0x00000000000000000000000000000000000c574204fd079871ae599e192d72c8", + "0x0000000000000000000000000000002654c5b2b175f95fdb2ab405dcc4220545", + "0x00000000000000000000000000000000001fd13a35df71290c2354c6c5f610de", + "0x000000000000000000000000000000d5e3b3464d67c82f035b33016912264b04", + "0x000000000000000000000000000000000009fcdab45c12d2f313f95b94a1dcb8", + "0x000000000000000000000000000000768c5a9d8ca0081f67ff3171a7ffe3ba49", + "0x00000000000000000000000000000000001cd676b8d32bb0bb898d83a9f49a2b", + "0x00000000000000000000000000000028650bc3473de217fbfec1e9fb10e4e999", + "0x0000000000000000000000000000000000260c000ea0ebc3db3ba672328007a5", + "0x000000000000000000000000000000f1948fbf68599bf0628f118156de61f57f", + "0x00000000000000000000000000000000000033e796d200425f6a499de18dbfeb", + "0x00000000000000000000000000000016a35cf8fc5f017037adf860723e6346e5", + "0x0000000000000000000000000000000000088cf6d72197800bb1300677f734a7", + "0x00000000000000000000000000000047169c153b6cc24bbac1e4126410779ccb", + "0x000000000000000000000000000000000022b70bfb92e8c7944ae65a49b7effa", + "0x000000000000000000000000000000425c661c37104ad33c2054f3cfde9954d0", + "0x000000000000000000000000000000000000c36b8ecc5963bef022dea4dfadcc", + "0x0000000000000000000000000000006f206a04895661d3bd004222a1f8a7fc73", + "0x00000000000000000000000000000000001b12a59a820d3aa543a594a1b9d92f", + "0x0000000000000000000000000000002103559842aca1e08af33bb1f714ebc02a", + "0x00000000000000000000000000000000001b8936a0be628b58af9859c2a851d1", + "0x000000000000000000000000000000862e0c485b99696417d296ecc2b2bac316", + "0x00000000000000000000000000000000000ae46fcce211297d2d7fcab27fc041", + "0x000000000000000000000000000000551700c158e12cb40d8ea4ef2563b6fb43", + "0x00000000000000000000000000000000000b515d88939b250a4a4758e4e2ea53", + "0x000000000000000000000000000000f4bae0ad0baeb9d42c7fe2ae3d18c98fad", + "0x00000000000000000000000000000000002a20d66bd435a17fdf1eaf345d5933", + "0x000000000000000000000000000000ed8a8ba528c7088b1ae4730572e1ec32c8", + "0x000000000000000000000000000000000009506de430d6b9f9863e6f10cd35fb", + "0x000000000000000000000000000000682b627744ce0319f4d9191675057282fb", + "0x000000000000000000000000000000000017de059961f8c12752abd299396f86", + "0x000000000000000000000000000000b975958ec262178729e94350c0e7543fb0", + "0x0000000000000000000000000000000000220ce50e394560e53f025e094d17aa", + "0x0000000000000000000000000000001fca3a68a28d438e85e9dc955856752779", + "0x000000000000000000000000000000000028f8f3400bb3b9d19b02ec709e2ee4", + "0x0000000000000000000000000000004e35d073460b0634ebe216d49a3dca9b36", + "0x00000000000000000000000000000000000cb0f5827b08075c405353f10ba632", + "0x0000000000000000000000000000001ece860550ce14fae74eda0123ded56a74", + "0x00000000000000000000000000000000000a34b258bd3daaf8f9edd201c25ed3", + "0x0000000000000000000000000000008cb28ae85d58a75302229585a9ad114c2b", + "0x000000000000000000000000000000000014aac1da344ad32659c3036510fcc1", + "0x000000000000000000000000000000822b45036d5c2befa8a20df910513570c4", + "0x000000000000000000000000000000000011244b388e709fbcb7f54658cfac43", + "0x000000000000000000000000000000389de9951eb8fad7e25e4ad0a9229d2275", + "0x0000000000000000000000000000000000136e6eb0ee251f9b12336cb7bb46ee", + "0x00000000000000000000000000000088f21d9f6c7c54ce4e9a4c103a91b54a58", + "0x0000000000000000000000000000000000187f2beab9a05ca29d2137ee7cbc19", + "0x0000000000000000000000000000009c703a5eb43dcef0686e08fa57ef452f68", + "0x000000000000000000000000000000000012caebb183f1490d3e4f2a2c583ab6", + "0x0000000000000000000000000000009dab4a0aa8d4954a8e1761db3da148a746", + "0x0000000000000000000000000000000000230a08da3b62fd6479b4230760b686", + "0x00000000000000000000000000000081a00a1e38bbd5212603f18ef982a5189d", + "0x000000000000000000000000000000000021ae0f9df38f1e70fa3c26867f4ee8", + "0x0000000000000000000000000000001a722dbd34f841b4823cd055149fce642f", + "0x000000000000000000000000000000000002df2693a9b134670cfe72bf29b363", + "0x00000000000000000000000000000007c906c328630b844b0797e34cedccd1ec", + "0x00000000000000000000000000000000002ab2ae39dd9c0259f7dfb1dda47e81", + "0x000000000000000000000000000000ac6642a4923aa2df07a00a9d3e462b0ed1", + "0x000000000000000000000000000000000015afb7af6c0fc23a24457aa887df9c", + "0x0000000000000000000000000000004d916ec23ef29c0b6134f208e3535671d4", + "0x00000000000000000000000000000000000d37c6c25852903d79475133d414e8", + "0x00000000000000000000000000000029ad212431ba1972de7ee0ba9f12113be3", + "0x000000000000000000000000000000000005c2393db23155844d4f71bead84d0", + "0x000000000000000000000000000000c69074efa82a4910eaf8ab8689d7aafcad", + "0x000000000000000000000000000000000029f3d77437006a0eacf1a149c4b8a0", + "0x00000000000000000000000000000030926853da69d4016eca2f1f0df5e5316f", + "0x000000000000000000000000000000000014841d3291aecd45ea0e05657dbed2", + "0x00000000000000000000000000000052fdb060fe666a3f686088f1f6996a1cf9", + "0x00000000000000000000000000000000002be878eb09939603b391aa9ee0393a", + "0x000000000000000000000000000000d99de3b49476e64c0138037838cfc63803", + "0x0000000000000000000000000000000000260874b43f32c373783efe7ef200a2", + "0x0000000000000000000000000000004951edbb25e9c6b65d446e3418b2b3f16e", + "0x00000000000000000000000000000000002300fac13ab48d40a91114d1ff9627", + "0x00000000000000000000000000000090b8d216da73861ee276dddb17428d8c09", + "0x000000000000000000000000000000000028f906106984e5fa78812869cc1aee", + "0x000000000000000000000000000000ce2aff6eda49d5b8be6ee42104d2aa21e0", + "0x000000000000000000000000000000000002833f671993d2b772b5dec0e12056", + "0x0000000000000000000000000000008be4e7cfb1fdf317a33b7bc3530625e6b8", + "0x000000000000000000000000000000000023404bed8e224a350755410e5c96b2", + "0x000000000000000000000000000000cd9a812fad3fe3a89983e416b70529445b", + "0x00000000000000000000000000000000000b66296ff191a2cf6dbe6ca03dcd0c", + "0x0000000000000000000000000000005eefcb3c6f69064ed55425945fcc74c2bc", + "0x00000000000000000000000000000000001613278bd29c20c182e6f3b5e367ce", + "0x0000000000000000000000000000006c39d4dd8c65752b9bc2628fcc3dbf415c", + "0x00000000000000000000000000000000000d4b721e385647b57de3efbc9952db", + "0x000000000000000000000000000000e26e87fb5ad793c153110c1e55129d9ee7", + "0x00000000000000000000000000000000001986fe851f46fd25818f580f9d55f1", + "0x0000000000000000000000000000007a7eb895f6f2419aafb58de3f81b3f6739", + "0x00000000000000000000000000000000000d1289085013119c588fbcdbb11f5e", + "0x00000000000000000000000000000061358ce9820bc7ced39ca91d017f767cfa", + "0x000000000000000000000000000000000018a26c04d92048605adf6b40fbe696", + "0x000000000000000000000000000000924ee754d49e43f0991a540ece79958ad1", + "0x00000000000000000000000000000000001faa0f64d400addf955b2f4a8181ec", + "0x0000000000000000000000000000000c13651a87f101a4d0bf32619d4326c45b", + "0x000000000000000000000000000000000002809feb719732fbf341dd249e671d", + "0x0000000000000000000000000000003523e8c751d17a4dcd30540a4f9261403b", + "0x00000000000000000000000000000000001466cc1bd7c1743fca0477c4ea4481", + "0x0000000000000000000000000000001eee81b23a887f299049b14c11e98460d6", + "0x00000000000000000000000000000000002a56ce41f6b0be13b9c26747621b82", + "0x000000000000000000000000000000d5827d6338c78656c0d12ca1aea6ef2c7c", + "0x00000000000000000000000000000000001aa98f2de3ddda547d8f6de4e725de", + "0x0000000000000000000000000000003e895e3756deb16393c59a6a9d3669ce0f", + "0x0000000000000000000000000000000000262d7f27b9058ca9bd2e0620f9a3d3", + "0x000000000000000000000000000000b98c4ce00d755cb57daf4bc1b860536fc3", + "0x0000000000000000000000000000000000017137ecc6753555f49859a34eeb62" ] - hash = "0x0c9b0fab06de495eb1835dc184eb51d6584a970a90bb9c9dba17ab97e9b6dee6" + hash = "0x05df4d5edfe80160c2f684f683ed1ef5fb3a539be4cfb97957b2d7f5c3ab9ead" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-block-root/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-block-root/Prover.toml index 4536a33189ef..110c6d4f6505 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-block-root/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-block-root/Prover.toml @@ -523,8 +523,8 @@ new_archive_sibling_path = [ accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x0141caf6779674bc31225636c4cc4259a731835c52fc462f2dcbfabf7de01a1d" - protocol_contracts_hash = "0x01af64239167dcc8333e25456aab71348f66d9f6de731a8b62181d16cf0818c1" + vk_tree_root = "0x0b701ee3d1002ca8a5a73a81bcb2e0d84e6c30222be65f508574f182569b718f" + protocol_contracts_hash = "0x0fcccdf7958e813bb1d24f764ae13ff08a999008434c2e4dec55f4401564b05e" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.last_archive] @@ -604,10 +604,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c34c" ] state = [ - "0x095ff6c475ee1af84257c77b73b727e6ebf0cc7015e0318ea5ceb14044e637a8", - "0x28810b36811d26c3700f0c7867fc191986df3ef57ea3a195b396ae8e1516b1a7", - "0x0d0d075374c48ade348ced65280060db0bfe6c16752688a5d65a07afc55cf16c", - "0x0b29f6eee3031f85d7f5ce02982c80e8fc06b552319a441c5b0fc3521d9c801c" + "0x019c8b37514a1a54433fb4ee411ccaf6da8c99234b4e5d11cc5f6b95c3989bb5", + "0x026875d420939d38c5495ee684f0a31efd5cab908193ae929d1c426d68bb9409", + "0x1a8c7e8add3b6e5ee547b84164a1d59756426ff82c71128c0627a7c01c830220", + "0x081d1fadf8d9a49f296a172486009b0c5f64d52de31142cfc01bc2b08387210a" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -615,134 +615,134 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" sibling_path = [ - "0x0c9b0fab06de495eb1835dc184eb51d6584a970a90bb9c9dba17ab97e9b6dee6", - "0x24d3d34d155de7ba76e941299ef9b12edeb7de094e758c30ab32f54a32954ae5", - "0x234d319aa3526e9e00d76d9b5b9b18b435756035ad00d8d716e1be50ac82ead3", - "0x2648004ca39ab2f7f01e8733c2de2d035675568a1c98d1410ce90ac2512e72e2", - "0x15313312ac8ca4825afd3891479fbb14626ca65499d939e23b1f653cd7d018ea", - "0x19de2a32662702dd872e529ad89836e16b013012f910daf2bc7c2a67356dd107", - "0x1f07bca7a14f9a969539c0afd388affa18926689f431fc541841a2a7604d388c" + "0x05df4d5edfe80160c2f684f683ed1ef5fb3a539be4cfb97957b2d7f5c3ab9ead", + "0x2136af42d41c58f3fd528f4e88c2de5152c2bb251a3c4d8950d4401a0c8ae6ff", + "0x02d4017a1d1c142d1fdf34bf701748bd9db29906e0114ac657648a51d10b6799", + "0x146274c75e0cce377b1764ae8c0ba9167cfb0632d9453ac4c5b521f5d45cee4c", + "0x10fa882cccd67cfee268da2a5d99ed42a34302ecebc26f4b3254e41507b3ee42", + "0x133dc174ef877c42d59ac5fe87733ce13f9355587db788e3b490832c7afbcfd2", + "0x13482b383bc59a6da6ab4e998b0986c23166d0aba121fc0789e9f14605af653b" ] [inputs.previous_rollups.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000015", "0x0000000000000000000000000000000000000000000000000000000000000042", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000cd83c7ffbb8a401156e168f37116ffb187", - "0x000000000000000000000000000000000004c9803d25f3aa3d87971ec69e9a09", - "0x0000000000000000000000000000002b8e3b59ff58ee5825f04add8396938ab7", - "0x00000000000000000000000000000000000ca92b3e71dca284819687b09058a5", - "0x000000000000000000000000000000f13a4c94014267f0fb20df8d4745321157", - "0x0000000000000000000000000000000000228ccf8e5e66edf617fe9cdffaa9f3", - "0x0000000000000000000000000000008bedbc082dc889634e668f035d885cb110", - "0x000000000000000000000000000000000000d1506f1dee82696f1132266cd876", - "0x000000000000000000000000000000eed1511734ae738d49eddd8c477030de23", - "0x0000000000000000000000000000000000185f94db8b977ecb674f578da3d454", - "0x00000000000000000000000000000052efb8157e56280d78c004328b104e22ee", - "0x00000000000000000000000000000000001e61e2eda64fdcef0aa3f7086d25ae", - "0x000000000000000000000000000000a7ba8e154b7cb9b052f03b722d1fada3ab", - "0x00000000000000000000000000000000001b74f30f877fcb688c4d7942a512ea", - "0x000000000000000000000000000000a64cc9925a82d55b5c8ed69024e76a1002", - "0x0000000000000000000000000000000000051a307beab7624f895eac2d7b107e", - "0x000000000000000000000000000000b71a10e4cb199c53f8ab26f4b5750e6ff1", - "0x000000000000000000000000000000000026ae3964368b4d1a78b494281305a6", - "0x00000000000000000000000000000070e6d26eeb2ae247b554ade309575fc966", - "0x00000000000000000000000000000000001b72f55e4403556e86319b26bac156", - "0x0000000000000000000000000000008d27b4ec306af3043276b465679e8bd42f", - "0x0000000000000000000000000000000000235c5f58ac9d6dca390a516970b4b2", - "0x000000000000000000000000000000f9cc90e3b5b8897ba1b69b74148d74cfc5", - "0x00000000000000000000000000000000002b2e95de9addf042a25f2539a53d1e", - "0x0000000000000000000000000000004288fb745aa3b78da694bc2f3c28178b53", - "0x0000000000000000000000000000000000029292ff399aa7b20eb1f743696c46", - "0x0000000000000000000000000000003582186b8e684671a476f80b8d0e114d5d", - "0x00000000000000000000000000000000001b3109c18b36e49b5ef30578b4bc60", - "0x00000000000000000000000000000083d976f2c2c90d81da35771e3f1822b38f", - "0x000000000000000000000000000000000004e8a3defd811d412647bd93ce9086", - "0x000000000000000000000000000000c2c94de698986ec3786d6f5b13b0a476b4", - "0x000000000000000000000000000000000004d6d12b482b85c51eb055c92d5560", - "0x000000000000000000000000000000d9fb425aa4b440ae16c1b17731a6529ec7", - "0x0000000000000000000000000000000000009388e6b80710c3afdbff80db6e84", - "0x0000000000000000000000000000002775ccd14fc93fee7d75f048054b1cbcd7", - "0x000000000000000000000000000000000000142a9e45b6b4b0b28a54737e0901", - "0x000000000000000000000000000000d88146894fb0088baf74ad347a6fa92dde", - "0x0000000000000000000000000000000000019df6a3b49d4de18dbe387aac8372", - "0x0000000000000000000000000000001775a3327c99e192a79ee17db4e2c514e2", - "0x0000000000000000000000000000000000062b76de133a235165e878faa5619f", - "0x000000000000000000000000000000c8383897bcdda98939560cf15dfefd9c0b", - "0x00000000000000000000000000000000001b84d621bc2ee73d81ad2bd595f2a8", - "0x00000000000000000000000000000093ec3803f444457ef388287856eaccad0b", - "0x0000000000000000000000000000000000103b731d15612e1b8ac234c501b92d", - "0x000000000000000000000000000000d83455ed5536ab998435ffd929486967f5", - "0x00000000000000000000000000000000000870e19f1fc3e0921179828f3dd48b", - "0x0000000000000000000000000000008a0b19fe136076435faa22c077837f88bb", - "0x00000000000000000000000000000000000039184f52378de1cbba4a757335f4", - "0x00000000000000000000000000000019bba41ff000f1c9a2800dff26a0ba56ce", - "0x000000000000000000000000000000000012a445925f8b47a193556076199e49", - "0x0000000000000000000000000000005ba24d7fb287fc15134264f129609a2bd8", - "0x000000000000000000000000000000000007076816a94acb232f9ce3c1ae86f4", - "0x000000000000000000000000000000f85d9c960786d5542ee7fb2b2413a6d377", - "0x00000000000000000000000000000000001501ca79d9e60002f03f2b2b7b650a", - "0x000000000000000000000000000000af9fa7ef32ca1cb5f5abfbcc106009b7d9", - "0x00000000000000000000000000000000000a3631ac245c1bcbc41500fbe90c39", - "0x000000000000000000000000000000c20fa79072822cd75c97c5b81e20ca8378", - "0x00000000000000000000000000000000001c6e3d83b0c29f88cf55cb349764c7", - "0x00000000000000000000000000000094269c5b70a400d545ff6927eb4ff34d94", - "0x0000000000000000000000000000000000179a075c118abe5e19ec509b92c329", - "0x000000000000000000000000000000f7bf1c1f7d4dd3e707966c05f1d2cf0efa", - "0x00000000000000000000000000000000002dfb152b58a74c48565f0dba30108d", - "0x000000000000000000000000000000cc8f8c54c07a2909a5e4dd79a7fee3e9f9", - "0x0000000000000000000000000000000000111875cd09b6d83b8c85d81902de1d", - "0x00000000000000000000000000000067879f62b49d4ec18a05fc15c67e61c1f0", - "0x000000000000000000000000000000000007d113480afafd29d13ea18ad95bc2", - "0x000000000000000000000000000000ff6cd4cc6b0f04ecadac8b0370831197bc", - "0x00000000000000000000000000000000002cf71926c179ee1544ddcdef962d3b", - "0x00000000000000000000000000000011dac3e4f0a624a359d0577b6ad0c6a9ea", - "0x0000000000000000000000000000000000021c6d473c1f38d00361a916aa5c57", - "0x00000000000000000000000000000003b3480a0434d1d1f33e1c9f1a7d0cb25d", - "0x00000000000000000000000000000000002c5c8e4157e553f3188d193d1b9569", - "0x00000000000000000000000000000019b738d9ea76f9cb03a4bcdb7533944a36", - "0x00000000000000000000000000000000001c8f2968fe3967d675bdc3dd95ae45", - "0x00000000000000000000000000000081ead652a5562e48d2271eb63e0b53f517", - "0x00000000000000000000000000000000000252e44fb0d2cd6daafe79b8a7ce1f", - "0x0000000000000000000000000000008fa4d0b6af4adecb0c882b3550bf708e3a", - "0x0000000000000000000000000000000000026f63ebffc62201b820a594862e6c", - "0x000000000000000000000000000000a9e22eecb21492cfdd0820eddc2392ecad", - "0x0000000000000000000000000000000000100eff1372735728c7d857bbe751cd", - "0x00000000000000000000000000000098c24dca66ff39798ffef0819d63447c2b", - "0x0000000000000000000000000000000000117ee5d863045ed0f1f8a3268a44cd", - "0x000000000000000000000000000000c42efe335044bad810e4db5ca3a9a90b33", - "0x00000000000000000000000000000000001eea6c61e4ba0267d212d7d6a01fde", - "0x000000000000000000000000000000278bf3b77e15b280c8d91851ef86e22130", - "0x000000000000000000000000000000000007d1cb6e175db110b93183dc69610a", - "0x000000000000000000000000000000d7d26293651d377457c5f70fc897df4d02", - "0x00000000000000000000000000000000000ee609268fa9ca425545724809dec0", - "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", - "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", - "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", - "0x000000000000000000000000000000000017080f8d1d21b541de1c64d8b794df", - "0x000000000000000000000000000000621557759a0775ea5575adc9c6fbd96d56", - "0x00000000000000000000000000000000001cd60c23a37c42d7e46e1e19e966ae", - "0x0000000000000000000000000000000d52081b2311a7e9bf52407cf3d2c336b3", - "0x0000000000000000000000000000000000003b2312f2f2f419434a1440d40c69", - "0x000000000000000000000000000000d26082083660d6ac8bffb639994e4500e7", - "0x000000000000000000000000000000000019d6ef8ce569e7fa55b8aab7f5eea6", - "0x00000000000000000000000000000078d8a04f7b6c536d3a8a35c790b4dc7ddc", - "0x00000000000000000000000000000000001111470a41156a530334d2c08511a5", - "0x0000000000000000000000000000008ab4119a5478448b7ec3573de2cdfd8e56", - "0x0000000000000000000000000000000000263c7bd4cde5591308156c458d2989", - "0x0000000000000000000000000000004a676142c9eca140ac96ab9ca49633e141", - "0x00000000000000000000000000000000001de62520faa095ad7513f753e0a73e", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000059f7a0ea97f63ad48cd0ace39569e0e2cf", - "0x0000000000000000000000000000000000104032af6f298e3ac85696d4973026", - "0x000000000000000000000000000000a4c46e1adb8515fa5ddcd4296d689f8e51", - "0x0000000000000000000000000000000000172a0575991ea836ef0e3040f33e6e" + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x0000000000000000000000000000004a89413217aa26a02d1673611c718e3f40", + "0x00000000000000000000000000000000002a74011d7b1576ee63e514f36d2ca7", + "0x000000000000000000000000000000fc6ccc829e509138e5ecaf67c0a21ae3ea", + "0x000000000000000000000000000000000025ff9c29534f6fc12896ca920730a7", + "0x0000000000000000000000000000002709461b8a6badd93121132b357506ad42", + "0x000000000000000000000000000000000018979b97518955d80ea51e8795dd65", + "0x0000000000000000000000000000002086ceef11774f164dc1826039e29a08b2", + "0x000000000000000000000000000000000002706e4d78635695a83b8ee7fe2852", + "0x000000000000000000000000000000f48fa484144b68aabb48f3c67447f619c4", + "0x00000000000000000000000000000000002c00e7b78d2dbb440843c2b8bb9d5c", + "0x000000000000000000000000000000de8ddbcaefce22d2dd0f1a9cf8505ad74c", + "0x00000000000000000000000000000000001d75f1ae876350f117464d47581ea3", + "0x0000000000000000000000000000004bbb761087bee09db612cd1683c9991da0", + "0x00000000000000000000000000000000000a1f0b2bc8f3940a7767ca70f869dc", + "0x000000000000000000000000000000e4d6e66fe44086d4e95043082d7660511d", + "0x00000000000000000000000000000000002857e0d300379ee0a5657b0628ac68", + "0x000000000000000000000000000000377899dd24559db542bb2da421c7aa5b2e", + "0x00000000000000000000000000000000000f954842d0809f870031c014244349", + "0x0000000000000000000000000000004500fe7e27caadb3185ec74d1d8c9c23c6", + "0x000000000000000000000000000000000011e0156211bae38b72e70774aad837", + "0x000000000000000000000000000000d64abf570d80329272f3ac73e763a56074", + "0x00000000000000000000000000000000002221eb3028e13e02824a2cdbebb343", + "0x000000000000000000000000000000e6ac6ff13cde0a60ccaefe09ee9f6e4951", + "0x000000000000000000000000000000000000042f684a98fd028e51ed457fb6d2", + "0x000000000000000000000000000000b1795305b34f2f47e00fefef8e3ff03117", + "0x0000000000000000000000000000000000219d203b492d7debf5d8e7df9d2059", + "0x000000000000000000000000000000bfa96395c8478bacb512c36590c5b7b901", + "0x00000000000000000000000000000000001088537efb9ccd4bbaf4c519fb15ef", + "0x000000000000000000000000000000a63a7e103f77ddd62d4a2aca5a18595bc2", + "0x00000000000000000000000000000000000ffe27c096d9d37613d28524ee24bb", + "0x0000000000000000000000000000008b2aa8f75dabd90ee7f9d45da83109530f", + "0x000000000000000000000000000000000029197cfde9aa521758643b088ca6d9", + "0x0000000000000000000000000000000c60bc3c5493f56066aeaf379eff701730", + "0x0000000000000000000000000000000000045592a6815997cad253c4d4360857", + "0x000000000000000000000000000000fe9bb200d66804b00fe6af2cbd06b90be1", + "0x00000000000000000000000000000000002dfca6770dcd191d2cdcd25959b927", + "0x000000000000000000000000000000d638a6a9b28e4cda3be3200ca416f090a6", + "0x00000000000000000000000000000000002912073cf985c4e403f2e81c78f0c4", + "0x00000000000000000000000000000017b813b81461e0af074adb3ee3a06a2dbd", + "0x0000000000000000000000000000000000193d82b9851cb7b79be69631dbed9d", + "0x000000000000000000000000000000585192fdba2a34dfe3cf05bc74f14aa04b", + "0x000000000000000000000000000000000019c364971252aebd3f848754f68cc0", + "0x000000000000000000000000000000d6c225cba31833473b544e439b76525948", + "0x0000000000000000000000000000000000172a802a4ccf4f87a056c01096e603", + "0x0000000000000000000000000000008a86fac91395708a05f2bf567c42624355", + "0x00000000000000000000000000000000001c5122e5aa5acc0563a65f2fadb548", + "0x000000000000000000000000000000c7ba316af264f3d0c9ffdfa37abe8449af", + "0x00000000000000000000000000000000001e4e1e04112cc99e43eaa819700377", + "0x000000000000000000000000000000171f9151f102c97ebaf8155f92f2818ad4", + "0x00000000000000000000000000000000002b9c517d5a5ca458d9a42ae50a21e3", + "0x000000000000000000000000000000a9ab641f6b11aa7b449f9d162ee4b41c4a", + "0x0000000000000000000000000000000000083f917d6f05453ad4449a07cb2db9", + "0x0000000000000000000000000000000fd8ba5a6cbe569669fa504b146a11e1c2", + "0x00000000000000000000000000000000002d96c1b0fb6b92bbdf9028c918ab12", + "0x00000000000000000000000000000001b66bc49279fdcee016dc50f445385e2b", + "0x00000000000000000000000000000000002b27073221dc103e65d22ef60f7565", + "0x000000000000000000000000000000d9f07543a10843697cb26aeb1e0fa41864", + "0x00000000000000000000000000000000001af76ea4d294fd82e82426b2247091", + "0x000000000000000000000000000000c95c82ccbed1535404379be4d37b661a7b", + "0x000000000000000000000000000000000004c2eb0e09fa417808cf776e09d9bd", + "0x000000000000000000000000000000f7ecd4caac36af30f57c88f8aa8758994f", + "0x000000000000000000000000000000000007a8712e54abef6a5800fb6c9f797d", + "0x00000000000000000000000000000032261b0e19195842c9e13efbf6677d3e7b", + "0x00000000000000000000000000000000001a77dd002f088f48be1c495240a4f4", + "0x0000000000000000000000000000007a9784569003accf3b18631652c41efd9c", + "0x00000000000000000000000000000000001a3bc8c8561c039ee8dd33dcf97bfb", + "0x0000000000000000000000000000008a638165173e41c0baef2a580cca67198a", + "0x00000000000000000000000000000000000ecceac0ea7acc23801d0b99315ed8", + "0x0000000000000000000000000000009c864dd9c99b9871c3cfb939d4197834ef", + "0x0000000000000000000000000000000000131aac5ec5b228a425c6a1d954f41a", + "0x00000000000000000000000000000011cae94a9b789855cde56a72734268be61", + "0x000000000000000000000000000000000015c8120597f6b5302046b58b445198", + "0x00000000000000000000000000000058f4333384b72ecdfc0a66a3b34a9870b9", + "0x000000000000000000000000000000000013db543b79ebed9f63c95904240a6e", + "0x000000000000000000000000000000c71b7fdef4cdc241adcddb23c473ad222c", + "0x00000000000000000000000000000000001823079555cf386247dbe609c2fd06", + "0x000000000000000000000000000000e46930d371eafddab0c6053b1ae159c463", + "0x00000000000000000000000000000000000c0bc40e324750ba1c752c09daed25", + "0x000000000000000000000000000000137e3a04a63f70a2f6971ca99b7844dc67", + "0x000000000000000000000000000000000014c957a738079d071b3d181b99c0e7", + "0x000000000000000000000000000000815544c36c3b22a89d3a78b3553bec6f68", + "0x000000000000000000000000000000000009c2204fe3bd67f8872d6e75792d19", + "0x000000000000000000000000000000d3e085f947f7511f7d7f87a504e99f5546", + "0x00000000000000000000000000000000001d1e1a783d6fde70d844bc2c83c3ae", + "0x000000000000000000000000000000109b3d637fe0d1d5013b3710fc1cddf89f", + "0x000000000000000000000000000000000006101682027f56bffe9486a672801a", + "0x000000000000000000000000000000797993b995dba1e0e98de672a76a776c3f", + "0x00000000000000000000000000000000002765c3ceee9f9d0f11bd159621fa1e", + "0x0000000000000000000000000000005eefcb3c6f69064ed55425945fcc74c2bc", + "0x00000000000000000000000000000000001613278bd29c20c182e6f3b5e367ce", + "0x0000000000000000000000000000006c39d4dd8c65752b9bc2628fcc3dbf415c", + "0x00000000000000000000000000000000000d4b721e385647b57de3efbc9952db", + "0x000000000000000000000000000000e26e87fb5ad793c153110c1e55129d9ee7", + "0x00000000000000000000000000000000001986fe851f46fd25818f580f9d55f1", + "0x0000000000000000000000000000007a7eb895f6f2419aafb58de3f81b3f6739", + "0x00000000000000000000000000000000000d1289085013119c588fbcdbb11f5e", + "0x00000000000000000000000000000061358ce9820bc7ced39ca91d017f767cfa", + "0x000000000000000000000000000000000018a26c04d92048605adf6b40fbe696", + "0x000000000000000000000000000000924ee754d49e43f0991a540ece79958ad1", + "0x00000000000000000000000000000000001faa0f64d400addf955b2f4a8181ec", + "0x0000000000000000000000000000000c13651a87f101a4d0bf32619d4326c45b", + "0x000000000000000000000000000000000002809feb719732fbf341dd249e671d", + "0x0000000000000000000000000000003523e8c751d17a4dcd30540a4f9261403b", + "0x00000000000000000000000000000000001466cc1bd7c1743fca0477c4ea4481", + "0x0000000000000000000000000000001eee81b23a887f299049b14c11e98460d6", + "0x00000000000000000000000000000000002a56ce41f6b0be13b9c26747621b82", + "0x000000000000000000000000000000d5827d6338c78656c0d12ca1aea6ef2c7c", + "0x00000000000000000000000000000000001aa98f2de3ddda547d8f6de4e725de", + "0x0000000000000000000000000000003ac18237da8d96caddaa1c49a178b8b47d", + "0x0000000000000000000000000000000000174dfd5c124039dc6e2a38f0f99775", + "0x0000000000000000000000000000005790969811e28ed4e16d2729036649f344", + "0x00000000000000000000000000000000000f9c6e462a5b03759c42538b9b7c36" ] - hash = "0x0f8f726e833df2994b5e4f7236bb20b770b92eeddaa5e11c229e396b784aac56" + hash = "0x09b4bb0061881fc354c5fadf8dc55f36b0c67dc3b2f58a18406363dfa0b079fa" [[inputs.previous_rollups]] proof = [ @@ -1235,8 +1235,8 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x0141caf6779674bc31225636c4cc4259a731835c52fc462f2dcbfabf7de01a1d" - protocol_contracts_hash = "0x01af64239167dcc8333e25456aab71348f66d9f6de731a8b62181d16cf0818c1" + vk_tree_root = "0x0b701ee3d1002ca8a5a73a81bcb2e0d84e6c30222be65f508574f182569b718f" + protocol_contracts_hash = "0x0fcccdf7958e813bb1d24f764ae13ff08a999008434c2e4dec55f4401564b05e" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.last_archive] @@ -1298,10 +1298,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c34c" ] state = [ - "0x095ff6c475ee1af84257c77b73b727e6ebf0cc7015e0318ea5ceb14044e637a8", - "0x28810b36811d26c3700f0c7867fc191986df3ef57ea3a195b396ae8e1516b1a7", - "0x0d0d075374c48ade348ced65280060db0bfe6c16752688a5d65a07afc55cf16c", - "0x0b29f6eee3031f85d7f5ce02982c80e8fc06b552319a441c5b0fc3521d9c801c" + "0x019c8b37514a1a54433fb4ee411ccaf6da8c99234b4e5d11cc5f6b95c3989bb5", + "0x026875d420939d38c5495ee684f0a31efd5cab908193ae929d1c426d68bb9409", + "0x1a8c7e8add3b6e5ee547b84164a1d59756426ff82c71128c0627a7c01c830220", + "0x081d1fadf8d9a49f296a172486009b0c5f64d52de31142cfc01bc2b08387210a" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -1316,10 +1316,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7f9d34d" ] state = [ - "0x23a9bf42f5fb21102f92950e5a129127b977ad0e0d8cc6f021b0fc620b733c63", - "0x04c04f44462b3c2c334fe3f7466d2202283eb1f9c7e8b4ee679f2942ef98b57a", - "0x1a1e433d1ede575233704d82d0e09b65957a4d70d9e9184fa3aee3879ef746f1", - "0x06f9428dc4495436f76a28564601d6e45f10a9db4334941163eeea845fdab3a8" + "0x05153cbf60a272f44025c5df22636b8efe554dad1522a47a40dd5b3441326171", + "0x23fd331bfec83c48528be67bfbea84585a5f6d5b5528c5f030c222fc26331f3f", + "0x04c2cf5ad5cc66f41b327d1a4cd4bb4bc6006cc48ccda31a9bb943c40cfe4137", + "0x05df9fe44f2dd2bc21e2883077c78aed05e35c3b27b4acaf603aa29e7e17ea82" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000001" squeeze_mode = false @@ -1327,131 +1327,131 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" sibling_path = [ - "0x0f8f726e833df2994b5e4f7236bb20b770b92eeddaa5e11c229e396b784aac56", - "0x24d3d34d155de7ba76e941299ef9b12edeb7de094e758c30ab32f54a32954ae5", - "0x234d319aa3526e9e00d76d9b5b9b18b435756035ad00d8d716e1be50ac82ead3", - "0x2648004ca39ab2f7f01e8733c2de2d035675568a1c98d1410ce90ac2512e72e2", - "0x15313312ac8ca4825afd3891479fbb14626ca65499d939e23b1f653cd7d018ea", - "0x19de2a32662702dd872e529ad89836e16b013012f910daf2bc7c2a67356dd107", - "0x1f07bca7a14f9a969539c0afd388affa18926689f431fc541841a2a7604d388c" + "0x09b4bb0061881fc354c5fadf8dc55f36b0c67dc3b2f58a18406363dfa0b079fa", + "0x2136af42d41c58f3fd528f4e88c2de5152c2bb251a3c4d8950d4401a0c8ae6ff", + "0x02d4017a1d1c142d1fdf34bf701748bd9db29906e0114ac657648a51d10b6799", + "0x146274c75e0cce377b1764ae8c0ba9167cfb0632d9453ac4c5b521f5d45cee4c", + "0x10fa882cccd67cfee268da2a5d99ed42a34302ecebc26f4b3254e41507b3ee42", + "0x133dc174ef877c42d59ac5fe87733ce13f9355587db788e3b490832c7afbcfd2", + "0x13482b383bc59a6da6ab4e998b0986c23166d0aba121fc0789e9f14605af653b" ] [inputs.previous_rollups.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000008580b9a8c85e4a3c1e7b1089bd79f3bc28", - "0x000000000000000000000000000000000022dc01e3ed0e1b10bdcff9d093431a", - "0x00000000000000000000000000000054f9950035e8ffae852707e9d1a9032e59", - "0x0000000000000000000000000000000000276c56cb94e0545b3bfd85919a8ce8", - "0x0000000000000000000000000000009352ff9d82645804416a2b338260fa235d", - "0x000000000000000000000000000000000010a253776d2bdcb7129acfa2e91ac5", - "0x00000000000000000000000000000095babbbc4a6d5a9b68707c3a8e1e9508e2", - "0x000000000000000000000000000000000030157ca77e90f7ee9155c1009b06a1", - "0x000000000000000000000000000000068047e82e283284235befaa9cc7a1838d", - "0x00000000000000000000000000000000000bcd70cc5042e81e440b1ea5ef3c3f", - "0x0000000000000000000000000000007702a95c1bf5e2923ca69f26cc2d7efe0f", - "0x00000000000000000000000000000000000adeb0e8b1074c68de2b2172f21c5e", - "0x000000000000000000000000000000520354133ccbbccfc69be0c01b92abdf0f", - "0x00000000000000000000000000000000002dea248e3c2fe054c698a861bf4c27", - "0x000000000000000000000000000000f93b6112b7de5c27298a81c68d502b7beb", - "0x00000000000000000000000000000000002be3a33fc9502b0cc8b9427fcfe50f", - "0x000000000000000000000000000000168f01ff83f4a014a90db19e5d882a0a0a", - "0x000000000000000000000000000000000008876edc3cc7e3825dc194e21cb011", - "0x0000000000000000000000000000006d1df389f06e514e1829af3744dc64294a", - "0x000000000000000000000000000000000022e86ef68622bd107e5080cc062a4f", - "0x000000000000000000000000000000d137fc89e86049cb1b141b67b3361b6298", - "0x00000000000000000000000000000000001d7ad7d0634dc08d7d9816b5b6814c", - "0x000000000000000000000000000000defd2454e2c3a75ec8e0730bd3640b9408", - "0x00000000000000000000000000000000000b189f6ee9395b1ca5771c361501d7", - "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", - "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", - "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", - "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x00000000000000000000000000000008262b430328dcaab242dd8acc504e8ac9", - "0x000000000000000000000000000000000015f3ab1410f0e5dd3e00f03b9f563b", - "0x0000000000000000000000000000008fca5ff8ed9a5d41fe9b451f02502dd1c9", - "0x0000000000000000000000000000000000266aa6e4947434ef18adeba3700713", - "0x000000000000000000000000000000d93cecd04341f5da304f3c92f0670afc43", - "0x000000000000000000000000000000000020165b3fd2bfb72a4de3dc68f66eed", - "0x000000000000000000000000000000094a6d376eb3cc1ba94b4da00dea583eac", - "0x00000000000000000000000000000000001caf7742d251b04f3517f0f1e5a625", - "0x0000000000000000000000000000003be5647cd472ad0b06a48f632997e3eea2", - "0x000000000000000000000000000000000015fb4d9ecb8125b3243cee37698c48", - "0x0000000000000000000000000000000854a3ab5bcbca1e86d4949b1b7c5f4b0e", - "0x000000000000000000000000000000000015450314fbf315448dc3379dc82214", - "0x0000000000000000000000000000009c2c55d2ea5bdf5fc5e28f1a78b1d29625", - "0x000000000000000000000000000000000020b36a8406ec64352600587cf04194", - "0x000000000000000000000000000000f14d08d9dab6a54412d741166146188ae6", - "0x00000000000000000000000000000000001b5a34ccd7eaf5cd09ab920011552f", - "0x00000000000000000000000000000074b7827a59faf701f7f41df26e5476c40c", - "0x00000000000000000000000000000000002decbab1c87b933da1625951860793", - "0x000000000000000000000000000000751aab48a0e01094128242ea0aaab63ff7", - "0x00000000000000000000000000000000001a2a334289adf8d23d4d52caf4cfe6", - "0x000000000000000000000000000000f6a41261290460b25e1e7d7bf69b564ae6", - "0x00000000000000000000000000000000000296925feaed4585bb03319f126d96", - "0x00000000000000000000000000000055b70d653ebd7df04f720951e76a27369b", - "0x000000000000000000000000000000000019744937a687edc9f46fb8323a46d9", - "0x00000000000000000000000000000047978fda5b64d8fc4571f09da3e8ccc7de", - "0x0000000000000000000000000000000000139de6a387109f47ecbacc74e03742", - "0x0000000000000000000000000000007f5afdfcb7bcd85aa293676e18e899a03e", - "0x000000000000000000000000000000000006a2971c1c947f4cadb07ebc9bc980", - "0x0000000000000000000000000000006cdb69a57b7f7a25b99e18fc0f83c1bc70", - "0x000000000000000000000000000000000028f2a76a01dc3cc927cdba29383e9b", - "0x0000000000000000000000000000001bbc4d6033de44907975ce473bc0f4f148", - "0x00000000000000000000000000000000002642f26fc1850c4b9b7fc4cd860ab9", - "0x000000000000000000000000000000ac996074e35eb268f6ebbe99e9c7d26c47", - "0x00000000000000000000000000000000002262620617978a01f75646f1909969", - "0x000000000000000000000000000000e63aa32bcc098428f407b5e07d9cb26118", - "0x000000000000000000000000000000000022b294b6a7dc4c17319f9a91a1b443", - "0x000000000000000000000000000000649d9ce9147431632893f55d3c6bbc158e", - "0x000000000000000000000000000000000020698c9b0787f14aa66a57bc232ec1", - "0x000000000000000000000000000000b4fde29f9bde909609d70bf9862dd65cf1", - "0x000000000000000000000000000000000005fcac9b75cac50d87ca827678c070", - "0x00000000000000000000000000000071e27b0a0dd0e2180985072f4a949f0c1d", - "0x000000000000000000000000000000000025d2d1388eddcf016213f1cadc763f", - "0x000000000000000000000000000000b216bad715cdfa7c382d30d7a368cc1346", - "0x0000000000000000000000000000000000302dbbf78b13a6d71d1978b5607145", - "0x00000000000000000000000000000002ebdec49969d2ff9220240bbcb8730617", - "0x000000000000000000000000000000000027f41cad8540e47008c1da90340ef6", - "0x000000000000000000000000000000e8259148321315cc34166a206fe910c6cb", - "0x000000000000000000000000000000000013444efc30c7688d961f36de252af6", - "0x0000000000000000000000000000005b7c7ad432291e9dff1dfad51159e50dbf", - "0x0000000000000000000000000000000000205ec973a0d1c898c1def7852353b3", - "0x0000000000000000000000000000007940a7e88fe5ce47af688975c92be1b62a", - "0x000000000000000000000000000000000015bdab44fe41eec6ee62ed58f55ff5", - "0x0000000000000000000000000000003693b90aedcd664eede665df6f376cf526", - "0x0000000000000000000000000000000000207c38fd6851d1568fe18a83585f31", - "0x000000000000000000000000000000f1a8a60975b9b092aab1421166be08c2f5", - "0x000000000000000000000000000000000015450d2e8ea17db209302582b886f1", - "0x000000000000000000000000000000526e857040a344bd434bfdbf94d3a49196", - "0x00000000000000000000000000000000000d0112b922a852c4754ab3929d6d02", - "0x000000000000000000000000000000d88041fa28c8118a58ceacbcc8780844b5", - "0x00000000000000000000000000000000002584170ebef150b71c5e6aa93e2fbb", - "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", - "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", - "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", - "0x000000000000000000000000000000000017080f8d1d21b541de1c64d8b794df", - "0x000000000000000000000000000000621557759a0775ea5575adc9c6fbd96d56", - "0x00000000000000000000000000000000001cd60c23a37c42d7e46e1e19e966ae", - "0x0000000000000000000000000000000d52081b2311a7e9bf52407cf3d2c336b3", - "0x0000000000000000000000000000000000003b2312f2f2f419434a1440d40c69", - "0x000000000000000000000000000000d26082083660d6ac8bffb639994e4500e7", - "0x000000000000000000000000000000000019d6ef8ce569e7fa55b8aab7f5eea6", - "0x00000000000000000000000000000078d8a04f7b6c536d3a8a35c790b4dc7ddc", - "0x00000000000000000000000000000000001111470a41156a530334d2c08511a5", - "0x0000000000000000000000000000008ab4119a5478448b7ec3573de2cdfd8e56", - "0x0000000000000000000000000000000000263c7bd4cde5591308156c458d2989", - "0x0000000000000000000000000000004a676142c9eca140ac96ab9ca49633e141", - "0x00000000000000000000000000000000001de62520faa095ad7513f753e0a73e", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000a2c4fbcbebac01e208127093cbf44780d4", - "0x00000000000000000000000000000000001ca34545a074b1cb689aa0b343402d", - "0x000000000000000000000000000000a58c28598055d8818a6dbadd0018904386", - "0x0000000000000000000000000000000000152154cbc213630f5c7ec1ee37751b" + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x000000000000000000000000000000f944590031f1d3b251c3dc90ea2821c71d", + "0x00000000000000000000000000000000000d31fd1a4942efade625e012c77df1", + "0x0000000000000000000000000000001e9acd89b92c18e3d89b881b26312bb12b", + "0x000000000000000000000000000000000000736f00a23cbea07da614d8b767e4", + "0x00000000000000000000000000000012167fb1f0d3b9afea7d534404e3b36b53", + "0x0000000000000000000000000000000000021e6d056d0d40c720927abd39c872", + "0x0000000000000000000000000000004ea3f0c21ee1056b3e2ad9c082242e5a2e", + "0x00000000000000000000000000000000000c574204fd079871ae599e192d72c8", + "0x0000000000000000000000000000002654c5b2b175f95fdb2ab405dcc4220545", + "0x00000000000000000000000000000000001fd13a35df71290c2354c6c5f610de", + "0x000000000000000000000000000000d5e3b3464d67c82f035b33016912264b04", + "0x000000000000000000000000000000000009fcdab45c12d2f313f95b94a1dcb8", + "0x000000000000000000000000000000768c5a9d8ca0081f67ff3171a7ffe3ba49", + "0x00000000000000000000000000000000001cd676b8d32bb0bb898d83a9f49a2b", + "0x00000000000000000000000000000028650bc3473de217fbfec1e9fb10e4e999", + "0x0000000000000000000000000000000000260c000ea0ebc3db3ba672328007a5", + "0x000000000000000000000000000000f1948fbf68599bf0628f118156de61f57f", + "0x00000000000000000000000000000000000033e796d200425f6a499de18dbfeb", + "0x00000000000000000000000000000016a35cf8fc5f017037adf860723e6346e5", + "0x0000000000000000000000000000000000088cf6d72197800bb1300677f734a7", + "0x00000000000000000000000000000047169c153b6cc24bbac1e4126410779ccb", + "0x000000000000000000000000000000000022b70bfb92e8c7944ae65a49b7effa", + "0x000000000000000000000000000000425c661c37104ad33c2054f3cfde9954d0", + "0x000000000000000000000000000000000000c36b8ecc5963bef022dea4dfadcc", + "0x0000000000000000000000000000006f206a04895661d3bd004222a1f8a7fc73", + "0x00000000000000000000000000000000001b12a59a820d3aa543a594a1b9d92f", + "0x0000000000000000000000000000002103559842aca1e08af33bb1f714ebc02a", + "0x00000000000000000000000000000000001b8936a0be628b58af9859c2a851d1", + "0x000000000000000000000000000000862e0c485b99696417d296ecc2b2bac316", + "0x00000000000000000000000000000000000ae46fcce211297d2d7fcab27fc041", + "0x000000000000000000000000000000551700c158e12cb40d8ea4ef2563b6fb43", + "0x00000000000000000000000000000000000b515d88939b250a4a4758e4e2ea53", + "0x000000000000000000000000000000f4bae0ad0baeb9d42c7fe2ae3d18c98fad", + "0x00000000000000000000000000000000002a20d66bd435a17fdf1eaf345d5933", + "0x000000000000000000000000000000ed8a8ba528c7088b1ae4730572e1ec32c8", + "0x000000000000000000000000000000000009506de430d6b9f9863e6f10cd35fb", + "0x000000000000000000000000000000682b627744ce0319f4d9191675057282fb", + "0x000000000000000000000000000000000017de059961f8c12752abd299396f86", + "0x000000000000000000000000000000b975958ec262178729e94350c0e7543fb0", + "0x0000000000000000000000000000000000220ce50e394560e53f025e094d17aa", + "0x0000000000000000000000000000001fca3a68a28d438e85e9dc955856752779", + "0x000000000000000000000000000000000028f8f3400bb3b9d19b02ec709e2ee4", + "0x0000000000000000000000000000004e35d073460b0634ebe216d49a3dca9b36", + "0x00000000000000000000000000000000000cb0f5827b08075c405353f10ba632", + "0x0000000000000000000000000000001ece860550ce14fae74eda0123ded56a74", + "0x00000000000000000000000000000000000a34b258bd3daaf8f9edd201c25ed3", + "0x0000000000000000000000000000008cb28ae85d58a75302229585a9ad114c2b", + "0x000000000000000000000000000000000014aac1da344ad32659c3036510fcc1", + "0x000000000000000000000000000000822b45036d5c2befa8a20df910513570c4", + "0x000000000000000000000000000000000011244b388e709fbcb7f54658cfac43", + "0x000000000000000000000000000000389de9951eb8fad7e25e4ad0a9229d2275", + "0x0000000000000000000000000000000000136e6eb0ee251f9b12336cb7bb46ee", + "0x00000000000000000000000000000088f21d9f6c7c54ce4e9a4c103a91b54a58", + "0x0000000000000000000000000000000000187f2beab9a05ca29d2137ee7cbc19", + "0x0000000000000000000000000000009c703a5eb43dcef0686e08fa57ef452f68", + "0x000000000000000000000000000000000012caebb183f1490d3e4f2a2c583ab6", + "0x0000000000000000000000000000009dab4a0aa8d4954a8e1761db3da148a746", + "0x0000000000000000000000000000000000230a08da3b62fd6479b4230760b686", + "0x00000000000000000000000000000081a00a1e38bbd5212603f18ef982a5189d", + "0x000000000000000000000000000000000021ae0f9df38f1e70fa3c26867f4ee8", + "0x0000000000000000000000000000001a722dbd34f841b4823cd055149fce642f", + "0x000000000000000000000000000000000002df2693a9b134670cfe72bf29b363", + "0x00000000000000000000000000000007c906c328630b844b0797e34cedccd1ec", + "0x00000000000000000000000000000000002ab2ae39dd9c0259f7dfb1dda47e81", + "0x000000000000000000000000000000ac6642a4923aa2df07a00a9d3e462b0ed1", + "0x000000000000000000000000000000000015afb7af6c0fc23a24457aa887df9c", + "0x0000000000000000000000000000004d916ec23ef29c0b6134f208e3535671d4", + "0x00000000000000000000000000000000000d37c6c25852903d79475133d414e8", + "0x00000000000000000000000000000029ad212431ba1972de7ee0ba9f12113be3", + "0x000000000000000000000000000000000005c2393db23155844d4f71bead84d0", + "0x000000000000000000000000000000c69074efa82a4910eaf8ab8689d7aafcad", + "0x000000000000000000000000000000000029f3d77437006a0eacf1a149c4b8a0", + "0x00000000000000000000000000000030926853da69d4016eca2f1f0df5e5316f", + "0x000000000000000000000000000000000014841d3291aecd45ea0e05657dbed2", + "0x00000000000000000000000000000052fdb060fe666a3f686088f1f6996a1cf9", + "0x00000000000000000000000000000000002be878eb09939603b391aa9ee0393a", + "0x000000000000000000000000000000d99de3b49476e64c0138037838cfc63803", + "0x0000000000000000000000000000000000260874b43f32c373783efe7ef200a2", + "0x0000000000000000000000000000004951edbb25e9c6b65d446e3418b2b3f16e", + "0x00000000000000000000000000000000002300fac13ab48d40a91114d1ff9627", + "0x00000000000000000000000000000090b8d216da73861ee276dddb17428d8c09", + "0x000000000000000000000000000000000028f906106984e5fa78812869cc1aee", + "0x000000000000000000000000000000ce2aff6eda49d5b8be6ee42104d2aa21e0", + "0x000000000000000000000000000000000002833f671993d2b772b5dec0e12056", + "0x0000000000000000000000000000008be4e7cfb1fdf317a33b7bc3530625e6b8", + "0x000000000000000000000000000000000023404bed8e224a350755410e5c96b2", + "0x000000000000000000000000000000cd9a812fad3fe3a89983e416b70529445b", + "0x00000000000000000000000000000000000b66296ff191a2cf6dbe6ca03dcd0c", + "0x0000000000000000000000000000005eefcb3c6f69064ed55425945fcc74c2bc", + "0x00000000000000000000000000000000001613278bd29c20c182e6f3b5e367ce", + "0x0000000000000000000000000000006c39d4dd8c65752b9bc2628fcc3dbf415c", + "0x00000000000000000000000000000000000d4b721e385647b57de3efbc9952db", + "0x000000000000000000000000000000e26e87fb5ad793c153110c1e55129d9ee7", + "0x00000000000000000000000000000000001986fe851f46fd25818f580f9d55f1", + "0x0000000000000000000000000000007a7eb895f6f2419aafb58de3f81b3f6739", + "0x00000000000000000000000000000000000d1289085013119c588fbcdbb11f5e", + "0x00000000000000000000000000000061358ce9820bc7ced39ca91d017f767cfa", + "0x000000000000000000000000000000000018a26c04d92048605adf6b40fbe696", + "0x000000000000000000000000000000924ee754d49e43f0991a540ece79958ad1", + "0x00000000000000000000000000000000001faa0f64d400addf955b2f4a8181ec", + "0x0000000000000000000000000000000c13651a87f101a4d0bf32619d4326c45b", + "0x000000000000000000000000000000000002809feb719732fbf341dd249e671d", + "0x0000000000000000000000000000003523e8c751d17a4dcd30540a4f9261403b", + "0x00000000000000000000000000000000001466cc1bd7c1743fca0477c4ea4481", + "0x0000000000000000000000000000001eee81b23a887f299049b14c11e98460d6", + "0x00000000000000000000000000000000002a56ce41f6b0be13b9c26747621b82", + "0x000000000000000000000000000000d5827d6338c78656c0d12ca1aea6ef2c7c", + "0x00000000000000000000000000000000001aa98f2de3ddda547d8f6de4e725de", + "0x0000000000000000000000000000003e895e3756deb16393c59a6a9d3669ce0f", + "0x0000000000000000000000000000000000262d7f27b9058ca9bd2e0620f9a3d3", + "0x000000000000000000000000000000b98c4ce00d755cb57daf4bc1b860536fc3", + "0x0000000000000000000000000000000000017137ecc6753555f49859a34eeb62" ] - hash = "0x0c9b0fab06de495eb1835dc184eb51d6584a970a90bb9c9dba17ab97e9b6dee6" + hash = "0x05df4d5edfe80160c2f684f683ed1ef5fb3a539be4cfb97957b2d7f5c3ab9ead" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-merge/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-merge/Prover.toml index 28d9ad79f9c8..e1c95dc4ee1c 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-merge/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-merge/Prover.toml @@ -484,7 +484,7 @@ proof = [ [inputs.previous_rollups.public_inputs] checkpoint_header_hashes = [ - "0x004d16fb29611dba53004101a433c88fddade0ec60446fddec1589851839a774", + "0x00ba58769fa3e9ec12fd9ab7b264fe69545833f8e7d80571d73ab23a5fc0d4a1", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -520,32 +520,32 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" - protocol_contracts_hash = "0x0333160f082dfc02e255c756febac14dc42c4c88b882e0403d44710c1f0bb80f" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" + protocol_contracts_hash = "0x2947d6ab285fab4b2cde4c027aa22c2146ab8470fe246c99c958116105ad615e" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x00f30d99838de8d9e0b40bb5f19c53ebd2cea2e4e324a6b48a4db2655906ad63" + root = "0x24b436e53660fa0ce7ece2c6a741d91157cbb61a10885ac29d14d58cd3180af8" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x25dd04dc7f0a4299651ea908c014de487c4be771db4d68b458d16aa041af02ba" + root = "0x1bd8fa52c473ccd76cdfd70179aff3b4c59093d598a639557ae1b8798c7c9c4e" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.previous_rollups.public_inputs.previous_out_hash] root = "0x00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af093" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000000" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.previous_rollups.public_inputs.new_out_hash] root = "0x00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af093" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x000000000000000000000000000000000000000000000000003b2f97f0a76c80" + value = "0x0000000000000000000000000000000000000000000000000035dd7429a09780" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [[inputs.previous_rollups.public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -734,53 +734,53 @@ proof = [ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.start_blob_accumulator] - blob_commitments_hash_acc = "0x0000000000000000000000000000000000000000000000000000000000000000" - z_acc = "0x0000000000000000000000000000000000000000000000000000000000000000" - gamma_acc = "0x0000000000000000000000000000000000000000000000000000000000000000" + blob_commitments_hash_acc = "0x00d6847a188b930077a3101f4aa9101df879af2f4ba3d98192671bdff91d365a" + z_acc = "0x09fadf698f44ed60ef99f4cf1f02a5e4bae20ab2c777ef2f262312e4179af8b2" + gamma_acc = "0x152ea6722a0d24ee928218d153639be747e005105bbf45f366483a8f794fccf3" [inputs.previous_rollups.public_inputs.start_blob_accumulator.y_acc] limbs = [ - "0x000000000000000000000000000000", - "0x000000000000000000000000000000", - "0x0000" + "0xf062c57de642dd9de6651787c3e335", + "0x7abcb3fd85a05e708716a7399c23b4", + "0x5ff7" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc] - is_infinity = true + is_infinity = false [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.x] limbs = [ - "0x000000000000000000000000000000", - "0x000000000000000000000000000000", - "0x000000000000000000000000000000", - "0x000000" + "0xeee029bf7b2bda4e9568e610dc676f", + "0x4a5f26a53b04bf523a03022d2ba283", + "0x916569ab4bdfdfdd5e50b597c6e454", + "0x019f18" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.y] limbs = [ - "0x000000000000000000000000000000", - "0x000000000000000000000000000000", - "0x000000000000000000000000000000", - "0x000000" + "0x238f6e09e67017cc5605af0151d6a2", + "0x568c3f78402057433fea52201c6c49", + "0x1608271b45acc1124b7031b1521278", + "0x03e3f3" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0x000000000000000000000000000000", - "0x000000000000000000000000000000", - "0x0000" + "0x7e03f0fd5d9259ec22f5a878b085a2", + "0x43f338bf8a80477fe9e51ec48ae296", + "0x624b" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator] - blob_commitments_hash_acc = "0x00c6080f82da97cd32a6e6f96167937982d1b1d102f2670358d457217207a2a5" - z_acc = "0x1ff8cc937c58f2d72966f69b2e490b6dc7f6704680430ac91ea6c0e6207d4d96" - gamma_acc = "0x1684547681775fced98c96d09e82919f729d14549da6323b669a8512c9b3802e" + blob_commitments_hash_acc = "0x0033179ae5491de60cb7cb226671c0f9cea4921f3cacc19438be4d3faa3197c5" + z_acc = "0x293660ab12ef78b885259a67870ffda82b66285965582c47c2568e27fc16f0a4" + gamma_acc = "0x28353ccf291c3c96b0582bf7464325c8322a026d8cf818681b5adb4350148614" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0xd2054ab1639ea442bd23a5b1c57cf5", - "0x4b6135801975f6ab44b107b0a1e000", - "0x677b" + "0xb102ba7ec86991ae3ba7b2d12b0dc6", + "0xd76e5f1b5af021a20c74cbcd8aad8f", + "0x5d37" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc] @@ -788,35 +788,35 @@ proof = [ [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0xca945aeef9c954013ca54795553295", - "0x9c13e59f13d27ea1d0bbfde41965a9", - "0xf7f9f09f06a5e9f04fb45ab0edb363", - "0x18f7d5" + "0xc579f953d8a89a0c706ffb2abe948f", + "0xbaefc069fa51d7500378d3edc07995", + "0x0f70c87301439b44c18917db9913ab", + "0x087104" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0xb04ef08577b05403570538b51898a0", - "0x2797dcc9fb92375446462d46b4ccbb", - "0x39156e19c6155c4ef0f97030dc5d90", - "0x0ad01d" + "0xd131744519d494f5e8f56689d4443c", + "0xbe7390d50563da363e58d775d860a7", + "0x17eff8005836b5a6ba962eedafff26", + "0x09fbda" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0x551bcc798b08297e8823944cd61ccd", - "0xa11af380fa73225d8ac70a4862f1cc", - "0x24db" + "0x6579a521845bb572269ce72673d0ad", + "0x8e766c234f30ecffc5afead1a0488c", + "0x308b" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x0f20024c268f33a3baa0f8f38bddd3d70a7fe791632d4914d95c44e2099fa150" + z = "0x0a1d5f2cad6d077246e31822fa3d9bf34b71108150947dc49662788446571e05" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0x551bcc798b08297e8823944cd61ccd", - "0xa11af380fa73225d8ac70a4862f1cc", - "0x24db" + "0x5eb6986fde6ed42731f6e9df63ce57", + "0xca3d4bbbb8720e742eb38a1fc0d350", + "0x1f5e" ] [inputs.previous_rollups.vk_data] @@ -824,11 +824,11 @@ proof = [ sibling_path = [ "0x1edc2329182e13c58f5ced1e4ca120ba845e074e81d59ee64d0bbd583ecdd429", "0x1f502972a4bdd0353e082932afca85331d93e89c99ab3a78511939c18eb14641", - "0x1f0a3ab28f16510e4f9a5682a8b5f2826f55082cd639c6b76e6e970d8bb4224d", - "0x268f759e38c9ff705a78c055b44e19f7d2b0227f3c4f2e31d6874550d498abec", - "0x09f661abe743a7c8125aa0498ca1d01914fdac9cadadb415e0d1a05934997b99", - "0x28650667b92be48b116289119fa4794a5fe8fe5792a49d89b9977feae7f685a6", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x18e6586768e6bcc980c4756fb8e50dc355a096b22c3088284883e77065a2dfd0", + "0x250cea05d65b650bc11faa500fa1f37a16296eb5b39b3e19b292aa79cee316b4", + "0x21b9424e712ab7b467087e9f1c9ace17a7caa46d2e96b95fa0e136a68618d37e", + "0x130ead05bf8609707d66dc246899574c8d5f3f60fdc65b3affa4dfdd50c9c602", + "0x175bb0190a44c00aa0f83b47bd63259e980f01e24e9518b9bb8abd2c25e49a02" ] [inputs.previous_rollups.vk_data.vk] @@ -1437,7 +1437,7 @@ proof = [ [inputs.previous_rollups.public_inputs] checkpoint_header_hashes = [ - "0x00db58820ef17b4cb952c006ed78296097c3fcf7fd0fc3e3cec1f8260fc64045", + "0x008fb5a2af014eed924e6550a1a568a936137e0ae9596268bdd3a5e228642d41", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1473,32 +1473,32 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" - protocol_contracts_hash = "0x0333160f082dfc02e255c756febac14dc42c4c88b882e0403d44710c1f0bb80f" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" + protocol_contracts_hash = "0x2947d6ab285fab4b2cde4c027aa22c2146ab8470fe246c99c958116105ad615e" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x25dd04dc7f0a4299651ea908c014de487c4be771db4d68b458d16aa041af02ba" + root = "0x1bd8fa52c473ccd76cdfd70179aff3b4c59093d598a639557ae1b8798c7c9c4e" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x24f3d6261780561e8ede638edf15d34d9f93372572631856307c57a08dfb9cb1" + root = "0x164e208dc9944fbd2d066b942b2d8d46c2c8818ca65c808dcdaa555f43f1de9a" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" [inputs.previous_rollups.public_inputs.previous_out_hash] root = "0x00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af093" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [inputs.previous_rollups.public_inputs.new_out_hash] root = "0x00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af093" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000004" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x00000000000000000000000000000000000000000000000000d0f074eda98980" + value = "0x000000000000000000000000000000000000000000000000003b2f97f0a76c80" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [[inputs.previous_rollups.public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1687,15 +1687,15 @@ proof = [ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.start_blob_accumulator] - blob_commitments_hash_acc = "0x00c6080f82da97cd32a6e6f96167937982d1b1d102f2670358d457217207a2a5" - z_acc = "0x1ff8cc937c58f2d72966f69b2e490b6dc7f6704680430ac91ea6c0e6207d4d96" - gamma_acc = "0x1684547681775fced98c96d09e82919f729d14549da6323b669a8512c9b3802e" + blob_commitments_hash_acc = "0x0033179ae5491de60cb7cb226671c0f9cea4921f3cacc19438be4d3faa3197c5" + z_acc = "0x293660ab12ef78b885259a67870ffda82b66285965582c47c2568e27fc16f0a4" + gamma_acc = "0x28353ccf291c3c96b0582bf7464325c8322a026d8cf818681b5adb4350148614" [inputs.previous_rollups.public_inputs.start_blob_accumulator.y_acc] limbs = [ - "0xd2054ab1639ea442bd23a5b1c57cf5", - "0x4b6135801975f6ab44b107b0a1e000", - "0x677b" + "0xb102ba7ec86991ae3ba7b2d12b0dc6", + "0xd76e5f1b5af021a20c74cbcd8aad8f", + "0x5d37" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc] @@ -1703,37 +1703,37 @@ proof = [ [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.x] limbs = [ - "0xca945aeef9c954013ca54795553295", - "0x9c13e59f13d27ea1d0bbfde41965a9", - "0xf7f9f09f06a5e9f04fb45ab0edb363", - "0x18f7d5" + "0xc579f953d8a89a0c706ffb2abe948f", + "0xbaefc069fa51d7500378d3edc07995", + "0x0f70c87301439b44c18917db9913ab", + "0x087104" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.y] limbs = [ - "0xb04ef08577b05403570538b51898a0", - "0x2797dcc9fb92375446462d46b4ccbb", - "0x39156e19c6155c4ef0f97030dc5d90", - "0x0ad01d" + "0xd131744519d494f5e8f56689d4443c", + "0xbe7390d50563da363e58d775d860a7", + "0x17eff8005836b5a6ba962eedafff26", + "0x09fbda" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0x551bcc798b08297e8823944cd61ccd", - "0xa11af380fa73225d8ac70a4862f1cc", - "0x24db" + "0x6579a521845bb572269ce72673d0ad", + "0x8e766c234f30ecffc5afead1a0488c", + "0x308b" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator] - blob_commitments_hash_acc = "0x00ff28bea8c07e7b060d248cb2071f813aa6e39e07e3a527c1739e6a7793c093" - z_acc = "0x11b2ee0dde26d315a246f5bdc01db8abe8200c6581201debd1cffc51ad26f95d" - gamma_acc = "0x152f389c138d41dde799d4f4fc748753332ddcd5bcd19fe35e4fbe60581534c2" + blob_commitments_hash_acc = "0x00996b577cb6f53aa9d5d22026fa7e7ed5a2a8976186df5414ed93231113a1b3" + z_acc = "0x04b51a58745a148f28f5c26a2d502c8001354179837d098e3af3955de34bf714" + gamma_acc = "0x1bfd4f0bfbabe502f62a2825f8fbc6b52df23371928e6422797997084279f299" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0x4183756e36181f92164c36776c2ba3", - "0xaff710205b13b83794ee63e35bb424", - "0x411e" + "0x0194e1d1e3be1d6f12d6eeb0e18311", + "0x447972f46deb3eff934723afb8d8de", + "0x2435" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc] @@ -1741,35 +1741,35 @@ proof = [ [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0x6e2f87b978f4bca529d7ad90a41cd8", - "0x734aa1582c8aee32f8334cfc594ab0", - "0x21aa57d7e1012415e25e37ee62bbcb", - "0x015e58" + "0x5e7c6caafcf94afa0766159ff528a4", + "0xecf78cbd1e0c5335e42da88a421390", + "0x39fa11170a3706ed93d37f65f0f7a4", + "0x169dc0" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0xd8e530734ccb89f49a545e13ead68c", - "0x914523b3ef75387e032ac9fef36157", - "0x5342c94a6ba1df16b871173b323290", - "0x1604f8" + "0xb6ad8a240910f66dd9deea18fb02f5", + "0x7abb241ff936e62fe95dba9efaca7a", + "0x2a5bfb0a073fe526435c3e8bfedbae", + "0x125deb" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0xc0250cc6b8725b2b00687dab94d327", - "0xd7f65a721538376d885811c9aafe6f", - "0x297f" + "0xc962ef153772fa92ab05d6d4de0b69", + "0xc842f223fc7445950dc69c40c23ee4", + "0x05a5" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x0f20024c268f33a3baa0f8f38bddd3d70a7fe791632d4914d95c44e2099fa150" + z = "0x0a1d5f2cad6d077246e31822fa3d9bf34b71108150947dc49662788446571e05" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0x551bcc798b08297e8823944cd61ccd", - "0xa11af380fa73225d8ac70a4862f1cc", - "0x24db" + "0x5eb6986fde6ed42731f6e9df63ce57", + "0xca3d4bbbb8720e742eb38a1fc0d350", + "0x1f5e" ] [inputs.previous_rollups.vk_data] @@ -1777,11 +1777,11 @@ proof = [ sibling_path = [ "0x1edc2329182e13c58f5ced1e4ca120ba845e074e81d59ee64d0bbd583ecdd429", "0x1f502972a4bdd0353e082932afca85331d93e89c99ab3a78511939c18eb14641", - "0x1f0a3ab28f16510e4f9a5682a8b5f2826f55082cd639c6b76e6e970d8bb4224d", - "0x268f759e38c9ff705a78c055b44e19f7d2b0227f3c4f2e31d6874550d498abec", - "0x09f661abe743a7c8125aa0498ca1d01914fdac9cadadb415e0d1a05934997b99", - "0x28650667b92be48b116289119fa4794a5fe8fe5792a49d89b9977feae7f685a6", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x18e6586768e6bcc980c4756fb8e50dc355a096b22c3088284883e77065a2dfd0", + "0x250cea05d65b650bc11faa500fa1f37a16296eb5b39b3e19b292aa79cee316b4", + "0x21b9424e712ab7b467087e9f1c9ace17a7caa46d2e96b95fa0e136a68618d37e", + "0x130ead05bf8609707d66dc246899574c8d5f3f60fdc65b3affa4dfdd50c9c602", + "0x175bb0190a44c00aa0f83b47bd63259e980f01e24e9518b9bb8abd2c25e49a02" ] [inputs.previous_rollups.vk_data.vk] diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root-single-block/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root-single-block/Prover.toml index d140961b168f..4082395687cc 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root-single-block/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root-single-block/Prover.toml @@ -483,70 +483,70 @@ proof = [ ] [inputs.previous_rollup.public_inputs] - timestamp = "0x0000000000000000000000000000000000000000000000000000000069fde108" - block_headers_hash = "0x04c025c44ceb642aa54659bf652c91b00ccb432f9837ec84c1c282e567c223fc" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0b2d77" + block_headers_hash = "0x09ae38c4bdd7cdbfee06b35cc61272ed229c502820948e040a4acf7081f149e0" in_hash = "0x00de7b349d2306334734e4f58b1302a6ed5a6c796a706f6597a5641b6d468223" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - accumulated_fees = "0x0000000000000000000000000000000000000000000000000022e452ad469ea0" - accumulated_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a3979" + accumulated_fees = "0x00000000000000000000000000000000000000000000000002449f1e83b9af00" + accumulated_mana_used = "0x000000000000000000000000000000000000000000000000000000000008992c" [inputs.previous_rollup.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" - protocol_contracts_hash = "0x0333160f082dfc02e255c756febac14dc42c4c88b882e0403d44710c1f0bb80f" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" + protocol_contracts_hash = "0x2947d6ab285fab4b2cde4c027aa22c2146ab8470fe246c99c958116105ad615e" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000043" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" [inputs.previous_rollup.public_inputs.constants.coinbase] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [inputs.previous_rollup.public_inputs.constants.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup.public_inputs.constants.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000003699e8ba0" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000004386faeb40" [inputs.previous_rollup.public_inputs.previous_archive] - root = "0x24f3d6261780561e8ede638edf15d34d9f93372572631856307c57a08dfb9cb1" - next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" + root = "0x2d7278322ae3f2f02196f7b5eb323c037067b5a8bb27bb36e5936e01618b922e" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [inputs.previous_rollup.public_inputs.new_archive] - root = "0x0f84849714aa969caef587fe17273c9fae12f846c68db0f1ab092faf93a29145" - next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000c" + root = "0x24b436e53660fa0ce7ece2c6a741d91157cbb61a10885ac29d14d58cd3180af8" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.previous_rollup.public_inputs.start_state.l1_to_l2_message_tree] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002800" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000001c00" [inputs.previous_rollup.public_inputs.start_state.partial.note_hash_tree] -root = "0x2126a6e400b3fae90b44b74482d5b59dc707ba8f044c90a5f0e06ff48029f19f" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" +root = "0x1ebd1f6284edfa586309202f29d58f8211b22ad55f0913e7a61e37e8f558c52b" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000001c0" [inputs.previous_rollup.public_inputs.start_state.partial.nullifier_tree] -root = "0x0e8d32952999631ff527d706426177bdb3208db1d3b8dd4e74ba883610dc37e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" +root = "0x0c877a1bf89b9eae6a04511e6f74bfaa71157ae9e20aa265ec7fb092914f6726" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.previous_rollup.public_inputs.start_state.partial.public_data_tree] -root = "0x0d21d4944ca04ad548057c7362ba76b7370e29929fe9cdd32ec1d04c07e21179" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x21c0735ecdd66391ddb7fff9448a7973f1b8b4399648b1a150afb92d3a0d0ff5" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.previous_rollup.public_inputs.end_state.l1_to_l2_message_tree] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002c00" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [inputs.previous_rollup.public_inputs.end_state.partial.note_hash_tree] -root = "0x2126a6e400b3fae90b44b74482d5b59dc707ba8f044c90a5f0e06ff48029f19f" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" +root = "0x1ebd1f6284edfa586309202f29d58f8211b22ad55f0913e7a61e37e8f558c52b" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.previous_rollup.public_inputs.end_state.partial.nullifier_tree] -root = "0x28f8d2b1f0315d8539c1e4ff651e2eaac034de0a2271cd6f198f557ecf449cb1" -next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000003c0" +root = "0x1e42767e9c9083af802ea9f53b7957180260f8a4cd73a99b61551c292f090fbe" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.previous_rollup.public_inputs.end_state.partial.public_data_tree] -root = "0x1a010e7a4312757d9349e0058c907064764c9836de016199dbd957ca46fefc3b" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x24d209b2c68b99743e478e8ff0ffe01bf8b627abb2c72b2d74253277ffbe26a0" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.previous_rollup.public_inputs.start_sponge_blob] num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -567,33 +567,33 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 squeeze_mode = false [inputs.previous_rollup.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000011" + num_absorbed_fields = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.previous_rollup.public_inputs.end_sponge_blob.sponge] cache = [ - "0x1a010e7a4312757d9349e0058c907064764c9836de016199dbd957ca46fefc3b", - "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a", - "0x28f8d2b1f0315d8539c1e4ff651e2eaac034de0a2271cd6f198f557ecf449cb1" + "0x1e42767e9c9083af802ea9f53b7957180260f8a4cd73a99b61551c292f090fbe", + "0x24d209b2c68b99743e478e8ff0ffe01bf8b627abb2c72b2d74253277ffbe26a0", + "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" ] state = [ - "0x0e1dd9cced5f0826c6e4058004b9cb3a696b39c148c0354124d03d9ed9b4ef46", - "0x0e88efccb1b5effd0110855538123edbbdb2e94b791607a00b954bece2a9bfc9", - "0x1957ffd20204e64443fb09410f7b76cfb098ff3becc10b9e08208fad4d4b03cb", - "0x0c822003a2f7fd4b344c8b039a0d20ff579eed35b7d7e49c8d2fbda1d2e1560c" + "0x294da480f532f9cf8882572adfb599fcea5cf5e13bd97e903a0edbc71bc098e1", + "0x04a930a66e3a346e476c659793e6fee319f3cd0b2657de9fe293ceeb8e105ff6", + "0x203d216c6dd630eba962b8072458bedf7d9a44841805fd481883662fe854327a", + "0x095b497103f425dbb2d5d2fc815c146b922f8b615a25957df526930cea50a313" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false [inputs.previous_rollup.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" sibling_path = [ "0x1276688c1c8f1024c963d35957328b73153c55580532254f0676c26e2ad55993", - "0x1025a6a71839d2ab10e9652312547fd6944d80234a52379f6a944c2500ebc294", + "0x086165748e62548024cf40b2812afa99e17d1b248dc89861b56485995305a5ca", "0x02d4017a1d1c142d1fdf34bf701748bd9db29906e0114ac657648a51d10b6799", - "0x099ef6a9a40aaf85e056bda90684adf858addbb90af303d82f8157b86b705b92", - "0x25f6f5fc25ee815cef59a1889f1e39db3d431d01b01ee1554f9492afec9d41d6", - "0x28650667b92be48b116289119fa4794a5fe8fe5792a49d89b9977feae7f685a6", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x24cead94db344ae1716301e94784822099e114c4deaddb78f16e8724ee376aaa", + "0x1256e2d7faae3069ab6b6eeecdd2ca57f968531ba26c9523d7873d1c01d8a712", + "0x130ead05bf8609707d66dc246899574c8d5f3f60fdc65b3affa4dfdd50c9c602", + "0x175bb0190a44c00aa0f83b47bd63259e980f01e24e9518b9bb8abd2c25e49a02" ] [inputs.previous_rollup.vk_data.vk] @@ -718,10 +718,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hints] previous_archive_sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x1cfdc3f191fd4278971f73de8ee4302bd29051bb0c93c1ba7a8a7feaa4e59846", - "0x14e4b977b2203b70e6ee1c2456eb7114d090fe4b907f631eecd0919fed432e7d", - "0x2b3b2f80ea4227dfe7ab4edec33942ff08b95b023d6d15efb0abde90594c993b", + "0x021ec3586514f8c888aa40f75e3da945b1504d409908f520f3e65c85b552495b", + "0x304d599cf4ed52817a3206c05651477614f9456baa967427479e1f1c475e1e2d", + "0x150ab49c0bdc816db61f65db0c30c6c26aaf7ad56f042affb9fe006aa795a971", + "0x30105bad22ddcc508b739b7c9ad87a561c569ff5cb0098a853c1c4ac21b7a037", "0x1e20ad4181460cbfdc74ca773502c59b890f184efe300ebad895956d318422da", "0x1434e6e2d5db1053ab8a3be58704509c799ee17e109c77f441f7bf1755400249", "0x119f56a2e8423a7feaab49b9b5dcbadec0648dfa4096b61b6774ea33ae29dc7f", @@ -757,145 +757,145 @@ new_out_hash_sibling_path = [ "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" ] blobs_fields = [ - "0x00000000009c707518000000010000000300000000000000000000000000000a", - "0x2ca391890a7afa0a4098cceb64d9aa356e84a1055e6e2b3df10e2a5033f0b691", - "0x0000000000000000000000000000000000000000000000000022e452ad469ea0", - "0x09fac458f9e079d0117ef63746c55ce66b3e5d95c8420974d9c69f369b0d77ef", - "0x2935995b8343928a25acdb09654bdc27aeef345ec185caa48fb0048bd475fbcb", - "0x0000000000000000000000000000000000000000000000000000000000001c20", - "0x0dc02e099550676b3dcfd522010d4db9d2c47a4556dfa28aa20a4a0eb35c54a4", - "0x0000000000000000000000000000000000000000000000000000000000000af0", - "0x12d1296a2643b832fbd1d6d3ed3678833fce770084efd75adfd517de8214ccf3", - "0x00000000000000000000000000000000000000000000021e00afaeb15ed67ca0", - "0x0000000000000000000000000000eb8dcdbf0000000069fde1080000000b0001", - "0x000000000000000002c0000000000d0000000003c0000000008b0000000a3979", - "0x24f3d6261780561e8ede638edf15d34d9f93372572631856307c57a08dfb9cb1", - "0x2126a6e400b3fae90b44b74482d5b59dc707ba8f044c90a5f0e06ff48029f19f", - "0x28f8d2b1f0315d8539c1e4ff651e2eaac034de0a2271cd6f198f557ecf449cb1", - "0x1a010e7a4312757d9349e0058c907064764c9836de016199dbd957ca46fefc3b", - "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a", - "0x0000000000000000000000000000000000000000000000008c63744300000012", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000009c70751800000003000000010001000d00000000006c0000000083", + "0x0590b52cd0b0945171050227160d7339dec3eb41a5be14a84d97c17d2bc80ff1", + "0x00000000000000000000000000000000000000000000000002449f1e83b9af00", + "0x13876606079602e1a9f3118b3d14ccd36b2b01915abc971c97eaaf1ad6032a7f", + "0x273617117fe26c8b346c634f743b8d215d0d188fa290d3e3283106fb06d380f1", + "0x1bdad00a23307084c2c182515aeda85e0139ca1eb438836ae93c331dd90e6e7d", + "0x041ecbe21bbbbefd34a95c40b18be9f5fca1323072eeea3a6f5d0136c2a71969", + "0x00000000000000000000000000000000000000000000021e0219674fdaa32380", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x1a7e1badb79abdd38c684b3c8306ffe7ecb33c69e3380d9855730aaaa83a21a8", + "0x09d3e27b2b71e2140366b7b610129b819b841efe0dc06bf715e3eb5b68f65571", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0ced49df8bad805ad50a3b054eb121748b0c4343ea4451686bfeba125dc7e294", + "0x252ec1d53f8683ece6631cefb05fb44afc9ed830f13e8f8e68f7c94210f02eb9", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a26", + "0x00c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c", + "0x1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb151", + "0x0e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b", + "0x082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0", + "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x20f5895a4e837356c2d551743df6bf642756dcd93cd31cbd37c556c90bf7f244", + "0x252ec1d53f8683ece6631cefb05fb44afc9ed830f13e8f8e68f7c94210f02eb9", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x2109f5b7c318644c97ea14f3207164f6704cdd3416bd91448360b63c45d7ec6c", + "0x01d0aee7b081283eb5d46eafb04dd16f380df7fba4803ac42ad7e92c61394ba5", + "0x0000000000000000000000000000000000000000000000000000000000000c3e", + "0x0027000204012800000104804a270000044a2500000041270203040127020404", + "0x00001f0a0003000400492d0849022500000064270202044a27020304003b0e00", + "0x000300022900004304ffffffff27004404032700450404270046040027004704", + "0x000127004804022629020003006efc2c540a2a02030427020501012402000400", + "0x00000084230000019d2d08010427020604040008010601270304040100220402", + "0x00061f3000440047000600220447062d0b060600220448072d0b07071c0a0709", + "0x00041c0a0908001c0a08070400220444082d0b08081e020004001e020004002d", + "0x0008010427020904020008010901270304040100220402092d0a090a2d0e080a", + "0x0027020a040b2d08000b2d0a060d2d0a070e2d0a040f0008000a002500000a61", + "0x002d0200002d0a0d082d0a0e090c2846080424020004000001352500000b7c00", + "0x00220944042d0b040427020704012702090403002a0709082d08010600080108", + "0x0001270306040100220602082d0e070800220802082d0e07082702080403002a", + "0x000608072d0a07082d0e040800220602072d0b07072702080403002a0608043b", + "0x000e00070004230000019d2902000400132874f50a2a02040624020006000001", + "0x00b823000003372d08010427020604040008010601270304040100220402061f", + "0x003000440047000600220447062d0b060600220448072d0b07071c0a0709041c", + "0x000a0908001c0a08070400220444082d0b08081e020004001e020004002d0801", + "0x000427020904020008010901270304040100220402092d0a090a2d0e080a2702", + "0x000a040b2d08000b2d0a060d2d0a070e2d0a040f0008000a002500000a612d02", + "0x0000002d0a0d082d0a0e090c2846080424020004000002692500000b7c002209", + "0x0044042d0b04042d08010827020904020008010901270308040100220802092d", + "0x000a090a2d0e040a27020a040b2d08000b2d0a060d2d0a070e2d0a080f000800", + "0x000a002500000a612d0200002d0a0d042d0a0e090c2846040624020006000002", + "0x00cf2500000b7c00220944042d0b040427020704012702090403002a0709082d", + "0x000801060008010801270306040100220602082d0e070800220802082d0e0708", + "0x002702080403002a0608072d0a07082d0e040800220602072d0b070727020804", + "0x0003002a0608043b0e0007000423000003372902000400bf0791460a2a020406", + "0x0024020006000003522300000445280200080406402d0801092802000a040641", + "0x000008010a012703090401002209020a1f3200080047000a27020a00002d0801", + "0x00062802000b0406410008010b012703060401002206020b2802000c04064000", + "0x002a0c0b0c2d0a0b0d23000003b82d0e0a0d00220d020d0c2a0d0c0e2402000e", + "0x00000003af2d0846042d08460723000003d20c2a04080a2402000a000009f223", + "0x00000003e41e020004001e0200040027020604002702080403002a0608072d08", + "0x0001040008010701270304040100220402072d0e060700220702072d0e060727", + "0x0002070403002a04070600220402072d0b07072702080403002a0408063b0e00", + "0x000700062300000445290200040025a995770a2a020406240200060000046023", + "0x000000062d2d08010427020604040008010601270304040100220402061f3000", + "0x00440047000600220447062d0b060600220448072d0b07071c0a0709041c0a09", + "0x00080000220444072d0b07071e020004001e020004002d080104270209040300", + "0x0008010901270304040100220402092d0a090a2d0e080a00220a020a2d0e070a", + "0x0000220402073a03200043004300060048000720020004210200062d08010827", + "0x0002070400002208020a2d0b0a0a27020b0403002a080b092232000600460009", + "0x002d0a060a2703080401002208020b2d0e0a0b00220b020b2d0e0a0b27020c04", + "0x0003002a0a0c0b0008010b0127020b04002d0a0a0c06220c020c0a2a070b0d2d", + "0x000a0c072402000d000005632d0a07072402000d0000057d0a2a070c0e240200", + "0x000e0000057d2500000b8e24020004000005b3230000058a2d0b080400220402", + "0x00042d0e040800220802062d0b06062702090403002a0809043c0e0604230000", + "0x0005b30c2846070424020004000005c52500000b7c00220844042d0b04042702", + "0x000704012702090403002a0709082d0801060008010801270306040100220602", + "0x00082d0e070800220802082d0e07082702080403002a0608072d0a07082d0e04", + "0x000800220602072d0b07072702080403002a0608043b0e00070004230000062d", + "0x00290200040035be18a00a2a020406240200060000064823000008272d080104", + "0x0027020604040008010601270304040100220402061f30004400470006002204", + "0x0047062d0b060600220448072d0b07071c0a0709041c0a09080000220444072d", + "0x000b07071e020004001e020004002d08010927020a04050008010a0127030904", + "0x0001002209020a2d0a0a0b2d0e030b00220b020b2d0e060b00220b020b2d0e08", + "0x000b00220b020b2d0e070b00220902033a032000430043000400450003200200", + "0x0003210200042d080107270206040000220702092d0b090927020a0403002a07", + "0x000a0822320004004600082d0a04092703070401002207020a2d0e090a00220a", + "0x00020a2d0e090a27020b0403002a090b0a0008010a0127020a04002d0a090b06", + "0x00220b020b0a2a060a0c2d0a0b062402000c0000075d2d0a06062402000c0000", + "0x0007770a2a060b0d2402000d000007772500000b8e24020003000007ad230000", + "0x0007842d0b070300220302032d0e030700220702042d0b04042702080403002a", + "0x000708033c0e040323000007ad0c2846060324020003000007bf2500000b7c00", + "0x00220744032d0b030327020604012702080403002a0608072d08010400080107", + "0x0001270304040100220402072d0e060700220702072d0e06072702070403002a", + "0x000407062d0a06072d0e030700220402062d0b06062702070403002a0407033b", + "0x000e0006000323000008272702030265270204026e2702060274270207027227", + "0x000208026f270209026c27020a025527020b026b27020c027727020d02202702", + "0x000e027327020f0263270210027b270211027d2d080112270213041c00080113", + "0x0001270312040100221202132d0a13142d0e0a1400221402142d0e0414002214", + "0x0002142d0e0b1400221402142d0e041400221402142d0e081400221402142d0e", + "0x000c1400221402142d0e041400221402142d0e0d1400221402142d0e0e140022", + "0x001402142d0e031400221402142d0e091400221402142d0e031400221402142d", + "0x000e0f1400221402142d0e061400221402142d0e081400221402142d0e071400", + "0x00221402142d0e0d1400221402142d0e101400221402142d0e0e140022140214", + "0x002d0e031400221402142d0e091400221402142d0e031400221402142d0e0f14", + "0x0000221402142d0e061400221402142d0e081400221402142d0e071400221402", + "0x00142d0e1114270203010027020400010a2a03050624020006000009f2270207", + "0x00041e2d080108270209041e00080109012d0a08092a030009059b5bbff74a5b", + "0x00ff190022090209002212020a27020b041b2d020a032d0209042d020b052500", + "0x00000ba027020a041b002a090a092d0e040900220902092d0e02090022090209", + "0x003c0e07080c2a07080a2402000a00000a042500000b7c002209020b002a0b07", + "0x000a2d0b0a0a002207470b0e2a070b0c2402000c00000a292500000bd22d0206", + "0x0003280000040406412500000be42d08050c00220c020d002a0d040e2d0e0a0e", + "0x00002204470a2d0a0a042d0a0c062d0a0b0723000003d21c0a03050000220447", + "0x00032d0b03032d08010427020604030008010601270304040100220402062d0a", + "0x0006072d0e050700220702072d0e030700220402033903200043004300020048", + "0x00000320020002210200032d080105270204040000220502072d0b0707270208", + "0x000403002a05080622320003004600062d0a0307270305040100220502082d0e", + "0x00070800220802082d0e07082702090403002a07090800080108012702080400", + "0x002d0a070906220902090a2a04080a2d0a09042402000a00000b232d0a040424", + "0x0002000a00000b3d0a2a04090b2402000b00000b3d2500000b8e240200020000", + "0x000b732300000b4a2d0b050200220202022d0e020500220502032d0b03032702", + "0x00060403002a0506023c0e03022300000b732d0a04022d0a0503262a01000105", + "0x00e408504502b58c1f3c040201262a0100010575fef108377c8a4f3c04020126", + "0x0000000305072d0003082d0004092300000bc42d0108062d0406090000080208", + "0x0000000902090c0008070a2400000a00000bb2262a01000105d007ebf4cbc667", + "0x00903c040201262d0103060a000602072400000700000c392d00010500000104", + "0x000100000304092d00030a2d00050b2300000c222d010a082d04080b00000a02", + "0x000a00000b020b0c000a090c2400000c00000c1027010504012300000c3d2d00", + "0x0003052600000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000eb8dcdbf000000006a0b2d77000000080001", + "0x000000000000000002000000000008000000000280000000008a00000008992c", + "0x2d7278322ae3f2f02196f7b5eb323c037067b5a8bb27bb36e5936e01618b922e", + "0x1ebd1f6284edfa586309202f29d58f8211b22ad55f0913e7a61e37e8f558c52b", + "0x1e42767e9c9083af802ea9f53b7957180260f8a4cd73a99b61551c292f090fbe", + "0x24d209b2c68b99743e478e8ff0ffe01bf8b627abb2c72b2d74253277ffbe26a0", + "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a", + "0x0000000000000000000000000000000000000000000000008c6374430000008b", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -25334,64 +25334,64 @@ blobs_fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] -blobs_hash = "0x0098dfcc50238facc959eceef09a4ed661501b8a94815f8d69ad5b265956d2f1" +blobs_hash = "0x00682a8ea5dd86c86fb5429635732ad886f0310197db03f05ba37d6cf07b72b3" [inputs.hints.previous_block_header] - sponge_blob_hash = "0x208b2bb1ace451b93e09ef0119c861c986fb26bb867456eb5c93661b83befc33" - total_fees = "0x00000000000000000000000000000000000000000000000000d0f074eda98980" - total_mana_used = "0x00000000000000000000000000000000000000000000000000000000001baea4" + sponge_blob_hash = "0x0be6bd8144feece3fe238707409045d13f60f729f75a291fc5a6e8a9d652fc2a" + total_fees = "0x00000000000000000000000000000000000000000000000002449f1e83b9af00" + total_mana_used = "0x000000000000000000000000000000000000000000000000000000000008992c" [inputs.hints.previous_block_header.last_archive] - root = "0x25dd04dc7f0a4299651ea908c014de487c4be771db4d68b458d16aa041af02ba" - next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" + root = "0x22143a53487336dae7b1e2d79f04e2d69537775312e313a6bd2ba1631581b2c3" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" [inputs.hints.previous_block_header.state.l1_to_l2_message_tree] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002800" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000001c00" [inputs.hints.previous_block_header.state.partial.note_hash_tree] -root = "0x2126a6e400b3fae90b44b74482d5b59dc707ba8f044c90a5f0e06ff48029f19f" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" +root = "0x1ebd1f6284edfa586309202f29d58f8211b22ad55f0913e7a61e37e8f558c52b" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000001c0" [inputs.hints.previous_block_header.state.partial.nullifier_tree] -root = "0x0e8d32952999631ff527d706426177bdb3208db1d3b8dd4e74ba883610dc37e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" +root = "0x0c877a1bf89b9eae6a04511e6f74bfaa71157ae9e20aa265ec7fb092914f6726" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.hints.previous_block_header.state.partial.public_data_tree] -root = "0x0d21d4944ca04ad548057c7362ba76b7370e29929fe9cdd32ec1d04c07e21179" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x21c0735ecdd66391ddb7fff9448a7973f1b8b4399648b1a150afb92d3a0d0ff5" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.hints.previous_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - block_number = "0x000000000000000000000000000000000000000000000000000000000000000a" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000042" - timestamp = "0x0000000000000000000000000000000000000000000000000000000069fde0c0" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000007" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000021" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0b2d2f" [inputs.hints.previous_block_header.global_variables.coinbase] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [inputs.hints.previous_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.hints.previous_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000004386faeb40" [inputs.hints.previous_out_hash] root = "0x00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af093" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" [inputs.hints.start_blob_accumulator] - blob_commitments_hash_acc = "0x00ff28bea8c07e7b060d248cb2071f813aa6e39e07e3a527c1739e6a7793c093" - z_acc = "0x11b2ee0dde26d315a246f5bdc01db8abe8200c6581201debd1cffc51ad26f95d" - gamma_acc = "0x152f389c138d41dde799d4f4fc748753332ddcd5bcd19fe35e4fbe60581534c2" + blob_commitments_hash_acc = "0x009da512df7feb01c37d5bcb7e907e17d51fd84ad4460d4c642413504a87bfdc" + z_acc = "0x1a9e1d4cc81124337b17a9c662071843771d6a41f3cf53ee36568c2349b3647b" + gamma_acc = "0x070699060ce578bd02837627c0a9fa9cfb31bdb9f2a27c0dcb057bcd76292927" [inputs.hints.start_blob_accumulator.y_acc] limbs = [ - "0x4183756e36181f92164c36776c2ba3", - "0xaff710205b13b83794ee63e35bb424", - "0x411e" + "0x677c77feb299419897580647b86f12", + "0x1d6d20f741d9fa453db4cbf0848ef2", + "0x45f2" ] [inputs.hints.start_blob_accumulator.c_acc] @@ -25399,35 +25399,35 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hints.start_blob_accumulator.c_acc.x] limbs = [ - "0x6e2f87b978f4bca529d7ad90a41cd8", - "0x734aa1582c8aee32f8334cfc594ab0", - "0x21aa57d7e1012415e25e37ee62bbcb", - "0x015e58" + "0xee591e91d1df051f9b267a38554db6", + "0x6494af33697703d42086d0bac214b2", + "0x42bfd42f76abb7a4329c55bb6ccce5", + "0x10b49f" ] [inputs.hints.start_blob_accumulator.c_acc.y] limbs = [ - "0xd8e530734ccb89f49a545e13ead68c", - "0x914523b3ef75387e032ac9fef36157", - "0x5342c94a6ba1df16b871173b323290", - "0x1604f8" + "0x8dd9d1424edc6766a3ea218b160e52", + "0xe3ee3c4c4e4e143f4caa4d794524a9", + "0xe208c7435d9f16c77e2d4bfc5a9ae7", + "0x0619ab" ] [inputs.hints.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0xc0250cc6b8725b2b00687dab94d327", - "0xd7f65a721538376d885811c9aafe6f", - "0x297f" + "0x5eb6986fde6ed42731f6e9df63ce57", + "0xca3d4bbbb8720e742eb38a1fc0d350", + "0x1f5e" ] [inputs.hints.final_blob_challenges] - z = "0x0f20024c268f33a3baa0f8f38bddd3d70a7fe791632d4914d95c44e2099fa150" + z = "0x0a1d5f2cad6d077246e31822fa3d9bf34b71108150947dc49662788446571e05" [inputs.hints.final_blob_challenges.gamma] limbs = [ - "0x551bcc798b08297e8823944cd61ccd", - "0xa11af380fa73225d8ac70a4862f1cc", - "0x24db" + "0x5eb6986fde6ed42731f6e9df63ce57", + "0xca3d4bbbb8720e742eb38a1fc0d350", + "0x1f5e" ] [[inputs.hints.blob_commitments]] @@ -25435,18 +25435,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hints.blob_commitments.x] limbs = [ - "0x1f41ee1ce165ab1325a3d58dcce4b0", - "0x8cc2d9c146e110aecfd6e1d0a88478", - "0x5f035ed6b113a1d400984d75519e9c", - "0x0c2ecb" + "0xf54d4bafcdeb415daf044bfbc4959a", + "0x4ba7a36a0219a6a364c57913dd510b", + "0xa755c27bc765ce4d23bcabe820b2db", + "0x053fbb" ] [inputs.hints.blob_commitments.y] limbs = [ - "0x6e4b336ccd13490195783945cd06c4", - "0x87ab466617f89f75e1b4e5cc2de3cf", - "0x5c00c3065f22ed5a6511f4ef9144d8", - "0x0290b1" + "0x2937637584e15ed0d59e47f0f3fe13", + "0xbda1b755e5a650bff2324b1f83e52b", + "0x107c15e866e8b12ba7cb457e23ea8c", + "0x0ecd31" ] [[inputs.hints.blob_commitments]] diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml index 98a0feb10878..e2377934e954 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml @@ -484,7 +484,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x09f6fe2394de36a32f372c238a502348b0b79debb779fecfd9de7388dc2df8d3" + block_headers_hash = "0x092d9c9b723f4a91d24cb333dd118c5f17feddbcec1eb988d00b2dcca8a12aa4" in_hash = "0x00b0e02949c7c042e780651385688dcec114af3dbb3892bab1a9cd8e2bbafdc5" out_hash = "0x00bd3da907cbb210cd100bd369f8dd7eb04b938c69dce277dc1efea8403ed88e" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -493,8 +493,8 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x0141caf6779674bc31225636c4cc4259a731835c52fc462f2dcbfabf7de01a1d" - protocol_contracts_hash = "0x01af64239167dcc8333e25456aab71348f66d9f6de731a8b62181d16cf0818c1" + vk_tree_root = "0x0b701ee3d1002ca8a5a73a81bcb2e0d84e6c30222be65f508574f182569b718f" + protocol_contracts_hash = "0x0fcccdf7958e813bb1d24f764ae13ff08a999008434c2e4dec55f4401564b05e" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" slot_number = "0x000000000000000000000000000000000000000000000000000000000000000f" @@ -513,7 +513,7 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x0d5581ddb590b1f2e972ae3399ac1639129b04a4b4282a219285a5dba6553cdf" + root = "0x10abfc1e58ab5ed471d9c7fedcf2b291ad533ac85d136968ea047db10d73d599" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -576,10 +576,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x092658df33d4badeaa54da3bee987ed4b7a973d285a96229bbd71c564cad7449" ] state = [ - "0x186114d0d063d6e6ddee6515e508484b364b20eeca9ca340f8566e398b71b198", - "0x114fbdb8bc7b843c83778ba1c8780534af4f59451f33adcb6a437c245d4bed64", - "0x2808ea7e05edca8293485bb1dfde34257ab644659366d516601dd5beba26639c", - "0x0ba75ded1f1125dbe2d4e7a5b18a7b2e2c238a70c72ed529163eb34be09a36d2" + "0x06b7a09d376432aa2b0a7411a06aaad2d07f77fe65a5401eea06ab9d30b77ceb", + "0x06b7ab96aca0b2e842d7692f25a662728d09309529ca41b0e61eb20e19a7f38a", + "0x0b211453e69b20a81d2247120eae55ca5f80139276d8d9a7bb790996624e335d", + "0x1af797fb95b1713b94475070546774ffc67e4d61c261abb49048a7834cc7e665" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -587,134 +587,134 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000f" sibling_path = [ - "0x15602bffd51fabacf870d678a216f360ee85085e4b283f99086a716d2be141c1", - "0x02e6f22eee7e3e5aa6291ccac5ee76b8a2f1e338a74bf57530740f36d19c9b2b", - "0x14c22836312c6ac50d8aae1289b45c06410355406e5af5ecf43bf59432dcdd17", - "0x2648004ca39ab2f7f01e8733c2de2d035675568a1c98d1410ce90ac2512e72e2", - "0x15313312ac8ca4825afd3891479fbb14626ca65499d939e23b1f653cd7d018ea", - "0x19de2a32662702dd872e529ad89836e16b013012f910daf2bc7c2a67356dd107", - "0x1f07bca7a14f9a969539c0afd388affa18926689f431fc541841a2a7604d388c" + "0x0b292d3b888b2793be2b844d85cf1ee4c10e4646758de66819a7d9483c294c05", + "0x2a4b8973bfb7d252bd970f41d74702d12b8bc7f63b15188bc79d78bda4a9413d", + "0x07a849e820943807a1c5531526528e89be50a06725dee96179285d8108e565c9", + "0x146274c75e0cce377b1764ae8c0ba9167cfb0632d9453ac4c5b521f5d45cee4c", + "0x10fa882cccd67cfee268da2a5d99ed42a34302ecebc26f4b3254e41507b3ee42", + "0x133dc174ef877c42d59ac5fe87733ce13f9355587db788e3b490832c7afbcfd2", + "0x13482b383bc59a6da6ab4e998b0986c23166d0aba121fc0789e9f14605af653b" ] [inputs.previous_rollups.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000015", "0x0000000000000000000000000000000000000000000000000000000000000046", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000bc40d1d77d5f27602c7a5c9dcfdd10a577", - "0x0000000000000000000000000000000000290d95127ce2d246f860afc4417008", - "0x0000000000000000000000000000005cbd5faf5f59e15c010fc58d3fe9e540b1", - "0x00000000000000000000000000000000001c1664bcd931f8720205c14774d342", - "0x000000000000000000000000000000e387aea29d37cb480af72d484d55b6db6c", - "0x000000000000000000000000000000000009819e8a531a4e83e8b585a5144e20", - "0x000000000000000000000000000000a1608d0aac1cba0b1a9be724adb7bad88c", - "0x00000000000000000000000000000000001dd226cbaf4d26d6530c6515111999", - "0x0000000000000000000000000000009cd23598a766328147bb89f172954d7b29", - "0x00000000000000000000000000000000000d423e810f78ea0c2de42822af19e7", - "0x000000000000000000000000000000a55922fba9387fb37978bbd6af4459e04a", - "0x00000000000000000000000000000000000006ecc1eebeaa91b95f82ddf0e88f", - "0x00000000000000000000000000000043557bb0d6f710fca0eb9026bf8a98125a", - "0x000000000000000000000000000000000009ff26fbd0bad0ae72c988daff6c0c", - "0x00000000000000000000000000000006859f9f51510814ee09ad960084d53608", - "0x00000000000000000000000000000000001acfe8b3a2dd74d8013a77c604ada6", - "0x000000000000000000000000000000584d59b5e078a46e2662eba84435d2e4bd", - "0x000000000000000000000000000000000006482f6bf0fb0b343d0f97ef69c6b2", - "0x0000000000000000000000000000009d06b99a519e14ae6c8cea34c266f500c7", - "0x000000000000000000000000000000000025948c8dade30c58b5de9219f2ca95", - "0x00000000000000000000000000000093d02ec5125183c643276a59b448fed664", - "0x00000000000000000000000000000000000e27bbd8a3f92cf1dd4964e4973b73", - "0x0000000000000000000000000000005f8e948b5bb98b37d2cfa364c13bf016c1", - "0x0000000000000000000000000000000000111bc97b3a794e05e394f12e060ce6", - "0x000000000000000000000000000000de739fa0af1b1abc39f66b36bf6babfc93", - "0x00000000000000000000000000000000002ec2db775d5362c26b1211d0c67b33", - "0x00000000000000000000000000000092bff11ad703ff9e37f33e0254b1cae0b3", - "0x00000000000000000000000000000000001f2e9c9949c5722f9c0f27d4c01426", - "0x0000000000000000000000000000003627cef107994ae39ad4e69391443a0997", - "0x00000000000000000000000000000000001fb58a2ef67ec15c272e5d7d9fdd12", - "0x000000000000000000000000000000f49addd07ba78c471bfce78c0e211de5e0", - "0x00000000000000000000000000000000000f8a586c69ee00ea0e41154296c359", - "0x00000000000000000000000000000064ef2ac931af2758da6f7f50962ac3aee8", - "0x000000000000000000000000000000000025844bfa45c1614111a515cc924942", - "0x000000000000000000000000000000030d10358e7c9ac3f42b647f523d169a58", - "0x000000000000000000000000000000000018749a4984c4b5f9f4776ee6119102", - "0x00000000000000000000000000000034847db5296ad05fc68d47d76af31b3fbe", - "0x00000000000000000000000000000000000b15d1ae95f4b0db468e55ac0124d8", - "0x000000000000000000000000000000ed9af9fc0f97291c7f59f97bbe779da8be", - "0x0000000000000000000000000000000000188ff968dd82e23e5fdbbbd17a1d9f", - "0x0000000000000000000000000000009484b03063127bfe6d86b88c8ae47c01bb", - "0x0000000000000000000000000000000000108ae749d0d2eeb1996779852c330a", - "0x000000000000000000000000000000c6ebd746a8b5176e70a61f91162a6d4e2d", - "0x00000000000000000000000000000000000b89bcdd866b9cd89975b5ad0e6d89", - "0x0000000000000000000000000000003a110dd7b65b005ebf4c552b3c67ef1555", - "0x000000000000000000000000000000000029162ed048f542c4f7b03cb25b49e6", - "0x00000000000000000000000000000068316453bc8319f06cedcfd6c32608cd1f", - "0x00000000000000000000000000000000000e251b62bf239581fb597eed6740e0", - "0x00000000000000000000000000000025b00fdba3615375ed7d3976b356e495ab", - "0x000000000000000000000000000000000019f6c87da0b230ac04532351fe4b1d", - "0x0000000000000000000000000000001e23899052e207e75d15ce3d53d5e32847", - "0x0000000000000000000000000000000000019b9ff1c73b02d0f4517a97cee440", - "0x00000000000000000000000000000098bdab2108ae94ca4f485f5d02848d78d4", - "0x000000000000000000000000000000000004286964c20572873b6cf4da257471", - "0x0000000000000000000000000000000f611fb20ca3f9a6e05b17a755e0d55789", - "0x00000000000000000000000000000000000bd64babea596e197f373eb7aa8a43", - "0x0000000000000000000000000000008b37d49bd8ea21edbcaed541649fa8bdf5", - "0x0000000000000000000000000000000000267b1d48ccf67020ae08c7626a6c1c", - "0x000000000000000000000000000000cc687415f8c3305515f13d525e24085188", - "0x00000000000000000000000000000000002ca0b4b1f880019458bb2cd76f1f6e", - "0x00000000000000000000000000000030225fa6aa96e3972e46e3696527aae07d", - "0x00000000000000000000000000000000002b4de086c87a07bba4c423443feeab", - "0x0000000000000000000000000000000185f97c684593ba3560c433759c004853", - "0x000000000000000000000000000000000023cb3980074547c96e69cf1b54a618", - "0x0000000000000000000000000000009f864e1df408fd077100e0708be9692950", - "0x00000000000000000000000000000000002d465fd67c5262361e605c6e12915e", - "0x000000000000000000000000000000d4d9d690e0e19ef0a850cc44aeb72d291d", - "0x00000000000000000000000000000000001a1575ccf82dc1999e30c8bc1cd879", - "0x0000000000000000000000000000007b9c3ed13d551bfbc79f7216b917bdd693", - "0x00000000000000000000000000000000001c7905dbeeeafe6a96e0005768c3ad", - "0x000000000000000000000000000000abeca755a49df461a20ac6f0d8aa21bc90", - "0x00000000000000000000000000000000002ea0bedd06b133984bc27df51d6cb1", - "0x000000000000000000000000000000b07d6e88b09f97805879886a4f6f2d38ea", - "0x00000000000000000000000000000000001d0d1ffb001c9b3899d7be3d350184", - "0x00000000000000000000000000000007edda6116badb825639e5ac0bc35bcc72", - "0x000000000000000000000000000000000000c8ef5f1d8a85d3f564339779a623", - "0x000000000000000000000000000000e98b4e97afce7c1eda4af175ea75a95ff5", - "0x00000000000000000000000000000000001fc215448b3315991812153c3ff4c6", - "0x000000000000000000000000000000a05a9ffcb63515d19bd5c987c9d9c8e29f", - "0x00000000000000000000000000000000003018d45fe1f2d7b5ad3f1be15c2f2a", - "0x000000000000000000000000000000f7b12583d31b279777eff4b5cdcb77fdb8", - "0x00000000000000000000000000000000002d8ba043960803f8bdecd1765200ca", - "0x000000000000000000000000000000904912e20bb0691aaf85e36dce6b473d7f", - "0x00000000000000000000000000000000001c69cd654d955bce8b4edb9c7f1fe1", - "0x000000000000000000000000000000bf797dee8dfb0567fb3985708d7e353387", - "0x00000000000000000000000000000000002743e0b1f32f249b5ae16902fb391c", - "0x000000000000000000000000000000d82e431c626c79dbf17adb5fe768f904b2", - "0x00000000000000000000000000000000001bc72b2ac20d87b289025c21613b39", - "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", - "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", - "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", - "0x000000000000000000000000000000000017080f8d1d21b541de1c64d8b794df", - "0x000000000000000000000000000000621557759a0775ea5575adc9c6fbd96d56", - "0x00000000000000000000000000000000001cd60c23a37c42d7e46e1e19e966ae", - "0x0000000000000000000000000000000d52081b2311a7e9bf52407cf3d2c336b3", - "0x0000000000000000000000000000000000003b2312f2f2f419434a1440d40c69", - "0x000000000000000000000000000000d26082083660d6ac8bffb639994e4500e7", - "0x000000000000000000000000000000000019d6ef8ce569e7fa55b8aab7f5eea6", - "0x00000000000000000000000000000078d8a04f7b6c536d3a8a35c790b4dc7ddc", - "0x00000000000000000000000000000000001111470a41156a530334d2c08511a5", - "0x0000000000000000000000000000008ab4119a5478448b7ec3573de2cdfd8e56", - "0x0000000000000000000000000000000000263c7bd4cde5591308156c458d2989", - "0x0000000000000000000000000000004a676142c9eca140ac96ab9ca49633e141", - "0x00000000000000000000000000000000001de62520faa095ad7513f753e0a73e", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000dc4a993f7acd99b494105345a2fdaa0a2", - "0x0000000000000000000000000000000000250b675604342cefa92c43e49384e4", - "0x000000000000000000000000000000b042a664238ae53b3e5a3c1c332c3c26d7", - "0x00000000000000000000000000000000000bb7745eec39ba256f4e95e5c1b96f" + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x00000000000000000000000000000089079e540b719b4976bc29d819da265672", + "0x00000000000000000000000000000000000169511d89b1b0e96da32e525c72fc", + "0x000000000000000000000000000000e06e062182e6dfad1e73262298e47b4942", + "0x000000000000000000000000000000000022b5e38bf07cca64a821cb6a1c50be", + "0x000000000000000000000000000000844e6f07bcbb405a7eccb53cbe0dcdac25", + "0x000000000000000000000000000000000019ccf675743a22e6910df635b6c02d", + "0x000000000000000000000000000000b3f7c9c54170a598243436c12b5e714430", + "0x00000000000000000000000000000000002565cbc85f940dbde932bfc4eb2b46", + "0x000000000000000000000000000000df6dd669dda6e917c2ac2ef5dee2599599", + "0x00000000000000000000000000000000000871514dca64f33dcef23979db5be6", + "0x000000000000000000000000000000a6a76f61c436e1325c59d9ca45156088cf", + "0x0000000000000000000000000000000000253be2ad6c1112a4293bfd778dcac0", + "0x00000000000000000000000000000061b34f5bbdfec177f721dc5f52ce5dfce8", + "0x00000000000000000000000000000000000c45d1ecf903c7083b085bd11e7a18", + "0x00000000000000000000000000000092b8c18509dc81b2af5c0dd4eab9e950c6", + "0x00000000000000000000000000000000000285d5abda6e0c8cc477b2b6d5a7c8", + "0x000000000000000000000000000000c31ba9fc26a1b329bf3a87101fe6e021ee", + "0x00000000000000000000000000000000001906c827ab4161488be3c186420748", + "0x0000000000000000000000000000003705e273cf24eef2d204884b0490063d93", + "0x00000000000000000000000000000000002a897d4386a8d79d754334ed1f277e", + "0x000000000000000000000000000000ef186aa03a1ea746fdfff4df4032261232", + "0x0000000000000000000000000000000000039bf4b51ed17830647b92c603871a", + "0x000000000000000000000000000000bd63d8fb924d2dcb07408e87c266c7b98e", + "0x00000000000000000000000000000000000824ca926bc6de275907dba25bdd31", + "0x0000000000000000000000000000004724cde9ce06e5411caabd7dd4fe2dcf89", + "0x0000000000000000000000000000000000267e7e5f0e6e2991964e87475f961b", + "0x0000000000000000000000000000001f11b31d10d889999d1f1349f99703a55f", + "0x00000000000000000000000000000000001ca2da1bd75c23c6533fc450360e0a", + "0x00000000000000000000000000000027909050e7b7eb67e7c9a4d6345f0eb69e", + "0x000000000000000000000000000000000011db3d79dd9d93947d2b7dc1c10672", + "0x000000000000000000000000000000353c06fb739bccbdcc744f38fcd0508a03", + "0x0000000000000000000000000000000000182f67bb76281c69170de22262dc6a", + "0x000000000000000000000000000000aee4088b33f36d708509b67a51df161c1b", + "0x00000000000000000000000000000000001f0af39954e92ebe02d2d09a9c019a", + "0x000000000000000000000000000000bbabc0cbdb5576ed44ba86792c4f0f3778", + "0x000000000000000000000000000000000001f9dcf9530d2449c557570860964f", + "0x000000000000000000000000000000e712b7c295c2913bc21ecd1c4fd978aeae", + "0x000000000000000000000000000000000020e9f99d67ea5e7fc51a2e22bfee4a", + "0x000000000000000000000000000000cfeace77443d79774754135c7968bf9d09", + "0x0000000000000000000000000000000000200ef4e004b1a6adf1c77145207df9", + "0x00000000000000000000000000000041d5b70488ce0785e27d77408b6085664a", + "0x0000000000000000000000000000000000206ee6f2103341c45c9b7671f392dd", + "0x0000000000000000000000000000008835d9dc525cd7f5221558932b0c0b79dd", + "0x00000000000000000000000000000000000547db4cde23842669a45900d460fe", + "0x000000000000000000000000000000aa8e1629d9ad0470808401bde58b032ad1", + "0x0000000000000000000000000000000000268f1b5be84cb1098c37af45c316e0", + "0x00000000000000000000000000000093192140c3ddeecebf383c332418a14eeb", + "0x00000000000000000000000000000000000129bf9dd7ef08589bd72fb388080f", + "0x000000000000000000000000000000ba08e502a40fe2d53953e74922703c4dd1", + "0x00000000000000000000000000000000001832a1f9489f19b4cabaeefd71ee29", + "0x00000000000000000000000000000007c6d0327de911d59b21bdaa35b13c198c", + "0x000000000000000000000000000000000021711257b12d37f6cc6bf0563cb71b", + "0x00000000000000000000000000000078540776e3fd93faf9c54d5168a662f856", + "0x0000000000000000000000000000000000002d078a43ad1d6c7f5b3d402a6611", + "0x000000000000000000000000000000ae81eb3cc1ae191ee4aa4214664d38a1d6", + "0x000000000000000000000000000000000015bddad4ba217f293029f383450df8", + "0x0000000000000000000000000000008b6c95adb242724e37da69f7a7ea68a5bd", + "0x000000000000000000000000000000000003b5e4a74d1e95b020f39d30eeca27", + "0x0000000000000000000000000000003102092e740ebecabc67864cd9cb36bc7a", + "0x000000000000000000000000000000000025ecef72137002818caafefff75640", + "0x000000000000000000000000000000a1a6659848b5210b9dcb9cbb0ea37359af", + "0x00000000000000000000000000000000001fd1df39bd8e442aa9ed4ec9818bca", + "0x0000000000000000000000000000005bdf45263c9710d45361e5a2a3f368d632", + "0x00000000000000000000000000000000002f00901bb28669af54074c0319ea4c", + "0x00000000000000000000000000000052d2ac68ce89bbd7c109c1ee22951430dd", + "0x0000000000000000000000000000000000291b0c8ec2d5a8ffabec390a97a0af", + "0x0000000000000000000000000000007332fb2757456b72c08ba53f2a6cbfdb99", + "0x00000000000000000000000000000000001c0e1cecfbdc2bce36f4446718039d", + "0x000000000000000000000000000000df0a10f65a3b192b15683732a7af4d35fb", + "0x00000000000000000000000000000000002d21b2fdc09d5c66d9cd3cdf1155d2", + "0x000000000000000000000000000000a419c6200eeceddf7c2310c1d55843fe57", + "0x0000000000000000000000000000000000164d6ede4c1c9cfad8019f4fef5607", + "0x000000000000000000000000000000155a288f925fc795dd91d8ffb9607e7588", + "0x00000000000000000000000000000000001d1a7044ac92e07e3f7a4d1adb808c", + "0x0000000000000000000000000000005006485f5f919139ac4cf8f2b48806c330", + "0x00000000000000000000000000000000002f38995bad2db25ab25059fdf2b6f7", + "0x0000000000000000000000000000000fa857db14df227f02ccb383869d141032", + "0x0000000000000000000000000000000000035df66ed51a2c5ebe05f09679be0e", + "0x000000000000000000000000000000ccd13789864d814c1c8e1d1896cf6d0d77", + "0x0000000000000000000000000000000000138d6ef3e6963f4fe192b274487006", + "0x0000000000000000000000000000001ef73e731e5c4ce7164d5fdb07175ea87d", + "0x0000000000000000000000000000000000178a3808d159a83c5c9966694f8ab0", + "0x0000000000000000000000000000008bca1f7f73e29b028b131da2a003bcc042", + "0x0000000000000000000000000000000000252d50a4729066a33228a590d3eca1", + "0x000000000000000000000000000000b027810138d0953c2b6ea7e149e4565004", + "0x0000000000000000000000000000000000303c0f2b5d507eb93d0ac0ebd043c2", + "0x00000000000000000000000000000002743dd7f3f2b76f827352e8e6b866e3ef", + "0x00000000000000000000000000000000000876c0bf77208a49e0cdd002dc3d55", + "0x000000000000000000000000000000720c42b7569cc2f3149f891bea025eb3e1", + "0x00000000000000000000000000000000000a4a472694ec96876785ee52db9117", + "0x000000000000000000000000000000899f74d8c6cb5d6913934ce86bf7a8fd2f", + "0x00000000000000000000000000000000002351d8cf62e447a6ad623d1576c70e", + "0x000000000000000000000000000000eff011caee40885a1228037bacd671c917", + "0x000000000000000000000000000000000028a9e4afdebabed8c9db5043f651d9", + "0x000000000000000000000000000000df5feae8869502a1c8b84f2bfa88460397", + "0x00000000000000000000000000000000002a4aea8df3da995b6993d106db01d7", + "0x0000000000000000000000000000007865f93da8894da5579d078bc52c865a23", + "0x000000000000000000000000000000000008ff54796b152dd8613c8b78175f0f", + "0x000000000000000000000000000000a6451fa917a48400fa444deb67a7ae56c5", + "0x00000000000000000000000000000000000ae3e2509278517f5cde67366a90c5", + "0x0000000000000000000000000000005e1f735a0fcf0b9170f0fb96b149aa6bfa", + "0x0000000000000000000000000000000000121155b0e2aa30081d1cd787338972", + "0x000000000000000000000000000000507a37d65b4307ff81bc9bb1dda679defa", + "0x00000000000000000000000000000000000eb66dc9635ca0b929275cbaccb034", + "0x0000000000000000000000000000001eee81b23a887f299049b14c11e98460d6", + "0x00000000000000000000000000000000002a56ce41f6b0be13b9c26747621b82", + "0x000000000000000000000000000000d5827d6338c78656c0d12ca1aea6ef2c7c", + "0x00000000000000000000000000000000001aa98f2de3ddda547d8f6de4e725de", + "0x000000000000000000000000000000cec3be02d424d395a16063578c12504acb", + "0x00000000000000000000000000000000001a583a66b4ace72db0600f3285f6d4", + "0x000000000000000000000000000000ef5f8bd3e2da9628dfa8917ab2f40afb41", + "0x000000000000000000000000000000000025c530a8f279e6cc4fb10e10984f2a" ] - hash = "0x0d000c0ce80da2c814b0f1508b74728e2eb05f4fdfb0396e1e6939106be41f29" + hash = "0x2781192850bee4946aa72958703bc69fec3ab04ecffc00c34abcb81befd3c88f" [[inputs.previous_rollups]] proof = [ @@ -1202,7 +1202,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x26882f9b919de7921bc48927adca4121d39e03766a0f70e268c967ac959fdda1" + block_headers_hash = "0x1349b8af6fa1399d3367ec1646ea31a8eb527fa0a93f7df141a99b8087c242a5" in_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" out_hash = "0x009be21298b4428b38b9b314446eef3243121c400edd3780e34da475ea5f17c3" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1211,8 +1211,8 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x0141caf6779674bc31225636c4cc4259a731835c52fc462f2dcbfabf7de01a1d" - protocol_contracts_hash = "0x01af64239167dcc8333e25456aab71348f66d9f6de731a8b62181d16cf0818c1" + vk_tree_root = "0x0b701ee3d1002ca8a5a73a81bcb2e0d84e6c30222be65f508574f182569b718f" + protocol_contracts_hash = "0x0fcccdf7958e813bb1d24f764ae13ff08a999008434c2e4dec55f4401564b05e" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" slot_number = "0x000000000000000000000000000000000000000000000000000000000000000f" @@ -1227,11 +1227,11 @@ proof = [ fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x0d5581ddb590b1f2e972ae3399ac1639129b04a4b4282a219285a5dba6553cdf" + root = "0x10abfc1e58ab5ed471d9c7fedcf2b291ad533ac85d136968ea047db10d73d599" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x215f1b994274f12963668b1b1e69654c637c40187eb26d2f7bdf49fa7d1960de" + root = "0x2f6a583f6610c5573c95d4b79eafb659b67b4428dbf13990edf928f599a03ef9" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000004" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -1276,10 +1276,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x092658df33d4badeaa54da3bee987ed4b7a973d285a96229bbd71c564cad7449" ] state = [ - "0x186114d0d063d6e6ddee6515e508484b364b20eeca9ca340f8566e398b71b198", - "0x114fbdb8bc7b843c83778ba1c8780534af4f59451f33adcb6a437c245d4bed64", - "0x2808ea7e05edca8293485bb1dfde34257ab644659366d516601dd5beba26639c", - "0x0ba75ded1f1125dbe2d4e7a5b18a7b2e2c238a70c72ed529163eb34be09a36d2" + "0x06b7a09d376432aa2b0a7411a06aaad2d07f77fe65a5401eea06ab9d30b77ceb", + "0x06b7ab96aca0b2e842d7692f25a662728d09309529ca41b0e61eb20e19a7f38a", + "0x0b211453e69b20a81d2247120eae55ca5f80139276d8d9a7bb790996624e335d", + "0x1af797fb95b1713b94475070546774ffc67e4d61c261abb49048a7834cc7e665" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -1294,10 +1294,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x06d941e09284387689272aef891ff6ec71993e808f3a832c4d1fd74955b1901e" ] state = [ - "0x17da65d95854743f81498e2d569a4d11fe47a652ce11c27768e392475e503771", - "0x0fdf668913527d70795bd6225710f94e802493ca2ded968c29e45816b9366662", - "0x0de554ab6116e8d6245bfb791eb15006e14be4f10497002ec9a426a760a73974", - "0x28dc4bfd4e171c7418cda7f902dfd3e22433e1341085ae4d528f8b7082131ae7" + "0x1525d886fd143dc1893161cc7bc9a7a29cebdd09a955543f883ea4d2823b10e0", + "0x19060008e02e5f734643d2a087bae8c913fb8e79e47b50c5718e729cdedacade", + "0x21ebef3c51c070c1f17b925d3d30851b9afaa56d85745d6b8c0ab8586a014c29", + "0x124caee5596391b2756e5c3339afc57827b191b7e89529ef096b427cd6c19f89" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000001" squeeze_mode = false @@ -1305,134 +1305,134 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000e" sibling_path = [ - "0x0d000c0ce80da2c814b0f1508b74728e2eb05f4fdfb0396e1e6939106be41f29", - "0x02e6f22eee7e3e5aa6291ccac5ee76b8a2f1e338a74bf57530740f36d19c9b2b", - "0x14c22836312c6ac50d8aae1289b45c06410355406e5af5ecf43bf59432dcdd17", - "0x2648004ca39ab2f7f01e8733c2de2d035675568a1c98d1410ce90ac2512e72e2", - "0x15313312ac8ca4825afd3891479fbb14626ca65499d939e23b1f653cd7d018ea", - "0x19de2a32662702dd872e529ad89836e16b013012f910daf2bc7c2a67356dd107", - "0x1f07bca7a14f9a969539c0afd388affa18926689f431fc541841a2a7604d388c" + "0x2781192850bee4946aa72958703bc69fec3ab04ecffc00c34abcb81befd3c88f", + "0x2a4b8973bfb7d252bd970f41d74702d12b8bc7f63b15188bc79d78bda4a9413d", + "0x07a849e820943807a1c5531526528e89be50a06725dee96179285d8108e565c9", + "0x146274c75e0cce377b1764ae8c0ba9167cfb0632d9453ac4c5b521f5d45cee4c", + "0x10fa882cccd67cfee268da2a5d99ed42a34302ecebc26f4b3254e41507b3ee42", + "0x133dc174ef877c42d59ac5fe87733ce13f9355587db788e3b490832c7afbcfd2", + "0x13482b383bc59a6da6ab4e998b0986c23166d0aba121fc0789e9f14605af653b" ] [inputs.previous_rollups.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000014", "0x0000000000000000000000000000000000000000000000000000000000000046", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000002fb0b1381b4486fbd49fa9fdb4d74afed8", - "0x00000000000000000000000000000000001b03700ad9942abf5144e1bd7393d2", - "0x0000000000000000000000000000007f3e184921857992c24753b966424214c6", - "0x0000000000000000000000000000000000283119b961cda64e529c68e135fa17", - "0x000000000000000000000000000000c251b282c34c8a6d712e6c12903362497c", - "0x00000000000000000000000000000000002c89e5571ae0b09fa870346cbd5cee", - "0x0000000000000000000000000000008eb0fcf7af2d945fd3266cd7b0b449e8d3", - "0x000000000000000000000000000000000021d78ef089716338837787911d13b0", - "0x0000000000000000000000000000007f691d58aee9d65248c5eecbbaddc13a98", - "0x0000000000000000000000000000000000098627646fa61b9928d6dc11c96e13", - "0x0000000000000000000000000000002c58cf39b7f2b04d82c4338ef8958a7473", - "0x00000000000000000000000000000000001aef806cf0aba5af2f1f8978cd56d8", - "0x00000000000000000000000000000082bb268c0e10a8bf5c0ef242f9906e4892", - "0x00000000000000000000000000000000000c90d93936cc598061c4d29f0b25a4", - "0x0000000000000000000000000000004d114fbbc4055f5761b7f8840f0da32908", - "0x00000000000000000000000000000000002957bebd162ed2169df723dde18c97", - "0x000000000000000000000000000000e9eea3e81c31b1aa9400fa13197b7393fb", - "0x0000000000000000000000000000000000218c3140bfb6edddbcb2d4cbc126bb", - "0x000000000000000000000000000000c0ff9e22fab79999e9ed7d78e138d2987d", - "0x000000000000000000000000000000000028bcfd13128cabc46955265a1e05dd", - "0x00000000000000000000000000000023a74d6f1a3fabe39ff7f0f6150be9ec00", - "0x00000000000000000000000000000000002e2507d7bf2a01aec6fd026fa0a409", - "0x0000000000000000000000000000000a0acda35b6f3d1a438d5fcf5783a50797", - "0x000000000000000000000000000000000021e1c9a570c3d0417707daa478fa20", - "0x000000000000000000000000000000c10049e49d4cd16c33bbc1e8eb3238ea26", - "0x00000000000000000000000000000000002578443465dd684c74b9c635f2c33e", - "0x000000000000000000000000000000770092209b5122c863dacecd7406bb2d48", - "0x00000000000000000000000000000000000f3fee6266059403a65308d4c5d7eb", - "0x00000000000000000000000000000093ed6cb8d6a2d5363b2c995ec9f930a714", - "0x0000000000000000000000000000000000276fea1e0f63f52d1e7564b9a81494", - "0x0000000000000000000000000000000389f3a2b3a8f8cc2f5f5d1cd72a8d196d", - "0x000000000000000000000000000000000013bcbd1229609722bcecd1798d4a4b", - "0x000000000000000000000000000000fe9ce7b1fd6536624c2fa96787f74d7bb0", - "0x00000000000000000000000000000000000c3c6d07104e24ea5acc68c3423208", - "0x000000000000000000000000000000b8da6eb9140a2d5588a8710a2d6d6318a2", - "0x00000000000000000000000000000000001b1f1fa538a3b66f72c15c53cca715", - "0x0000000000000000000000000000004730a9529ef0eb509d55e1379829c016c4", - "0x00000000000000000000000000000000001ce37c2c228f312b7c1e64bcca1dfd", - "0x000000000000000000000000000000a378c68d165ba8929cf5e20f479ed90e1d", - "0x000000000000000000000000000000000023024fd5c636e9ead7d63e4eac96d9", - "0x00000000000000000000000000000082a25f4e5374c7548fa507be32b596f423", - "0x000000000000000000000000000000000018ca6faa15b5b52e1ae8b15cb8b83f", - "0x000000000000000000000000000000091c75d9a46e8a66235f387c882bb14df2", - "0x000000000000000000000000000000000018f3db0dcead736435b7467239e00b", - "0x000000000000000000000000000000b87fb21960e7763dfd42205c459fdc41fa", - "0x00000000000000000000000000000000000267a4a344f85d00b6b0040d1c2150", - "0x0000000000000000000000000000000bd1017af78a6260c7d0f6eccb3a8d3890", - "0x000000000000000000000000000000000002641016e4e2bf5752b1e9472dde95", - "0x0000000000000000000000000000004697a8a794f990510a018a5b2c50f35b76", - "0x00000000000000000000000000000000000de0ab75e8b485639fe023a368024c", - "0x000000000000000000000000000000be33c35449966234d9bdf48ba396a57c4f", - "0x00000000000000000000000000000000000df556c20deb7a8ab0ee850f970c51", - "0x0000000000000000000000000000007e5366f459b2b033ca3664ff8f4a641d18", - "0x0000000000000000000000000000000000192f68a938c5a9ea9a5cc9f2181675", - "0x0000000000000000000000000000003a6f876985d4d54592c5b5c16ab8b16750", - "0x00000000000000000000000000000000002da0d2ee45300969c52f5ae43c7402", - "0x000000000000000000000000000000c0f7aa427b2ea5fe4f0e45dcb2eec42f83", - "0x000000000000000000000000000000000009739dbd1003e81acae3f329654c42", - "0x0000000000000000000000000000009191ff080e493eb7d3eb33ec9823178f09", - "0x00000000000000000000000000000000002c951c03d7dadfa04fdc92a298ea8f", - "0x000000000000000000000000000000245cbb1c8e9f243b94d55edca314c340d7", - "0x00000000000000000000000000000000000de0f174fce3433422830fdb869c6e", - "0x0000000000000000000000000000005348fbfc2bff27c23db0f849baac752835", - "0x00000000000000000000000000000000000fa0fe8cbbf06318ad99adc23d2e0c", - "0x000000000000000000000000000000b37df3b0cfe3793620f5315db38c0dcd29", - "0x0000000000000000000000000000000000011ef80549887e786cea0d08c13608", - "0x000000000000000000000000000000e085aac6fe78f6a3574c61f888eb0ace80", - "0x000000000000000000000000000000000015ea74a6e14e77ffea0611ecc18015", - "0x000000000000000000000000000000635cc32ee452dd83211c337fd3423850ff", - "0x000000000000000000000000000000000030399e012ea636c746005ba35a4536", - "0x000000000000000000000000000000c6c09fdb5d8cbc0266b956e5539ad94b8f", - "0x00000000000000000000000000000000000728658d282bb922ecff1634645aff", - "0x0000000000000000000000000000008fc753267c4b4393209eabc80d1c4fcac8", - "0x00000000000000000000000000000000001add24bab07f36d9d6e11beabf5bb8", - "0x0000000000000000000000000000001a38a11d04a6dc1d788b1cc4da1d171341", - "0x000000000000000000000000000000000004eadc7d1bcf2320272a6d96972ae7", - "0x0000000000000000000000000000004749834da45ee7f8ffc427cf41f3b715e3", - "0x000000000000000000000000000000000005e4285178878dbecdfd0c6eba227a", - "0x000000000000000000000000000000182e1a0661bfd39a43bcbbb18e3691b327", - "0x0000000000000000000000000000000000262b3f8b46fac1d385cc0f3bc24ee0", - "0x000000000000000000000000000000434d5dbebbf6fbc03531f25d963f155b9a", - "0x0000000000000000000000000000000000082a0f4d55eb1206313a4955f41f03", - "0x000000000000000000000000000000034001bbce1dcce343e80ff7a821fc3444", - "0x000000000000000000000000000000000013176cdf2f7fb58e75a4954f0bfd28", - "0x000000000000000000000000000000acb6987d4aafb95942bc208f40df86f426", - "0x00000000000000000000000000000000000e52fac6880e3f51e7641ab893e82a", - "0x0000000000000000000000000000002377224018803fe8e8922c797432d2d985", - "0x00000000000000000000000000000000000b3d671707c2cdc4842e4e8ffefc09", - "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", - "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", - "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", - "0x00000000000000000000000000000000000015b8d2515d76e2ccec99dcd19459", - "0x000000000000000000000000000000222b888108dc25d1aa450e0b4bc212c37e", - "0x00000000000000000000000000000000001b917517920bad3d8bc01c9595092a", - "0x000000000000000000000000000000482141c7ebe42000a1d58ccb74381f6d19", - "0x0000000000000000000000000000000000305e8992b148eedb22e6e992077a84", - "0x0000000000000000000000000000007c86847618681dc29d8a9363ab7c40e1c3", - "0x000000000000000000000000000000000016465a5ccbb550cd2c63bd58116fe4", - "0x000000000000000000000000000000439973ac12d7ca796d6fe98ca40e6ca6b7", - "0x00000000000000000000000000000000002e24d420fbf9508ed31de692db477b", - "0x00000000000000000000000000000028edd1a7e46c840d9c943fdf45521c64ce", - "0x0000000000000000000000000000000000043d063b130adfb37342af45d0155a", - "0x0000000000000000000000000000009330952ae74c573d1686d9cb4a00733854", - "0x0000000000000000000000000000000000261522c4089330646aff9673619494", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000005d656b6df65180c7833e41dc3231ba543d", - "0x000000000000000000000000000000000011345e9011207695e22c16713acdb8", - "0x0000000000000000000000000000007d63cb71b503d4b9abe5d31e76ac70ff93", - "0x000000000000000000000000000000000026b61287fe7afce1e989dc0d30a961" + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x000000000000000000000000000000161e5bb10fa2b7c7380009239b649b4734", + "0x00000000000000000000000000000000000badbf533a087faffe865010dc5b37", + "0x000000000000000000000000000000381bfa95df551e67c494b29f07bfc5149c", + "0x00000000000000000000000000000000001bf4738c48442b6d952222d821547f", + "0x000000000000000000000000000000cdf67a2562ab96b4917ea73217efafd3b3", + "0x00000000000000000000000000000000001b0666d4bc44552a2ffc0223345a23", + "0x00000000000000000000000000000052e280645ffe873ef1e2cce244d3b23265", + "0x000000000000000000000000000000000029365e95dc11f595f23b37d9c475db", + "0x000000000000000000000000000000e0546cf49094bcd8d9e4a0e2f0b0d21d73", + "0x00000000000000000000000000000000001dd314bca6a6ded1a4a64266a516ce", + "0x000000000000000000000000000000c529043942840056e63f2fcffad4221afd", + "0x000000000000000000000000000000000011c2731f6fe0cb9f3c7d88d710950d", + "0x0000000000000000000000000000000dccca0374b5478a2414205ee24ca83668", + "0x000000000000000000000000000000000007e95f7cd90c21519b280c7c007fcc", + "0x00000000000000000000000000000004de3a9f180f0a4f01dab186eba8530269", + "0x00000000000000000000000000000000001372faf74b763ba502d7cc0845a54c", + "0x0000000000000000000000000000008aa4681b00633c2a5a63702641a6d36041", + "0x00000000000000000000000000000000002dc7f4ccd6922fc4b6654e175f2a80", + "0x000000000000000000000000000000d0d4f6ecbd8ee863fa3160211931061e33", + "0x0000000000000000000000000000000000263cb61cd13a131bdb313fa1159c3c", + "0x000000000000000000000000000000739ca3af1ec76a87a037f25bca5447ee69", + "0x0000000000000000000000000000000000065132cc73a764a9958eaf16937aac", + "0x0000000000000000000000000000004f397550e79074d0c4d3108fe675be5a4e", + "0x000000000000000000000000000000000012a58f58ab7bd421ca8f0fdf7990ed", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000dbe8bffec86d9a9c4e194450aafe44569a", + "0x00000000000000000000000000000000001ad711549791cb4bfb26753da71976", + "0x000000000000000000000000000000eef413cdd499365c5aff81234c29a8e9c8", + "0x00000000000000000000000000000000001c1a2f7052492deb0bf3831f1d659f", + "0x000000000000000000000000000000a430987c325c792662db95707eeb73bcda", + "0x00000000000000000000000000000000001fc6620d5b4b91a2bb7e967e4ca0a0", + "0x000000000000000000000000000000d3010833f9a0a6df8b842d2e94c7443271", + "0x00000000000000000000000000000000002b34c8b03764d6438d76005e33f136", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000090eb905a6ce8fdcfb3ad69b20f37b471a0", + "0x000000000000000000000000000000000015411f1068f3c41c0f03f763abc15a", + "0x000000000000000000000000000000afca164bedcee548eecb0590ec5abf1127", + "0x0000000000000000000000000000000000145ea9d00e643079977aa78cd2c109", + "0x000000000000000000000000000000854f1c53b1fafeaae64bc08161c77048b7", + "0x00000000000000000000000000000000001e235518c5c034960eec5fc45a716e", + "0x00000000000000000000000000000035145365e610d44ef42fa8ea613a9df4aa", + "0x00000000000000000000000000000000000f949d81fe0404cba9da3dbe012bd7", + "0x000000000000000000000000000000c5f55c78208dcda151683ee8cf95e8bc47", + "0x000000000000000000000000000000000012b17b8f64a8606a7817da004b71c1", + "0x0000000000000000000000000000007359e5ac4a48e1c4cf0e5665c6c059d99b", + "0x00000000000000000000000000000000001d7a0474a2bb254bf932f10146b961", + "0x00000000000000000000000000000024e0b7c596516bb0b5a2e8d6cb248b56a2", + "0x000000000000000000000000000000000012e9c9b3e8143abd574124134a05c8", + "0x000000000000000000000000000000dbc92535cff5ca03ba09ca111642d39fda", + "0x00000000000000000000000000000000002043571f43cad61de3a5e4328a4aee", + "0x00000000000000000000000000000079d599186f46e769fcc207b0cd6cbdc01e", + "0x00000000000000000000000000000000000c5c2f9466df09ea80f0ec14870034", + "0x0000000000000000000000000000005f94f587b12643ff51063a28353833f770", + "0x00000000000000000000000000000000000cf56aa28ed4b4beb7ff157d7da3ef", + "0x000000000000000000000000000000de4b43f87ff9317c8e9d9c4588fc2eef2d", + "0x000000000000000000000000000000000012d0aa842859d2ee838f5510f9bc22", + "0x0000000000000000000000000000006f2fdb4213da0129f8365bc86a01f6164d", + "0x00000000000000000000000000000000000bdc73bc5280a4afc7e65947531e51", + "0x000000000000000000000000000000f14874ba0df22c460d8352ca030bd9a861", + "0x00000000000000000000000000000000000885382903e5ffbd837b5e0e4bbf06", + "0x00000000000000000000000000000066e80b7e34ebe3899a4d07dea4f62cc7df", + "0x000000000000000000000000000000000013f829d0878ad53de418679f370067", + "0x0000000000000000000000000000002980ae9f85fad098e5a76ca9e6bdac5779", + "0x00000000000000000000000000000000001a774ae589e96cfbefb418dddcdaa2", + "0x000000000000000000000000000000327c44b0ed90d01976c32c94f04ef2cea8", + "0x0000000000000000000000000000000000225d757cb4f2bfbf6d13b8114d7b16", + "0x000000000000000000000000000000bdc629840f4a9d071f9fb1384008254135", + "0x000000000000000000000000000000000004e75cee70f3e11a2402faef92a73b", + "0x000000000000000000000000000000f40c508a906897027558980610fc4df4f2", + "0x00000000000000000000000000000000001f959d41e40d111d021ab23b4ef843", + "0x000000000000000000000000000000587fcafd86184e71ec3d650b3ba85f03fa", + "0x00000000000000000000000000000000000610c97af06081281e7404f44aee4b", + "0x0000000000000000000000000000007b029cc296434696323f9c37b5e4c9cf55", + "0x00000000000000000000000000000000000614733fbf8d375012614cce5e4aa0", + "0x000000000000000000000000000000bc102f5fba012ade36bbf671474a9afae2", + "0x00000000000000000000000000000000000d2b78d31298fc946624e482d61850", + "0x000000000000000000000000000000c1c26c3fbdd4fb7de13c6af78b90063442", + "0x00000000000000000000000000000000002da9dd34c453f3d5a99691ba052769", + "0x000000000000000000000000000000a788520d601038b7bcb1ef241547ddc5e1", + "0x00000000000000000000000000000000002a280445997573df993f3eaa9cc9bd", + "0x000000000000000000000000000000ec4d9274437dc457e7da9ee9f5d57b0825", + "0x000000000000000000000000000000000029454eff7f180c04c3dccd1d762531", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000001eee81b23a887f299049b14c11e98460d6", + "0x00000000000000000000000000000000002a56ce41f6b0be13b9c26747621b82", + "0x000000000000000000000000000000d5827d6338c78656c0d12ca1aea6ef2c7c", + "0x00000000000000000000000000000000001aa98f2de3ddda547d8f6de4e725de", + "0x0000000000000000000000000000007cf4b5713ad71efb2e02fe45bb7fc9507f", + "0x000000000000000000000000000000000026cf1fe248bb52d3e86b9f64b3c2d3", + "0x0000000000000000000000000000000e590349a07b67f041c3c615e4f436aeab", + "0x000000000000000000000000000000000015a097ca4d6bfa82e4dd755b3ebb59" ] - hash = "0x15602bffd51fabacf870d678a216f360ee85085e4b283f99086a716d2be141c1" + hash = "0x0b292d3b888b2793be2b844d85cf1ee4c10e4646758de66819a7d9483c294c05" [inputs.hints] previous_archive_sibling_path = [ @@ -1476,7 +1476,7 @@ new_out_hash_sibling_path = [ ] blobs_fields = [ "0x00000000009c707518004000400008004000400400000000000000000000054b", - "0x149ec99267de2c967f076659b1ce7c2ef1e39b2de7a3c8fca6144e419a0274c0", + "0x1fa8c9e190ef51acc5e052f31c13e3b45f6a971ff92a5b3a128ab4debc2980a4", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000b7d1b000", "0x00000000000000000000000000000000000000000000000000000000b7d1b001", @@ -2838,7 +2838,7 @@ blobs_fields = [ "0x1fe2338f2916a0bd017ff73606723336792d97d6c91a387862c4d5ab893a6f29", "0x2077efe63b8c3de3bfdbc1e1be837185a8f1d817c8321418fcfe110cd518a922", "0x00000000009c707518004000400008004000400400000000000000000000054b", - "0x12ca038fdc7a689a9ef836b5edc09fc0ebba53d29405ede497d098f12b33c642", + "0x10b5b722c0807e2bbfb09230febb255d9c0fff9c50469e2389e88d9ee38a3189", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000b7e5c000", "0x00000000000000000000000000000000000000000000000000000000b7e5c001", @@ -4194,12 +4194,12 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c34e", "0x0000000000000000000000000000eb8dcdbf0000000000000186000000020001", "0x00000000000000000040000000000200000000010000000000fe000000000000", - "0x0edef98680cbea2855c4f0f152a0ecd69358e68b10da7b7e301f35ce709c13fa", + "0x27b365d73aa1b8ac1eb39c75262e2b87a238d041cc98fcb795f4c597c620ce64", "0x092658df33d4badeaa54da3bee987ed4b7a973d285a96229bbd71c564cad7449", "0x2fd0dfe2f0d0f4977a6c6d880237e4462686a8caf9e3eacf34b6a5159feac6f8", "0x0bb359d329306f1fc12b8b3a551903d4732e3e8814b2de27816ea59c24f1a2f8", "0x00000000009c707518004000400008004000400400000000000000000000054b", - "0x26fd006fd312bdf184fc64451856f788e40cf4aeb9d9a50da4c4be19d40adb31", + "0x1be1bf28dec1713b8bf50f30d29338963f2661a98cc83b0d7edf2010ac8b6e26", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000b7f9d000", "0x00000000000000000000000000000000000000000000000000000000b7f9d001", @@ -5555,7 +5555,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d34e", "0x0000000000000000000000000000eb8dcdbf0000000000000186000000030001", "0x000000000000000000400000000003000000000140000000013d000000000000", - "0x0d5581ddb590b1f2e972ae3399ac1639129b04a4b4282a219285a5dba6553cdf", + "0x10abfc1e58ab5ed471d9c7fedcf2b291ad533ac85d136968ea047db10d73d599", "0x0058e56291a20ba5208dec6c4e6f93513a7e475709e9292d09b7ca1c7147703e", "0x06d941e09284387689272aef891ff6ec71993e808f3a832c4d1fd74955b1901e", "0x0ed4dc2f0161f133a04ebd27d3f9b7ab3d7046c1443c15bc9530cb3f5d9e9e08", @@ -26052,7 +26052,7 @@ blobs_fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] -blobs_hash = "0x004081e2169fa22b2772ab0bde677d1c43254458e4af0c5884cf49ba3f4b72ea" +blobs_hash = "0x00031d7de335de20811f08b722d4fba78989fa94027ff1a8eec54aaea67fe5b0" [inputs.hints.previous_block_header] sponge_blob_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -26139,13 +26139,13 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.hints.final_blob_challenges] - z = "0x0d9e4f48a791aec62f6b7d1fc9035386da8a75d4a5eb234257b0e38a4cc7b9ae" + z = "0x0b4ef7a0f91b1c53bd4db4aec602254a28846ae5a42f2d8980d1912799c4b733" [inputs.hints.final_blob_challenges.gamma] limbs = [ - "0x810f80bc31d4ee4b1bc2e3cb4c28f5", - "0xcbb430183357d87fc1f80f3d1d31da", - "0x0b30" + "0x3fdb267131d938840645510fbcb081", + "0x65bb921ac3dc8dd116a3f59bb3183b", + "0x121b" ] [[inputs.hints.blob_commitments]] @@ -26153,18 +26153,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hints.blob_commitments.x] limbs = [ - "0xcce5778469f0cecc548341f35f9ebb", - "0x8280546f7e9cb753aedf0a06fa034c", - "0xaf119193234c6f715aac4220979f16", - "0x130f08" + "0x665c40a423c8604a17e3da76ccc812", + "0xfe81e0faede6060a8108ca85ba9088", + "0x82c2811283002382832fef00453c0b", + "0x12b897" ] [inputs.hints.blob_commitments.y] limbs = [ - "0x5d218e9fd26f0a1c61e85eefe76e5b", - "0x571b53682bb7dd0ffcc88ba0f592a8", - "0x3058c697809e40f6e414aecb1c9a0a", - "0x078a44" + "0xcf949ef8ac7b342c359434c38b287d", + "0x129b3a7a403691b2c1b2b8ec052995", + "0xf4dbd895942ad8f1d6ab389ccfa412", + "0x070c7b" ] [[inputs.hints.blob_commitments]] diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-root/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-root/Prover.toml index 64ff802314a0..5e87e095cfff 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-root/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-root/Prover.toml @@ -484,10 +484,10 @@ proof = [ [inputs.previous_rollups.public_inputs] checkpoint_header_hashes = [ - "0x004d16fb29611dba53004101a433c88fddade0ec60446fddec1589851839a774", - "0x00db58820ef17b4cb952c006ed78296097c3fcf7fd0fc3e3cec1f8260fc64045", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00a8a666b95bb2db4e3f95e5bcb8f5f962fa6ff42a2539a3c486aa868d15446a", + "0x0003467aeaebe55a1faed0cde7a7ebecc0b4168ff83de06f64342187de9b266e", + "0x00ba58769fa3e9ec12fd9ab7b264fe69545833f8e7d80571d73ab23a5fc0d4a1", + "0x008fb5a2af014eed924e6550a1a568a936137e0ae9596268bdd3a5e228642d41", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -520,17 +520,17 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" - protocol_contracts_hash = "0x0333160f082dfc02e255c756febac14dc42c4c88b882e0403d44710c1f0bb80f" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" + protocol_contracts_hash = "0x2947d6ab285fab4b2cde4c027aa22c2146ab8470fe246c99c958116105ad615e" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x00f30d99838de8d9e0b40bb5f19c53ebd2cea2e4e324a6b48a4db2655906ad63" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" + root = "0x22143a53487336dae7b1e2d79f04e2d69537775312e313a6bd2ba1631581b2c3" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x24f3d6261780561e8ede638edf15d34d9f93372572631856307c57a08dfb9cb1" + root = "0x164e208dc9944fbd2d066b942b2d8d46c2c8818ca65c808dcdaa555f43f1de9a" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" [inputs.previous_rollups.public_inputs.previous_out_hash] @@ -539,31 +539,31 @@ proof = [ [inputs.previous_rollups.public_inputs.new_out_hash] root = "0x00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af093" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000004" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x000000000000000000000000000000000000000000000000003b2f97f0a76c80" + value = "0x00000000000000000000000000000000000000000000000002449f1e83b9af00" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x00000000000000000000000000000000000000000000000000d0f074eda98980" + value = "0x00000000000000000000000000000000000000000000000002449f1e83b9af00" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x0000000000000000000000000000000000000000000000000035dd7429a09780" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x000000000000000000000000000000000000000000000000003b2f97f0a76c80" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [[inputs.previous_rollups.public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -772,15 +772,15 @@ proof = [ ] [inputs.previous_rollups.public_inputs.end_blob_accumulator] - blob_commitments_hash_acc = "0x00ff28bea8c07e7b060d248cb2071f813aa6e39e07e3a527c1739e6a7793c093" - z_acc = "0x11b2ee0dde26d315a246f5bdc01db8abe8200c6581201debd1cffc51ad26f95d" - gamma_acc = "0x152f389c138d41dde799d4f4fc748753332ddcd5bcd19fe35e4fbe60581534c2" + blob_commitments_hash_acc = "0x00996b577cb6f53aa9d5d22026fa7e7ed5a2a8976186df5414ed93231113a1b3" + z_acc = "0x04b51a58745a148f28f5c26a2d502c8001354179837d098e3af3955de34bf714" + gamma_acc = "0x1bfd4f0bfbabe502f62a2825f8fbc6b52df23371928e6422797997084279f299" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0x4183756e36181f92164c36776c2ba3", - "0xaff710205b13b83794ee63e35bb424", - "0x411e" + "0x0194e1d1e3be1d6f12d6eeb0e18311", + "0x447972f46deb3eff934723afb8d8de", + "0x2435" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc] @@ -788,35 +788,35 @@ proof = [ [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0x6e2f87b978f4bca529d7ad90a41cd8", - "0x734aa1582c8aee32f8334cfc594ab0", - "0x21aa57d7e1012415e25e37ee62bbcb", - "0x015e58" + "0x5e7c6caafcf94afa0766159ff528a4", + "0xecf78cbd1e0c5335e42da88a421390", + "0x39fa11170a3706ed93d37f65f0f7a4", + "0x169dc0" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0xd8e530734ccb89f49a545e13ead68c", - "0x914523b3ef75387e032ac9fef36157", - "0x5342c94a6ba1df16b871173b323290", - "0x1604f8" + "0xb6ad8a240910f66dd9deea18fb02f5", + "0x7abb241ff936e62fe95dba9efaca7a", + "0x2a5bfb0a073fe526435c3e8bfedbae", + "0x125deb" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0xc0250cc6b8725b2b00687dab94d327", - "0xd7f65a721538376d885811c9aafe6f", - "0x297f" + "0xc962ef153772fa92ab05d6d4de0b69", + "0xc842f223fc7445950dc69c40c23ee4", + "0x05a5" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x0f20024c268f33a3baa0f8f38bddd3d70a7fe791632d4914d95c44e2099fa150" + z = "0x0a1d5f2cad6d077246e31822fa3d9bf34b71108150947dc49662788446571e05" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0x551bcc798b08297e8823944cd61ccd", - "0xa11af380fa73225d8ac70a4862f1cc", - "0x24db" + "0x5eb6986fde6ed42731f6e9df63ce57", + "0xca3d4bbbb8720e742eb38a1fc0d350", + "0x1f5e" ] [inputs.previous_rollups.vk_data] @@ -824,11 +824,11 @@ proof = [ sibling_path = [ "0x1be72f1f471a29db247f7c4f19c03e11631575edec0695c29deba92770cce437", "0x0c0e71d61b37e5093a79987574f6a04cf58c7a6b47f650ec04b30cb9c9b3ccec", - "0x1f0a3ab28f16510e4f9a5682a8b5f2826f55082cd639c6b76e6e970d8bb4224d", - "0x268f759e38c9ff705a78c055b44e19f7d2b0227f3c4f2e31d6874550d498abec", - "0x09f661abe743a7c8125aa0498ca1d01914fdac9cadadb415e0d1a05934997b99", - "0x28650667b92be48b116289119fa4794a5fe8fe5792a49d89b9977feae7f685a6", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x18e6586768e6bcc980c4756fb8e50dc355a096b22c3088284883e77065a2dfd0", + "0x250cea05d65b650bc11faa500fa1f37a16296eb5b39b3e19b292aa79cee316b4", + "0x21b9424e712ab7b467087e9f1c9ace17a7caa46d2e96b95fa0e136a68618d37e", + "0x130ead05bf8609707d66dc246899574c8d5f3f60fdc65b3affa4dfdd50c9c602", + "0x175bb0190a44c00aa0f83b47bd63259e980f01e24e9518b9bb8abd2c25e49a02" ] [inputs.previous_rollups.vk_data.vk] @@ -1437,8 +1437,8 @@ proof = [ [inputs.previous_rollups.public_inputs] checkpoint_header_hashes = [ - "0x009751d5fc5ec4f92e16f7b70c3b084aced0c7e9416fae20ebc6fcbca6b9501c", - "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x004638ad10c7cbda76930cc7f1472de2ccc8920da89114128202779de93410ff", + "0x00afd2bd40cee0982472b0b99c78d510bd9001cbb785bdc1a1b68db9a0a3175a", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1473,38 +1473,38 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" - protocol_contracts_hash = "0x0333160f082dfc02e255c756febac14dc42c4c88b882e0403d44710c1f0bb80f" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" + protocol_contracts_hash = "0x2947d6ab285fab4b2cde4c027aa22c2146ab8470fe246c99c958116105ad615e" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x24f3d6261780561e8ede638edf15d34d9f93372572631856307c57a08dfb9cb1" + root = "0x164e208dc9944fbd2d066b942b2d8d46c2c8818ca65c808dcdaa555f43f1de9a" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x0f84849714aa969caef587fe17273c9fae12f846c68db0f1ab092faf93a29145" - next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000c" + root = "0x06da63b13a4fad622178ece351f2198feaf74e70c18ba14fe5fa6e4834c0ff51" + next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000d" [inputs.previous_rollups.public_inputs.previous_out_hash] root = "0x00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af093" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000004" [inputs.previous_rollups.public_inputs.new_out_hash] root = "0x00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af093" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x0000000000000000000000000000000000000000000000000022e452ad469ea0" + value = "0x00000000000000000000000000000000000000000000000000d0f074eda98980" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x0000000000000000000000000000000000000000000000000000000000000000" + value = "0x000000000000000000000000000000000000000000000000004d2c208a4b8060" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [[inputs.previous_rollups.public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1687,15 +1687,15 @@ proof = [ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.start_blob_accumulator] - blob_commitments_hash_acc = "0x00ff28bea8c07e7b060d248cb2071f813aa6e39e07e3a527c1739e6a7793c093" - z_acc = "0x11b2ee0dde26d315a246f5bdc01db8abe8200c6581201debd1cffc51ad26f95d" - gamma_acc = "0x152f389c138d41dde799d4f4fc748753332ddcd5bcd19fe35e4fbe60581534c2" + blob_commitments_hash_acc = "0x00996b577cb6f53aa9d5d22026fa7e7ed5a2a8976186df5414ed93231113a1b3" + z_acc = "0x04b51a58745a148f28f5c26a2d502c8001354179837d098e3af3955de34bf714" + gamma_acc = "0x1bfd4f0bfbabe502f62a2825f8fbc6b52df23371928e6422797997084279f299" [inputs.previous_rollups.public_inputs.start_blob_accumulator.y_acc] limbs = [ - "0x4183756e36181f92164c36776c2ba3", - "0xaff710205b13b83794ee63e35bb424", - "0x411e" + "0x0194e1d1e3be1d6f12d6eeb0e18311", + "0x447972f46deb3eff934723afb8d8de", + "0x2435" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc] @@ -1703,37 +1703,37 @@ proof = [ [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.x] limbs = [ - "0x6e2f87b978f4bca529d7ad90a41cd8", - "0x734aa1582c8aee32f8334cfc594ab0", - "0x21aa57d7e1012415e25e37ee62bbcb", - "0x015e58" + "0x5e7c6caafcf94afa0766159ff528a4", + "0xecf78cbd1e0c5335e42da88a421390", + "0x39fa11170a3706ed93d37f65f0f7a4", + "0x169dc0" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.y] limbs = [ - "0xd8e530734ccb89f49a545e13ead68c", - "0x914523b3ef75387e032ac9fef36157", - "0x5342c94a6ba1df16b871173b323290", - "0x1604f8" + "0xb6ad8a240910f66dd9deea18fb02f5", + "0x7abb241ff936e62fe95dba9efaca7a", + "0x2a5bfb0a073fe526435c3e8bfedbae", + "0x125deb" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0xc0250cc6b8725b2b00687dab94d327", - "0xd7f65a721538376d885811c9aafe6f", - "0x297f" + "0xc962ef153772fa92ab05d6d4de0b69", + "0xc842f223fc7445950dc69c40c23ee4", + "0x05a5" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator] - blob_commitments_hash_acc = "0x00e314212187820bcccc75acc041531f0e6f2139db72f9962951480b5eb309b4" - z_acc = "0x0f20024c268f33a3baa0f8f38bddd3d70a7fe791632d4914d95c44e2099fa150" - gamma_acc = "0x28a8c47b24266cbe95e6e5df4d8f583081a6e7d873a03dfabcf3fad3204acc2f" + blob_commitments_hash_acc = "0x00dafdb7b3b799bb084d877da599210547153bfa1d95e15454e5ef8828ee2a97" + z_acc = "0x0a1d5f2cad6d077246e31822fa3d9bf34b71108150947dc49662788446571e05" + gamma_acc = "0x0249abb0caa46e44620756bbe031549d27fd3993d9dff07bcf79463630d05de0" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0xca8704c4fce27431f9bc6cf6bc5ee8", - "0x2e59181e0640e995e15724147eea98", - "0x5a08" + "0xca5f370e7aab4dad06c01870c19fbc", + "0xd1fb9335d20269ffbc84bda2f21514", + "0x566e" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc] @@ -1741,165 +1741,165 @@ proof = [ [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0x1fc2db53f95236761d435a3d7a82eb", - "0x4f0266217c841c706ff759bcd9619a", - "0x6b2dfe9b2403f250a44b3a4a85c7a7", - "0x09f649" + "0x6d0f563da7ead85edb604d6454b7b5", + "0xeb7000efa3ffe5e92db92568794b8a", + "0x1189810c2c041ab7e783b85fbb3468", + "0x0afd1e" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0xdf0f6a879571ea5e99241f6a774cc6", - "0x962be4a71909fb2b0c13c6d8aa4780", - "0xd7e987a1f4d2937f67abc39e2ce5d4", - "0x042b58" + "0xa6ae6e509b73011d557a87995f4632", + "0xfee59d3ca5668d346a68e82ace828f", + "0x5699038166c3c7de96889ef819f997", + "0x168603" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0xed650727d9732d1fc427beb2dcf581", - "0xdcd9e8dc02a33765f813f467a095de", - "0x0e9c" + "0xeb5d3ce954df93f05b2310b2c784f9", + "0xbe6bc80053e1871b4cb41540dc987f", + "0x3255" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x0f20024c268f33a3baa0f8f38bddd3d70a7fe791632d4914d95c44e2099fa150" + z = "0x0a1d5f2cad6d077246e31822fa3d9bf34b71108150947dc49662788446571e05" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0x551bcc798b08297e8823944cd61ccd", - "0xa11af380fa73225d8ac70a4862f1cc", - "0x24db" + "0x5eb6986fde6ed42731f6e9df63ce57", + "0xca3d4bbbb8720e742eb38a1fc0d350", + "0x1f5e" ] [inputs.previous_rollups.vk_data] - leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000011" + leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000013" sibling_path = [ - "0x1edc2329182e13c58f5ced1e4ca120ba845e074e81d59ee64d0bbd583ecdd429", - "0x1f502972a4bdd0353e082932afca85331d93e89c99ab3a78511939c18eb14641", - "0x1f0a3ab28f16510e4f9a5682a8b5f2826f55082cd639c6b76e6e970d8bb4224d", - "0x268f759e38c9ff705a78c055b44e19f7d2b0227f3c4f2e31d6874550d498abec", - "0x09f661abe743a7c8125aa0498ca1d01914fdac9cadadb415e0d1a05934997b99", - "0x28650667b92be48b116289119fa4794a5fe8fe5792a49d89b9977feae7f685a6", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x1be72f1f471a29db247f7c4f19c03e11631575edec0695c29deba92770cce437", + "0x0c0e71d61b37e5093a79987574f6a04cf58c7a6b47f650ec04b30cb9c9b3ccec", + "0x18e6586768e6bcc980c4756fb8e50dc355a096b22c3088284883e77065a2dfd0", + "0x250cea05d65b650bc11faa500fa1f37a16296eb5b39b3e19b292aa79cee316b4", + "0x21b9424e712ab7b467087e9f1c9ace17a7caa46d2e96b95fa0e136a68618d37e", + "0x130ead05bf8609707d66dc246899574c8d5f3f60fdc65b3affa4dfdd50c9c602", + "0x175bb0190a44c00aa0f83b47bd63259e980f01e24e9518b9bb8abd2c25e49a02" ] [inputs.previous_rollups.vk_data.vk] key = [ - "0x0000000000000000000000000000000000000000000000000000000000000017", + "0x0000000000000000000000000000000000000000000000000000000000000015", "0x00000000000000000000000000000000000000000000000000000000000000a3", "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x000000000000000000000000000000302787373675614b5065e413ff7cb47635", - "0x000000000000000000000000000000000030223bf53e330987976984cbc8b777", - "0x0000000000000000000000000000005d7e3c622753bc9765188b58278de58e2b", - "0x0000000000000000000000000000000000155d33c8914989120390dd1f1b565a", - "0x000000000000000000000000000000ee6a96b509792fe4cb08ba5b690a829260", - "0x00000000000000000000000000000000002334a82c7c45a013fd6565043b3e34", - "0x000000000000000000000000000000b64df10cafd4414f4ca1cfcc9df1104b83", - "0x0000000000000000000000000000000000146a7f5eacb3170bc6517966b91c32", - "0x0000000000000000000000000000009d478f8685010a03b0c7e082a0bc36f004", - "0x000000000000000000000000000000000000ba76040d675cb33d320e90572c0b", - "0x0000000000000000000000000000003be6828a9dfcbeaf8f85587eb0e140f22c", - "0x00000000000000000000000000000000002be8cad756fc14e20e65bcdac55d84", - "0x00000000000000000000000000000060d5a42641ead1f373092743119aa3af8c", - "0x0000000000000000000000000000000000164fde87f47eecf92ee4516ec82322", - "0x000000000000000000000000000000a8a3b797a6fe3470f8e4f7869dd43c2bc7", - "0x000000000000000000000000000000000017ec5446085f31ee161d9b3aeb1dc4", - "0x00000000000000000000000000000058cb2aac262dfffdaf058bcc776cd9a491", - "0x00000000000000000000000000000000000c3392013d42001efe4b51a9f9839d", - "0x000000000000000000000000000000eccc64c49eb40425e8fe5224ccdc43c1e4", - "0x00000000000000000000000000000000001f6506bedb6d949f1f86098e65a72d", - "0x0000000000000000000000000000002dd78f1fd00370a8383fbc3ba9753685ec", - "0x00000000000000000000000000000000002162b403b60b934527df3cdf67eaeb", - "0x000000000000000000000000000000d68ea8aebfb824365dabd01f6423c18a43", - "0x00000000000000000000000000000000000e1416c2f366756eb6713a61c29e0e", - "0x000000000000000000000000000000577c33d5c10b485d8c213d16ac4664dd62", - "0x00000000000000000000000000000000001dbb32af825db919015b2f62ac527a", - "0x0000000000000000000000000000004089798ec9503f6d851e3f36c8134fffca", - "0x0000000000000000000000000000000000258c2a8625473699411a82c908b205", - "0x000000000000000000000000000000900e70ab0eb295b2339744f30290816695", - "0x00000000000000000000000000000000002b8710de153dbcb980c871c8641455", - "0x00000000000000000000000000000064c8a69e30c314b2c9f307b9859388b725", - "0x00000000000000000000000000000000000274811b6c58c4854427d143980169", - "0x000000000000000000000000000000bd95ab45995e60444bcbcf2f650df95bfb", - "0x00000000000000000000000000000000001f24b2f347e01bcdbd025ac0559c85", - "0x000000000000000000000000000000ee494e93426c721d97ae5aa62c90310e73", - "0x000000000000000000000000000000000015237248ed9e657735f540e8c7756d", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000013c3bccc5388da92f5d871dfc5798c6f7d", - "0x00000000000000000000000000000000001ed1d4ff8584dd1dd72fa169b590d1", - "0x0000000000000000000000000000003de967fe48c15d8973f84a210a95dd64de", - "0x0000000000000000000000000000000000127264f024fdb1905c1b9311a69989", - "0x00000000000000000000000000000067ab29550dc70b79125476307dde9d4eb1", - "0x00000000000000000000000000000000002dc480e42e6eea643f7ceb8de96baf", - "0x000000000000000000000000000000b78c2d92f2d7d849bac283fd66764341fb", - "0x0000000000000000000000000000000000230044dfbb796950437c31b1813440", - "0x0000000000000000000000000000002864afee535c3f2025e8d4270039646e66", - "0x00000000000000000000000000000000000dc28f5cecb40979171218dd29e4fe", - "0x0000000000000000000000000000009a0ffd05fb01bef000cc4c463054f3c151", - "0x000000000000000000000000000000000021d43883eb57a05047400f4a96ef19", - "0x000000000000000000000000000000acf8cee1de7f48c4f06266c8cfbad2151e", - "0x000000000000000000000000000000000006cd8fd38f0b7cd6f9151b5ac5337e", - "0x0000000000000000000000000000005654df5102eb796e74c9de073e107a39ac", - "0x0000000000000000000000000000000000028174128b65de0f5263c0e175b23b", - "0x0000000000000000000000000000008ca702a32d860f9280e625c387f3521f13", - "0x000000000000000000000000000000000019d792292ea80445492b5514e0dddc", - "0x00000000000000000000000000000050bbf69e0ae3345cd601a80f62379ab9b2", - "0x000000000000000000000000000000000023cc9e9fb3e9cb8b7c8e06200a279b", - "0x000000000000000000000000000000c3b8f00f6e9bd29ac661c44ce1a18528a2", - "0x000000000000000000000000000000000014a93c6f48de42b23c9ac1f7dbe811", - "0x000000000000000000000000000000f5328aed500abdc6320165cddcaca4fffa", - "0x0000000000000000000000000000000000232b23c95bd3a3df804c4a93de6472", - "0x0000000000000000000000000000006676bec8a1892b306e941dcc5d4011100c", - "0x00000000000000000000000000000000001df5186ae0a33ea8836ed671a892b4", - "0x0000000000000000000000000000004bad445ac665f80bc6acf512e07e85bc38", - "0x00000000000000000000000000000000001d2cdff266585d4078e18118fa9092", - "0x0000000000000000000000000000002c610edad308e27919b035922986bc8bff", - "0x0000000000000000000000000000000000088752e898b6a27f557963cf76e0c0", - "0x0000000000000000000000000000004f28478251fd7e453b7baa9f3020a953c6", - "0x0000000000000000000000000000000000169c31849094fa7939daae18f3c5bb", - "0x0000000000000000000000000000005dc0a499195b7457c28e8736067f4aded8", - "0x000000000000000000000000000000000025d7847b139148f3fc3f063fb052f1", - "0x000000000000000000000000000000789ab89aaf1ab942d695d28b895ed5b26a", - "0x000000000000000000000000000000000001b405d8ca6f44a8937d1becbe4681", - "0x0000000000000000000000000000005d3e2c6adda13104da28bd3d0d40726903", - "0x000000000000000000000000000000000006657556bced744fca4baebc7a7a08", - "0x0000000000000000000000000000001f1e42fe306d2ed7e063bc7dcaae2d30b3", - "0x000000000000000000000000000000000029f36b235f098995d51d6825cea708", - "0x00000000000000000000000000000011de9fe4ab7736b1c511efcb2eef509918", - "0x00000000000000000000000000000000002b60e192da925f3d135e6641d4ea6e", - "0x000000000000000000000000000000f088858045a80449ef186d814d04b39f9d", - "0x0000000000000000000000000000000000153d832bdd7a9f6463622c3507f239", - "0x000000000000000000000000000000d8a9eebdce988c3fd2f0999930a15138b2", - "0x0000000000000000000000000000000000075f1ac6bf2a6b487ae46aa505d3fa", - "0x00000000000000000000000000000087ee2dbbf2a048bad137c4db1b8ebff300", - "0x000000000000000000000000000000000011cbf2a4f1f11c63d8eb9513ee53e5", - "0x000000000000000000000000000000f5e4c418c7383a63f7237510cbcbb73c14", - "0x000000000000000000000000000000000028199b65e442cc03e751b5deb448e4", - "0x000000000000000000000000000000a702cc20da20448c18d688e550e57c745c", - "0x00000000000000000000000000000000001f309a205e7f82854e940ece89372c", - "0x0000000000000000000000000000007aac52d4113e4e71f28eb47905e925a389", - "0x000000000000000000000000000000000020e9e49e102536e6956c9bae558653", - "0x00000000000000000000000000000001ba2d9676f12016903f2696eba0098b47", - "0x00000000000000000000000000000000002f61c08a9c545fd795f8433ca00c12", - "0x0000000000000000000000000000001edfe50b3721a067770f9499a6083d4c77", - "0x0000000000000000000000000000000000248065a6e53c3f8b8d3db47272f7b0", - "0x000000000000000000000000000000ae34cb14f3eb595d76a2dd9402b1b23d64", - "0x000000000000000000000000000000000017ec2c75eec02d3be50d530b2b11fa", - "0x000000000000000000000000000000b0c14b05eabc7a7ad842ef1166b9fbdd8b", - "0x00000000000000000000000000000000002e2832206b3d1167b6287b5eb53374", - "0x0000000000000000000000000000002bf99439219158d7f65fa75dea73dc9a15", - "0x00000000000000000000000000000000002149e5cd921f23b5d7de4650b9daa0", + "0x0000000000000000000000000000009a433e100615459dfb183f916b2062d61d", + "0x00000000000000000000000000000000002442616e2b0dbfa98b7ecbf193290e", + "0x000000000000000000000000000000c01f6dba139585c4cad33c1af1fc441f89", + "0x0000000000000000000000000000000000171aa053d4084079a830588b22ba81", + "0x0000000000000000000000000000003f6b7aea43a81106f616f3e575cee60863", + "0x000000000000000000000000000000000023f454864d42eb2c5024c72da2c08c", + "0x00000000000000000000000000000005987b401231fb970567be0badf86d7514", + "0x00000000000000000000000000000000002fdd84af6261fa6ee0f99f6bc1c881", + "0x0000000000000000000000000000001a6fbc62493ef0dc2c39bd5488af0fda32", + "0x000000000000000000000000000000000019f368e2c0dd3ae06755c7d83e1381", + "0x0000000000000000000000000000003800b8f4c83ccda2d5cff8bc18913d60e5", + "0x000000000000000000000000000000000014f1a75a1c0ce95480335398dbf82e", + "0x000000000000000000000000000000061722135564a0c33a56affa3ee1eb0c3c", + "0x000000000000000000000000000000000028fc5b4ae27c4be3b68af426e5cc25", + "0x000000000000000000000000000000094a72c62cd7f643f998a774a3c1692a9c", + "0x000000000000000000000000000000000002e23f17ec6396bd3bf8497546c82b", + "0x000000000000000000000000000000d7775db81e7c0c37e6940e97c3026fc49b", + "0x00000000000000000000000000000000001a76225c5d8d4a24eac9b6060483a5", + "0x000000000000000000000000000000d1322466b768603245adbfbe707afc9aee", + "0x00000000000000000000000000000000000c423cffb03800ad0f6f0b5bcb0a1e", + "0x0000000000000000000000000000001ade4e785ba270672b708c1cb93ca2fdd5", + "0x00000000000000000000000000000000000b468b6e311689fa6ec4503d2d1b5d", + "0x0000000000000000000000000000003a8473fa13716d7c47fb0a41d10f538fa6", + "0x000000000000000000000000000000000013151dfa49a54d259a8c4fec4736bc", + "0x000000000000000000000000000000f09823147b5a2f1315af76f84626faacc5", + "0x00000000000000000000000000000000002cfa957d32526624e97ec08d0763b4", + "0x00000000000000000000000000000095f75874399828c93364b7d272bdd91ad8", + "0x0000000000000000000000000000000000169d8b404b534c0a246767dc1b6cc2", + "0x000000000000000000000000000000579241f2e3236abb3e318f1a4266ba0431", + "0x000000000000000000000000000000000015c834520f6ae2df99028826545250", + "0x000000000000000000000000000000f31db19daed1017929ae88f4f3f8521a77", + "0x00000000000000000000000000000000002e3e6fa8fc5c271d95c32504342c96", + "0x000000000000000000000000000000156ccc48324606bba2a81e44d3033965f3", + "0x00000000000000000000000000000000001bbd1a661b55e4cf8c0bde338d994b", + "0x0000000000000000000000000000002e67e823cf8228948ae5c34f71a8347851", + "0x000000000000000000000000000000000006afe3e3e1b881c6df566f4532e8f0", + "0x000000000000000000000000000000b2f235dc16b84add85650d924582ec7dce", + "0x000000000000000000000000000000000013ec9ae6dbfc2a7310ee57e4cf96fb", + "0x00000000000000000000000000000043c924cd03d3652d1c7a1fa38eee85b013", + "0x00000000000000000000000000000000000b9e9493e39b71b0126548ef5f3890", + "0x000000000000000000000000000000fb37e6795aba9baa1a7c554c6614ab1276", + "0x00000000000000000000000000000000002bfa7eb130ab19d31141f4bd1a790d", + "0x000000000000000000000000000000aa4fa8ab5e1111f572bc0be8c5648dda2a", + "0x00000000000000000000000000000000000d1a47317b27c288eadb2a2fcec2e9", + "0x000000000000000000000000000000148d3def2091cffc18e7a99af26b32c426", + "0x00000000000000000000000000000000002978869bbda368adea3c9c670bfebe", + "0x000000000000000000000000000000f29b693ede78010c05b1ea2f98e6287d5c", + "0x0000000000000000000000000000000000285f6de42d2f63b6e09f638916be31", + "0x000000000000000000000000000000c529156a781367b9b39ccdb6f714cac912", + "0x000000000000000000000000000000000012afdcb744cd9b85dcf16b7e4794fa", + "0x0000000000000000000000000000003f0ee19f812e23c3e0c17d24cecf19ea9c", + "0x00000000000000000000000000000000002f68f3fb589c01cd8aa6215c944590", + "0x000000000000000000000000000000035e524c6948e5b34c206582bf43bf55ed", + "0x000000000000000000000000000000000024755c3619d8c89bb48b9d266ac87c", + "0x0000000000000000000000000000009a82ca92daff9b5992759a94953b8f8628", + "0x00000000000000000000000000000000003038a4b10faec561f34c2ea32bc713", + "0x000000000000000000000000000000633018b6c00a2169cef96b4073117721c0", + "0x00000000000000000000000000000000002f17430771a2fc7344dd1c104fd00b", + "0x00000000000000000000000000000069085f0ce834cf4d649d802da99138a95b", + "0x000000000000000000000000000000000006947eb82654ee05b374bb416cf04b", + "0x000000000000000000000000000000bbe898ab38ac7a24524eef7b79d2639f76", + "0x000000000000000000000000000000000002c40b232a07d9d11f3dac35b85dd3", + "0x000000000000000000000000000000047258f098b82fad4617620d0189f879e0", + "0x000000000000000000000000000000000026c6c071c1d3ad9e14eb001be27125", + "0x0000000000000000000000000000000c49a35af28b7e551244d77b56d59b5512", + "0x0000000000000000000000000000000000189085667c613410461cbd17b30c56", + "0x000000000000000000000000000000ca38ed6144991e99907f522e28860f0de8", + "0x000000000000000000000000000000000007c40e2ecae3ebea24bd3ec55ac484", + "0x000000000000000000000000000000bfffcabb70a790bc545c4ee3bfce18a260", + "0x000000000000000000000000000000000010e55bdeb1092f2a6444bc396cb56f", + "0x0000000000000000000000000000009c4e20b003ed4f70b4a62cfc57204f24c6", + "0x00000000000000000000000000000000001e00b7ff0421bfe32f28205fd0df4e", + "0x000000000000000000000000000000cf5869f07bfb05fa6a7b3482f3331f9d8e", + "0x000000000000000000000000000000000022c6e62a5e3445a01fbe8fb277eae1", + "0x000000000000000000000000000000b5dced535f594636ae43aa82db9c0a562a", + "0x000000000000000000000000000000000015b098ffbfd590c9db9622f8456377", + "0x00000000000000000000000000000069eea6cb45c453c7458f7a14981f8a4639", + "0x00000000000000000000000000000000001e577951336e913442cfa05d0e9a0d", + "0x0000000000000000000000000000009ef7b985877ffb4041cea6f6912eb32a8c", + "0x000000000000000000000000000000000020521a7cfd616db7e549b3c64d777e", + "0x000000000000000000000000000000e9f0722fce51e4bf5e31b757228e9ccbf1", + "0x00000000000000000000000000000000000fa84f6bb49d001a7506c96419e7ce", + "0x000000000000000000000000000000a761f66f198a2c14c07c32f6604cf578d2", + "0x000000000000000000000000000000000019635c073e9a560147b7295882e765", + "0x00000000000000000000000000000033deb909e8f26ca9aa0417a0172f02690f", + "0x00000000000000000000000000000000000880fc020fc451935fb66e22daa7c1", + "0x0000000000000000000000000000006367288f16161fa5df3f49cedd8a8e34b2", + "0x0000000000000000000000000000000000304e31fe6eba575d1b3f3ebef0066e", + "0x000000000000000000000000000000c5cafa7e75b7c69af15b1a1e1bc905d603", + "0x00000000000000000000000000000000000056634d879eaebb861aab7f6f754f", + "0x00000000000000000000000000000075b6c4cb8ee2d596e52fe1b3d9405cb208", + "0x00000000000000000000000000000000002bf855c3a58ee0e60041a921be728b", + "0x000000000000000000000000000000a4e608225e21e96a15388fd855afcb8bd9", + "0x000000000000000000000000000000000001eb45674390c99d0df7b66959f3a6", + "0x000000000000000000000000000000da7a7c3519858b8c78980a95a3c0ace91c", + "0x000000000000000000000000000000000004b30cecdd534cbfb3c9ffdf2ef2c3", + "0x0000000000000000000000000000003a35ed1dc0d1ff7aae4209529a34930921", + "0x0000000000000000000000000000000000210c99ed727129a1d40e9f9a7adcaf", + "0x000000000000000000000000000000fd35d6cbde8ca6b8e64652a47a495d4eac", + "0x000000000000000000000000000000000019c18ce002d04e602c1607ffe9a256", + "0x000000000000000000000000000000a3a317653f93cb7e27ab835d087169be62", + "0x00000000000000000000000000000000002f16044c7d21455e2e0af21446869d", + "0x00000000000000000000000000000052868428cacab9195b92aaa5470ecc2279", + "0x0000000000000000000000000000000000008866d791a72df4357df8031c5f7b", "0x0000000000000000000000000000001eee81b23a887f299049b14c11e98460d6", "0x00000000000000000000000000000000002a56ce41f6b0be13b9c26747621b82", "0x000000000000000000000000000000d5827d6338c78656c0d12ca1aea6ef2c7c", "0x00000000000000000000000000000000001aa98f2de3ddda547d8f6de4e725de", - "0x000000000000000000000000000000f6e131d6ce506eb0d3892b0c27cfe0f4a8", - "0x00000000000000000000000000000000001668301c6c961e364526eb8abf9792", - "0x0000000000000000000000000000001ace35f485f93f441c7e0a6df02303688a", - "0x000000000000000000000000000000000010adb5f7e278a58893faf2b4b3ed80" + "0x000000000000000000000000000000009fc2164d514381cbd046643639eb0897", + "0x00000000000000000000000000000000002f78c031ec3c08a5ab5a89a1d10683", + "0x0000000000000000000000000000007152fc85b72cc8621b05374d34058fd1dc", + "0x0000000000000000000000000000000000045f49a06cc7dca8937f78ab17e851" ] - hash = "0x16e2d4dba2d1561651bffffca7396ffbb146c6eea7b127f67a4b056c70bc7da3" + hash = "0x1dfa2952af644c59aa9d8ddec361d72059e139e64ce4790c4d3599963ba40244" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-private/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-private/Prover.toml index 0daea78c3d23..7494b3844f3f 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-private/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-private/Prover.toml @@ -3,7 +3,7 @@ anchor_block_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x19f1a0c09db4cd026f686e9c8fb45501a9fefb4eb1b4c6c328a51343a0094eeb", "0x14e4b977b2203b70e6ee1c2456eb7114d090fe4b907f631eecd0919fed432e7d", - "0x2b3b2f80ea4227dfe7ab4edec33942ff08b95b023d6d15efb0abde90594c993b", + "0x08ead7d93a6e0ab74b47c029605a16640557a4c3e830a2f6294aea4559e5325d", "0x1e20ad4181460cbfdc74ca773502c59b890f184efe300ebad895956d318422da", "0x1434e6e2d5db1053ab8a3be58704509c799ee17e109c77f441f7bf1755400249", "0x119f56a2e8423a7feaab49b9b5dcbadec0648dfa4096b61b6774ea33ae29dc7f", @@ -3061,1017 +3061,1017 @@ contract_class_log_fields = [ [inputs.hiding_kernel_proof_data] proof = [ - "0x00ffd75efda6e34b65121fde81a69ba5f2a45acc69b143f1e333d23658e80f55", - "0x0094776a12fb89f4b79a211bfa3a123207f9ad5633b79be105497666fb335bf5", - "0x00d17297ba98cbb8657cb604ec67599c7a85328c46b50b54b0cbc52943fd2264", - "0x009dff5d1b2b67b894899ebcc54bca90dd7480e42a685a692c75d0f8055bec2c", - "0x00c0d25d3d357e684dbb3e1b28e7aabf97967a5ff28a67c38886575be5b6babd", - "0x0022cb2794ffb670f60a8dff4602cf5e93ca43bf651c52fc0919a8fb973374e9", - "0x00adf3b1bad196cacf4bbced5c5901d3efebf39d6b89e517f94d45ccfb1efbd3", - "0x0028c69ebe9961c53434f6c4d4f3e9921ff5b652674b535f132a1fc7c8228de3", - "0x00fe3ad1f7d405ad161fe64ba928307a2fbdb9ac1157dbe82e2d6d72f5044edf", - "0x002dc6b27c1b5fbabceb49c8ed5d3c2dec4fb00afe60324b03cca49974726d60", - "0x000f1525f80fe686760ef1f3b292c309ab7452b0c3678b4c0654b5ae25a3f32d", - "0x00dbcbc18aef1cd4c03e4335ecd088883fd93e6a2ba98c10d2ac34cda77dfc48", - "0x00f4e56686b75cd63c78b800bc9a5fe549ca6bcd9d6eca61c1fa5a104fce5546", - "0x0054e54c83d00911ef88f8f1ed287779c630a34045420201d0669f14c1b4de66", - "0x0018c65a26ab7e3b8ebac5221afa73da55ae5c36c08d9a0018da7d5d17e29872", - "0x00711647e952591a6ca41f5620fa9a03bb75790f8f81db6dfa82c31548480456", - "0x0013925676e49ac65094b4d49d52e1a170e5039602fcf864b0ac6f7e9da2e562", - "0x00d91b375ddef300c30fbb8aeab90cf398034b025f3a80928e5648caa4305977", - "0x005482eb58c00660408674a52b2dbcf144f6cd81e8eae46f8472f23e676656a2", - "0x00eaca2a637d4108f9d875a6894f7b6d422c7866620003ae177a6e3d0f8144f4", - "0x00e94a79f13f9ac53694a4f4a7937305f9ee22511b40f32cdc5295f811329b1d", - "0x0092a64411b0146c87875de91204ed5887e86adc0e1420b95095a40c3bebe4e4", - "0x000b8ee89f7b2e5b15306b27947219fa81b6ed217c7e2f062405610b17a3eac3", - "0x00cb681d138ffcd55f855e933bb676a70e00ee0cfe6b052c3ad9bd98b0f2830a", - "0x004ad7e724966e80273dd1cbc4438c33753f51003cfa7a9539e655b5500b916e", - "0x00da0e801b70978301c27e0932a556f858dae29306da56a5e9fc4d12ae81d4bc", - "0x003c88b248de4edcb308ffabca61a81d0badf09ab8c0db324115cac211a33315", - "0x00fa54e31397b715b3b4f78d101a92f46182627272e4bcaa9661c18423b7aad2", - "0x004bf3e6103dbc0f11e88e4a96ae979650b453fb23293d6042f422ecee105c8e", - "0x00aa32266a8e4a7794d11c5cdc0b3a94828fdec171940886f71c481595573c45", - "0x004d234cff37718289fedc718cbc31527aedea95dc6dbfda696e03b7eabf9023", - "0x0072505be5605360c6974f2456aa1ef0a20a9d080af340cf4ca3a9a605398257", - "0x0027fb05374784e684c91cc9d14237550a7c4f394cd83dc375629c0992093892", - "0x005a78001cf50b1003c738fb1d5bafa348bd87a995a627ea058d269df6467538", - "0x00f5a712d8697c55a2d079a425ea01b2d5f1835a6024452a4dee96d8d84ce12e", - "0x0049b1ac87b46fb780996fea081b31f7fc3a48e93b44c74b961086fac1dec208", - "0x00fad978518359b69586fd3898da97a077f2c7cef71f5092a187a0c514c3af05", - "0x00c59283427a17f123d663975bd19939ee89775b8e7c94fcd9bd5b3241ccaab4", - "0x00923ee87ab5358cec0dbd2a80b8692b4bf7f4dad1f8d844f4a7f9ab4d8bac8c", - "0x006b4cfa0700b36c4eba18ff146692a3280bbfd3ca77afff2ed4f28b77279806", - "0x00b3df44b2ede48afd7f8623cc1effc2ba735a26f84c7bab2fbefcec7811f5e8", - "0x001c2661dc49f216ea9d0a8aa92b42bd3b47d33fd14489514cb7f8bc27904e48", - "0x002dd11f2ea077b2dae65a51527862c022df36c0307acd228dcfeaaad24c348f", - "0x00cce3192f03077621ac9dfa9d3c74578df9fc4cd92279c5424a5005bd96d494", - "0x0019b5385a04d7a04bc5e959cf3c7ab40161643e708d0e7fb4ed3e041ea05b27", - "0x00c69e7eee0f2d74ab6f09f20334f09d71c70aa1debc9ea6982a4466a1b0d940", - "0x000470dac797cee8c98eff759b080f250f4741af184c23ce815aea4cfc4e8c48", - "0x0077db2fa409a80393e0e0a2c11e9d70c2e5a8638c1c9437699dec6294712973", - "0x00dbe9cc8ea14f3af035459adf3a81e8907f6825ecff3d23339995592e3ef0ab", - "0x0005cd8fa6df56ff6bea8aca5174379bc05b1be3005208151bc6ff12127acfed", - "0x00fe3a1af45ef5e3ad0e4600434f0d35e2f2497d0f2b8af16731563ca0e61964", - "0x009e0611af494263d72231e5bd024838ee9d685df45054adc5605287dd911383", - "0x00cb244e2dc1b125f1b63565440a6b12d7fadd2f224dd9398eef59dec2c519f2", - "0x00ab953633f658117abda1c94812bf746724499504dab6d9f73ca4b1e5b479ad", - "0x00a5e839bb44dff0b346d4785e34274d2efbfc96466adbb951531aa23745fdec", - "0x004081ac19c5d624029d58663f1a2d81fb43559ee9f4a0ada6939ee3cbcb59d0", - "0x00fc77c7714e75ddd629369407eacc37d4f06ebb6408e1a674c2e6f7458486d4", - "0x00200f4567c708d8bf6305e1596756bf740c1565b6685bed4acbec81c21e334d", - "0x005190221e0ed1fadb52805279274d6070b4e66e8f99d6d677c5ac7698c5585d", - "0x00c060759e742ac60dee8624e7bef11d95c25a75752ba54a9756cd8a3ad29b49", - "0x0088bfdbc2d149a96860d92213b3efffe302b8047b685f2f070f92ffd11f126b", - "0x00a9709e3d7c990f3e9df6aa1158b267befce727676a06470440a3d439493fa5", - "0x00481b00e3ea9fed099f355ff7d93f845461ff60187d1a93048e185fb3fa17b0", - "0x00b0ad26295afe5052a8a146fcdd7256616c8502f52c581d39939284c10b88e7", - "0x00f37729095752021c4c756ec5f82a1665dccac4838106225af649aba0719466", - "0x00896364974c0f4ab9ddf0ff8efc0ea0291196a724c38c9f0bfaa824669e735d", - "0x00ca06d90a05cfa04f1f12c01b554b77ed4a1803ef900d1739e5b7e0fcc4298f", - "0x005cf219fa11cdaaeecc9111a3c6d5d9f6b6ac48d73cf2ca8459f0001a7252aa", - "0x00a0dcacf4d8909895fa74ac2fb19dac071f3eebaa87a9b288569545d3d4a459", - "0x00560885c50c9b3330f2883185fb9fb889d8274b7aad7c09287602cb34b57736", - "0x0014091ac9016c73f76c16da9ee2d7c0fcb1923dff44069f3e0c48516a489dff", - "0x0011f6cc01f0c634990c827ed8ce622106bca44d800dfceab72eaca7b97aaf26", - "0x00062a8bdd4c181da3c0d8db39fd5e3fb4a2c73502e74d1582545241cee24f6d", - "0x0002dcdf3ef72c76dc4f2db72b71f0c38092e7336e4819ab3071674f1e213948", - "0x00d300b5e4bc03e1786182b5e2acb06b9bcecf220dcfedf8282cb66daa14b336", - "0x0098bd593aba34edd8c5ab0196ef9decf21b554fdefd3d65e20e0bd10615f893", - "0x00bdae3b00f52e096681762b639eadc26f8d5ae0152e435103664816630998ab", - "0x000d4377eb4b67c45637153ce4e9d91ed9cfb974ecc78b839f6accdacb71dd92", - "0x0074b62778d941a2539ff5f3c5612df968c04a5edc39722fa9c58fc6d79531b9", - "0x00d4ebaa8947bf046bf3d9c56661d4974fcd2c59db6b00534c338a65567759eb", - "0x00a53e0d5d5a57bc2b20f0a6212d3dee63816e0ac3adbfd7c3c688a6477d306f", - "0x003dd28b3becf359f1038832484168f47ccfb88daf62379251f125c14c75000d", - "0x00049973f1c05f070fe62138443073bbe3f28dbe2e0389ba7350220dbf127c8e", - "0x00450aa2c34fbfcbfa2ff9c037426f06c3fb1686ee6f4f12f5b4f5afc073272c", - "0x004f8dc9c25c46adf54e838982fcc9ab2396a13a8810d4cf32cde4168ca64f56", - "0x006e8e03f85bc18191b58538adccb21ad65246f59e591f97f48733f7d6bea23b", - "0x006cd3fb83405999e677cf5d7487887acc7b1cc496aa44e297166bc89ce65024", - "0x00960212536689cdbba2bb302a06be296fafa80c8188d0f63e081c7c8024e9c5", - "0x00544a83d08c93b1389d7725528861b5026c2c3e85cbd85ecb68f3082908a73e", - "0x000e7a9088d83afd167463f0837390214f4000db121bae34a90bca1f159b7e8a", - "0x00f98fc88ea73c8f6942d155ef39829684cb33dc0a9b408309fc4c1bfe22b894", - "0x008e676979c9c2c35c2e53e771cd34706c337f220952e07aec75be0d51145027", - "0x00f3f80db41e4d5b34a48bcfbcc7f82f3b878d81da4ee41d739eca84037b9e2f", - "0x0054af458a4daff7aaa295af26733ea8d49749b759bccef54de69638fc93799a", - "0x009d699fadc87947ea6d2c12445c1a5265ff01ad0c91582fa4bfac62d95cd3ad", - "0x00a2a16b2d92288b9f954d012ae4db21e50d538a94c38558cba0899d7e73e2ad", - "0x0067b4a5355b3b0087041a43f2ab03ee7745df904fef5ea244d039c903ceb091", - "0x00d7a48abc04a190ba3912271166e8dc93fc86be702a6411d7d66d6ecb9b293e", - "0x00d38a3a570b4d0e3bd2a304c34898351936db4e8e9278f331247f77c736b210", - "0x00872ddb3e904029c680fb188e5475e855fece2fedd07f2a4ae1bad46ede51d3", - "0x009075efaeaa2b761ac8520a05f8d633d5018f63fd4b27bb140fda33483b33a2", - "0x0074283d7872f1ea5f1b97b8f9921faea86c1cdbd66164eb39dffc6bede8558d", - "0x00c56fc456899d3e6ce3f1affbb9b7b070b7606a4378c1878555c38dda18ccd8", - "0x0077628608d0615b89905aecfc878a2e56ece2359ef12a196f200d094862a2b9", - "0x0028bf28f847b0f28ea3bcf441390d6688d6f388d6c14d056bf810c0a2e36012", - "0x0094b752463346e22191e752f55e58adca12af840b7491b8630e12e5bd53d87d", - "0x001f60ab6e2bfdac64e66e9d67553501cf841d8ae37fe2aa8f469ee7680760c7", - "0x00dfb73cb441dab864f6ca5fdbf5cc6278ba1905b663970340175eeefcbf90bb", - "0x005c57d2a80127b9902f9799f172fe384852ba94a84e8454b823bea37b6c6bc6", - "0x008350a4f1a5bbca102bafd6aa0fdb0d547cefef0f251f0fac0bfdbf45f6f535", - "0x007e1655610eca51be0a6518710cd90ff44cdd78a60ad37bca7a6a99e784c81b", - "0x00c896fd7f29c3be28f83c987ed24a96883034b4e2c86afca477b70ce3bb48a5", - "0x00ac938106af7be51e768d9f6c0b31b2e8a5aae4f948fcb965e8b512b1b115c1", - "0x00821ca77be45ecab881a47a312782959c9910da5c92ec3b465363bb9318eaea", - "0x000379a5292696b0c00395f7a88f399d57d1e82553fbf2b00edbbdfc4b1cd670", - "0x006a4a43463fb2797c2a64e82f5ba9cd0aada8500947b370a2b6c1509eeb96ef", - "0x002320aebd6d209852a8b20bc96027da97ffe47230146f331c3b2fe3ef5fd166", - "0x00084900fa32b26e930cf45f312d3c951b715d8c0d92b6d7b15ddc6cd2dda6f6", - "0x00094fe8e88d007793fbbd41812b45ef1bb92bce16f1759c030f0f30e5a78b35", - "0x001c4ae4a057fce62c55a015018840fbce0155f39dcd90f1c85bf0d3cd478320", - "0x000df43e5f53ebcf4dd664c94eb5cd93afb3abe811d9dc9da7b1679ece9bcbbe", - "0x00c373b8a8e96f6c15f165aa1f44677c65ffb3cf2586d235017d2ec7202a83af", - "0x005ac0d0316e9e5b58c9cda198618bf934350ca446e1d89b9678d8febfa7097f", - "0x00db546a5ffc90afe616014af94fba468e0bf9294a9fdc9cc018fce0bd187f79", - "0x006f0f795c70daa026780016ab81ae08f980dcbb16f5b66a48bdc8c1d8ed78ac", - "0x0053112e3ef6b8bff7d3c974890bd8f21f73fcd29104743047857d1b28cd5272", - "0x0012dfe8535397ca222b82fd8d1f81049b6b329fc8e8c04b9df4b6b7a31d8d5a", - "0x004c579a0cabef2ba7b850c224d97eafe93ed023c801ce34d404542dc699ef11", - "0x006438d149b3d5c954b5c2c6bd432ba51f72db66407335f43b20487cbcc1526f", - "0x00e710daf787f00e5b597f9bdc0d9a4386ef718fd709986b1a8d0b28a5eb81b4", - "0x00729aa5d89c00f22753a7b1e4a2cd1266de1d310b8f7d3bad6082bd857b7bd5", - "0x00403c0b7e953a13c5256b9462c07ea69472714235189cd7734e0d538b8db887", - "0x00fd4ef4be186ba095017acc419a1a8d7ebcc5d3973c4cc77cc164beaba73754", - "0x0099e12b2609e52f328f354774bd596258bdb35f33480df2474ea08696b87f50", - "0x00b82de1aa129698cca68f2628bab1079b35b17e437002ca53ed3255e1d9da34", - "0x0065c3db031004b4a6e4990921825f56f6f422d1286d4979c7f9d26c6358e712", - "0x00b9d89ee4ec898236d76f64d2dfc13960d34c857f9f14d1bcde5a6b3e34b7b3", - "0x00e6fb2d7923e923471898b2a6abd8e68b1e633fb5d8f2a97fe606e6da15543d", - "0x006bbfa2f0f0daef13ab7e09bb0ef99b279a6b7ebbbc12ba5a9f47b9106de112", - "0x006595e5c105f34c8c4c4d4e67d31ea16155682a65c1ba7f79cf27212b8d361c", - "0x00d1a2660dde4ab6a0ad877f0df31e2ff0cd0dc5323c01821f599d642b951be0", - "0x0081d8bcbe038387d02c809fadc3bce26132a1ad7a47e330ffe839ea1c89b3e5", - "0x00576b8bd38a2dcb3ec1b8ad9e096c202ee4fb55aebffc89a03d2d47f26add5e", - "0x001cba28aaf197f41e1dc41a81d0c88fee35fffb6d042d4487154caa422a6d8c", - "0x006b81e2330ab8f4d1ce4db000b983bfce4791b7abf2efe5595b55360dca7969", - "0x00b4401865c0c3946f1d81289ab27a6033fcbe235401c37f22bd02c7c2e24428", - "0x0006127b874f1cecb3957e777b4ca2fe721a97d2fdad5a2af4f68413ba979959", - "0x00bb7c0a9934bd781f9f1c681acc25f427f07bd2e78aad85a501d3b606984495", - "0x005d76103ead6a757f8fabb9c72020d6bb90ec103d3e6ea2f8692046cdcbb45d", - "0x0019709bd085b1f93613b32fdca2c6dedd0730a646912fc2f49339ad308144f0", - "0x006eeca96beb05e0f9f698616df386f9712d15f0cf1c1c5cfd6afc5225c66948", - "0x001eb5e07beca7bd38bf6c4b02e7997ecd13980eaadaa86d6ef58c2d3918c62d", - "0x00fe00922708a2aad3a04daa28a593b6bf6acdcd823d4625a931c0a6485a5aec", - "0x009f237894bb526fce60e5c637901a1d3e08d385a075700e6b022717c8f447a7", - "0x001cc87573a2403b57c33c7183741d6d36c15842cdda37d23778d145d14da4de", - "0x00a9adcd8429ef9b8f3d3ae132171c592dc0802fad274195e50ddb73824694c6", - "0x0047dc2ffb61192b0c493947c88b1ad1ad7dc0ffdc3e0c04cbafaf769c536220", - "0x00c059a88961db19f636a82854f64d1ded34fecd9c585ebf9d4aca2394379e28", - "0x009351d93deb3b3ee7a35aa01333ea9ca7d61c992964c07401b25647bb37ea37", - "0x00db6b15ffa6ec93d39147b7a9af6aa98bcadc690909f308f2503a780811cf9a", - "0x00fd6c330d8dfd651c813ca035f477797596fb899bb11a768f1b1a52ea85755d", - "0x00c7774db0f4e18244137cb81719fc2eab000d9d153103ed8dd8f32c4edf1c13", - "0x00afc4f9d1ff14d489dd68521e0ded5455d70830991dd6e2708a58356ca12e7d", - "0x00929192a946977e99104ee11d804b4a08e3d3da6485657ca0627e4997379710", - "0x006f0745aadf72ab233cfecfd29b3597360c903c1e84df03e0520ceee23b4a57", - "0x0046f5e6db10eb3714b755db5c5e7c2b3ac2668774fdc08c735441279ad42d3f", - "0x00ebd085fbfc64309b050d27d23aa593384f8675192df988f0622d2326d4b5fa", - "0x0051d30985d7420fef891dcf954577f43f72442dd14958007069161715fb81b4", - "0x00412c89c8f0decc36298b1fc5ba23469ac29cbc49c69daaead41bd19dc09582", - "0x00f8fce0cbef040beb905b34ae2c996a0ef885682bbca113f8285d2db57577b8", - "0x006c0ceaba27ceda641a17b1427740c990e1e437c77d5e23266872cf00a36c2e", - "0x00893b6de2c88c4a7683f0ff07674b3df94027059859af2e7dc961c5dc5ef422", - "0x0035e01687f7b8d267ddbd5d06d920c1dd38bd2df81ea60b19c5462473a330ce", - "0x00859df0bc08c635e533612e5076771e2828591753e04d3334e3e0d05433f144", - "0x00cd9272cff295baaf871105b6ec5122314d3ac7c2ee1b2f9d0e7879318634a6", - "0x002c87cda016444dbc917e11d0d8335f61ede22f4fe50626bb5f6ef828730dac", - "0x008224e5fe0d50a304acd9ee9c68e192b08f6467a546e34706768c971ad66147", - "0x003f1a06b9f95b85a086f203180d62e04cf14a37d78619467625a2d1f1633f78", - "0x005cc6b58453d764cd710d8ab736495432f18e38d08c003727dd87bae7b42c93", - "0x004454633281b2a338fa9c95968a5b275f6e1e5aafad780934864602f1cd2087", - "0x00e5c8023938a790e06abc1b8106aa928f46c2250bbbd4775d1a54cce7baaacd", - "0x001f916f9091b389c433ffdc4213efaa669981e189ebb69d3c284978e61bc15b", - "0x00e98e83d99d75d0fea9fefc315b8948d0f9a7acf672da99de21c3404da94718", - "0x00feceb7c5e1072097e2a845688360588446cbe818d5839cef07ad1e2993bae6", - "0x0005cb012c5aad05df939c952d4aeccf8fe41c374f89cceeec9f052b9e4d36ae", - "0x00c5120938da314252f6bcecd19c59c6dba4ec7b5c8e520d843d4a2de4f1b600", - "0x008a994849701000b98dd8fcf80ce7b201a879c16669149dff6402bc40e5a7c0", - "0x00c97d832d3751bc73fc6fede1bd7cfa98dd2c4bbb68a6c8383839300e682450", - "0x00b28f05bbfec9df9bab03e383b61e03be7eab8296ea15b4dc9ae7018b05f410", - "0x0045d0948a36255ead2a4e3f67a7998d1f43ee582cf8e2fe33956ecfbd94a3f3", - "0x00803739861d21c9fed48738f35ef388d3f824a867c3adcc13867a00f7aaa841", - "0x00cbf27734572c73b5a951d1d670c4424d6a334eb0df45d45eb6e4e32bbcc1bb", - "0x006626f2d2e74ed28ce5e8e928a6cad27acc9af56f54bcc011c5e82c797f635b", - "0x00ed10c007e316321f34cfb631ff8260203cae956ae96e5af80c6422a3898917", - "0x0063d2fdb6e2c228381da5d260f4b417408d813df544d3a6e8bb00801d051bc8", - "0x00fa593e59765b7a27b7c31f5328abbc901fcd4984bb548637760c7d9626a442", - "0x00b97fa0058eeb124eef202db8a976dfb69ed659cacb39f23bf56f948fd7c796", - "0x00f94c2010645d948185e5c3a2ac60462840e4a871a92af1f64df8886a580286", - "0x00cac18445eceba6c8725cd0de1263d5c4173e5d0cf7aab73d738b6a31a45a85", - "0x000a2113239fe3d27b3120542813e1bebd70cdfcfaa953296fa32af0d0737178", - "0x009f960132dc779a78675640b618f3752d1790204bfaf8159cff245718f7241a", - "0x00e67a98c71548b543e46295c54f2231970d238c26b24b9daed786aba53a2545", - "0x00fb5df950e6965168f0a8f3f66864b1b620d6a96fbae80716c76f59c3a281df", - "0x00ed3914ebc916dcf26e790381aed9a941d5c69b262037cd75736e96362e2094", - "0x0087f910e892ab621049823d5631488bb2258fa10af61e8ca5b7dee6ff5422dd", - "0x0039d386b2a5d26debe8f0fd33593877c4d511c07f036693aa8a7bffd79479bb", - "0x00bf53f9ef776b2dad1e14cf570da2b3c6ec5188abab81f5b629d7a6331c43b1", - "0x007ec3f9527a354470924841e137b1df52cf2eba5ccf5b9f5d9b886749bff249", - "0x0053071b4a36a52a417530d34c3591139d44ce602dd2c8eaf988a95746395db3", - "0x000587592f2468934db51946107a54558d95367c0576c1ce536744fba4492d71", - "0x0065af317f0fd32d37e628f8e18c9174fbb669203ff313a65166b7431668cb6c", - "0x0044e779e4e05417f85967929a69a34f86ec199d2ce31c4848271b9daedce37d", - "0x009d0d7d8695c61575a96975e8ad5bd95322eddfde0a6af9e1a7df016fc070cf", - "0x00c187c9f42d0b9e52ec528b8010a89dad2195422406a6e3985fe3d93fc67b23", - "0x003435fdf41c90a3026d126b5c7d27a4613961d4e9140781c2d9da7cb93c5177", - "0x00a4d559a67cfafa5586f4dd41a127feb8922538dc5fa6f674df6d63b2c51ecc", - "0x00a9226ab679d1fa7fddad4a15866812cb88b3a4c4b36c2026390fea5b69b389", - "0x006c9b8b90fa6126ec0aace713ba6b250b0667032cfddfca72b473d92a5007cd", - "0x00a0af11b05e1aa5560947d6c7addf8ca31018d34f2dc6d32b3d0ab074e63738", - "0x00db831fc2d3815776aaba48befcd028892967d4699164bd5074f8d157853d53", - "0x00cdbbff416de0f6e41582566437308ba8c076848019d74ad8b49627c51a4f73", - "0x008179ea3b56e7a97e80c54948dca87bfc121970837357339727f1620c444fee", - "0x00569197e1d57f2e55dc558445e60eb39874afa6398f62d7e5b13c7122f0920e", - "0x0033b1475d787c2328f268fa21ae15aa7f23c91f1807c4252b4af906b0a5017d", - "0x00ba222d8faab6bab3fe7924f542c42703a4532ec2b12db64941d6da94042baf", - "0x00440007981d35f9807cec4ab3c1fccb1a7663b4b519319a8ff702168148cedd", - "0x004b6a9db0814e8745b843820b311ef303424f7d59b36e8196b431eb4ad1b5e2", - "0x009974c2cf09239241ef41cc58a9876f8e139cb9901a4fd601661e61738effe7", - "0x00497d94e7ee3502f82e0372b6dcb2c7d6a6baae2806e8f33e1102b8b09b9a42", - "0x00caf15f143864b6d30bc45cf25e31b4e44d059e9ee5d3b680a0cefd653efe0d", - "0x00434f6eb2de9d610084a97a35db3c96eb243fd1c32f05c2838366978de98723", - "0x00c295e4bbdc97aa43b76749cc47e59454add92f808ffb8da24578bcfe3172d6", - "0x006f9d8f49484fbfce068b40e5a8a861c2f337bda1d4a9f2798b7b6930df2812", - "0x005bd671744dfe868cd0d6cb537aa55aa06384c9c6a996cb4c9ed464c7dd57e3", - "0x001c3d99745d675ba6ecd235d74dbfd695e266a4d81305f4b5657ad324874b27", - "0x00a2f2e6e5c4841bc4b10bdca84461f16fc075f1571b5755f05630cc92fa14e2", - "0x006b1592c2792f603b60674378f9497d74c510028b91e488de73febe4861ab07", - "0x00bd696fd25342d9857e95ed3ec8f9e98d115f47e6bb66036785e8883939987d", - "0x0015c4a748cadd901e0c9b8349b807c87b6831e006005fc9b413c8c9bd698fee", - "0x00e107f7e3ff4ecbc45df43d5d1cec06baa93f01d4b4615a9453414084f403a9", - "0x00efb6503304bcb43f887f3f0486c57dc0ff4e4e669e32687e889f3e5d46b9af", - "0x007a9dbf1a582cf78d81a3a40e932e2bc00ea172b755d780920034f5ea6e1b60", - "0x00e7eecf2c063dde782cd63eda3ba4b42f9827e68711d317e414949fe9cb0710", - "0x0008935dcb8e91efc2b9831d4bac1dc4e56b98a8159a40cd232c178d5fc5cfde", - "0x00cf1838d052786e8dfef6a7883190317f4a73357652d5d665202cca1429deb2", - "0x0010c3ddf277ebd93bb2d5fee0bc7d0edb843359e64c5dfe82c3b0d48efa873a", - "0x00c824a9533b66ab045697eedd253fa18cb1e95d850249d3f09c2a938dcae0d4", - "0x007156d6b02b018cba8760a0af3756a3b94144076ce812e11ea9b00d050c0efa", - "0x00b4d9bf8ede6d11f69b972edbf54e36e94707f49fdbb17300caff5b7a1d070a", - "0x00013d8a25340fedd8e15e8d25ccb630aedb822013524edb278818c9cfcaa81b", - "0x00394cd7963cd247252695b972c18ce9682a027a22a351d06181645c929e82d6", - "0x00de672f48d3d8eb72d64a03e3672b70f9239c913e3fe02eb0c35f722406e1ac", - "0x004508757a2c12e60f996b6848ca330fb8cf405e12865aab691bf974752ff42f", - "0x006d7f4d16aa07e6c931e737cc01a9415c9b02373acfca42f3dae9526f71fae2", - "0x004e7f67cc8442552e1c0e09d9f758a3e5a869e284fd3f8bbaec144c7e9a3bac", - "0x00afb991b35b029c85b0ce6acf7ea08c11e33a5e7fb6d92fcba5217e5ffd1a62", - "0x003f485ce8bf7b480c4c4734ead950995025911a1d48fbcbee5095fbccaecc0e", - "0x000d579c7b1e0ec1f4730f510b9c72f956117d17c8a3e6e5446feaf5b9d4a50f", - "0x004c890392d4210e246aa06c0053b88d0bd1a53f5e4f64bd3bab3f5d9ae99c82", - "0x00625cf279886246d867cd940c2b3bcc756668c95c8ed06025055e7d38c675a6", - "0x00b1d6b739b9d1b27a244adf9bb95e7de44f940729d73bc50928bbf4e7a075ad", - "0x0056dbd27a9debfc94f76a80513b02c16280ff7015f6231530bd24d860650416", - "0x00d25dac66eaa0d1bec2a3e5a4a477a4d5478d15c628f0c1ddbcbc1631bcc567", - "0x0063e82a55d1561156305314214f1ad41985feb85435f9a31dfdc7503446a8d8", - "0x005e83f1c176cc85d3196e495e6d2418374c83b2e945e632ac5ebcb51e5ba22b", - "0x00b82bd386fdeed319d28d5c0c7b979759b86cd6112475169a5dbd8c447743ae", - "0x0043f95a57b0747d61d6528638f74c23a9292bf01c68fa7c9a2ed646300605fd", - "0x00b6a28c85cfceaa33b6ff1e7b633844f464ea90fe4803ab8d6c70cf789ddd27", - "0x0061eba3447dccb6af71f4d2ee1a0a2b1c536e4e9719b034783e668ee4d22c93", - "0x00da3da7305e90e2470ad554f72c3fa39f0ab2ff4a027da47d6fa339eb54d458", - "0x009aa07e92693637da6b27b1a59b7269ddc3f6fde9c2f7f0b0757709ad5f10d9", - "0x0095e4e9ebc98e0fd1a463945051c4fad05fe8e7a40de7ba0955481c23246e5f", - "0x00786591f30ea8cca4d2e6cf5e8e167280fc88b492ba3d66a4e820c4b58ddf31", - "0x00d293eced477f1b512b571a896748fa28fd7b959de24a27d18931cdec7f95ca", - "0x00488fb8bebf5aa9a9bb8fb15d198700f164dc312c78b13d7a549bd7302093d7", - "0x00ece734a1714105e1efca2a23fa52b530221dfbc77068d6102ff528a2a5bcc0", - "0x0004dfd8541ee0983ee999f8fb3319729345ae2b3874e3dba25d9e1cb2a86136", - "0x0045f7705a9d879316b815a2168c2aa064bac071079da801743be070c219399d", - "0x00080b5740d36fe624daa440e93a2726b3c06d73f7fff4ee665a2fa7348b43d5", - "0x00d7ca72828209ef2e035b944b77626bf623f4d5a47efac129ddd51080dbfc3e", - "0x00a8532039dd04a051582395ccce3f4b0ca8aa0bd97a14ad5a596795bc55bab7", - "0x00d3b7dc8a994af1eb3b4cf640a038752d50e6b13ce2ab32ae9fa3c4094bda53", - "0x006cc4a20d6fec9047e3216c530863d6937f07a772545c8a5b0a6d7c440b1ea8", - "0x001ce20b88ba8332c8dd90f2b68f22cc0485ec1dedea804e2cacbc8678ad069c", - "0x0026104e7b5f85abd4de1a71197f15ad38742bd9e760914368c4b18670379c36", - "0x00b01e7c7738117af7cebe580cce6d7a7e612f682d56ec276cb1996eb8900d37", - "0x00f4485c9ef6dda339253649b1f9d67e09508c3bf3da93953a5fca7e6e3978bc", - "0x00793bcbe79176a6c421979524aa30b789772322ba10fae14225b629fe602a56", - "0x00ff6805402adc003952288a2353935c668264ab168c10ab655a1d77ce168d1d", - "0x0068cec87c83f4ba2cbbb2ec4dc16984e6d86261e02900d88e17f89b8a8eed7e", - "0x001d932cb122169859d58ec76cea9a7e93322ae34e59fdf0d69fe03731a23b1b", - "0x00c31104b882eabdb66a593989ba644f242cf5bd93bc558be98baf02f595946d", - "0x0073547358ef777cb56870a820a78f20697c40498b51d11e0dc34d6711f4e24e", - "0x000851cac7427e53b2f70000c0a2c7c96d31f80566f35986a22730f35a9fcf91", - "0x0035d7defd9d73f7a6bd058f93938e352e372f580d7098058b2d8751043f9b16", - "0x006a5adf37eeb382765b95f83ae4e95c9df07d89fb47481b299664aa254babc6", - "0x003980f4a613aa9dde7568b58f4a86c9c832cecf63d2800e6ce4466fa47a95c9", - "0x0010b01decd2829c49145c579cc8e6b8b1066ab168df17c7f2ae4b218c396225", - "0x007cf6b636072af9ac70356d3d42b567e39d1c0c725c1dea9a8dd2000185a4da", - "0x004dd769682eb9d81c506a8305de20847da1a6b6f1b0b62c9003ad4cafaa6a9e", - "0x007194cfe26ae27ce1aef7afe598369b3d08cddda1175f059174c81f391a9885", - "0x00322d54b321e759ff7d83d1e28aadb279abe9d4d1baeaa8de5ccdf42c2e0d16", - "0x00f3f115f2b7025c38ea32578820435340af0036dc7360d1a3cfa69979090872", - "0x001f7bee2bf91a6d0ea6a10496489f6aca2a383905803c545c7ff40f0f711142", - "0x0011a91dba977a45fbdaf8adfff1eb57b66b8f87e7db1de8b8d4c4eb9ccebe8f", - "0x001e57696e18d9a688cf0002eccdc684c15cad451e679215e8a65f862e3320e1", - "0x006421b1cb7bd2b13311a859c59da97fbc3d5d5bc25aefd900ad4e16b8b3b0cf", - "0x0026b17fc8bc48c88e047c8b528edb21835a18af2e0d874d381303aa904eff0f", - "0x00c1961652e30e94d73fda8d799e423d8bc764f6d97dd8ede1a19c6c5dc70464", - "0x004a6e001397659e7a0bb279be9b7903f532e7b44590f00b6848754bae009d42", - "0x008a9dc9489f4523e93daa72821dd65ffaaec5717b18598c93ec6ac079be3069", - "0x00da341e23397c124f0d53ac401cbcdac3c44747c1bac1096c6d98c0da183d5d", - "0x006c58a3f37c5df707e8d94c2972beb52f15e47355539b9addc0174d6c6be209", - "0x00cb187f0e15164cefa73998eb47927a9916aa3260c64b60a3d2d6f652904e21", - "0x00ba08f432383d58568473298f2de33e1f8ff2166a2c0ec30fa2f77c55d4a045", - "0x003462a547dae02a2afc2acabbc6bdd6d564c04cd3adc5ecfcee0851646d7e60", - "0x0004498ebc76965512143e2f787b1616d4f25a3dc0faff3e8683c587ee70d949", - "0x0021f3ce4afb60658b25454056f963f050534837c6ba9e4a7644623ca7f54783", - "0x006d6e9c5e2ea31cafffb24c503396b596cee93175fafdc93727e4e3e6c700f1", - "0x00ef307836469011447a855cb184a328141b2263b4cdc9b1e7414f7c419b801b", - "0x00390b4f404ecfff6e61d5ea37e9d75f30d3dfc700b2555495d1f31ac8341c8e", - "0x00b887045c4b1a3daaa05c483381500a4d462982b2ea46b255886f513fa8ccd1", - "0x005d616f0e3db7ee09628b2b5f553b7af1ed979b2c627b15feb2e2a3655c390d", - "0x008cb16a58c81f3ac9242693bea36dab1c50b074ef01ac832250d6a4302071a3", - "0x00e12fa70a8ecafaef84b55ba80724b6cacea2737fbe24cf88abddbb787ac08c", - "0x0009afb6dfdb9ffd01daafafb6286cfe2bac31f92985a50964163072902afef1", - "0x00a8bd1773264a1d771aaa2af0b6acd9123bae285aa5514f984b16723d012868", - "0x001416245c921a142996e804c835df3f152603640503b91e1695efbdaba4dc2b", - "0x00c918d3e883e038e1622256e0b92f6e2b483dc6d18c306efad62b49e82ae128", - "0x00f3b35c543b95d32e7bba0a9d40d8f2707e7761e25122b1641b028920750774", - "0x00b76f6e2559d53433fd0f7a199bf872490e516ee6cad92a6b5ba4cd3ae186c1", - "0x0089ba99c77ef9780b4d155011a2f4be68102064f5de3c9b7e2e301e40526dc0", - "0x00be2d0597949f9d9c9504d62cf42800915108f7874bdb80227ba6eac6ef21f9", - "0x004a2801a7cde7cc3f2832a3679272e0a3e5d8392b8e2ee39ea2af9e44c329ce", - "0x003a6669029fb7fdb889d5f2a61bed8afde5b92658cfb1b9790740b7709dc500", - "0x00744d53993651b565cf3ac0be186f072b57d58e01790106af3ea9adae1dd9fb", - "0x0072c624b81dd98e2341f99652ced6e5534b0a3f0c0ae34eb18f1eaedc384a5e", - "0x00a9ade86c9d45af0b9d462a5b73cc0fcf8d23948da0d8a879e5d319e0c466f5", - "0x0080b54ef2ded4dedbfd66ef0ba785c940d875fcfc8046d6376bf027f65b696b", - "0x00ce8285bff4f9bd5f1fd8871ee0cb94afa7495c6d23111b7269db4028a6c80c", - "0x004033d9de20b0a2adbf35cfc89a91148b1a3c0cfc810ae87e978f7ab158bdfa", - "0x00fb37db0763807dc792922432f401e2aa6f0b43b3b0d99f0fc505c41deacb9c", - "0x009042c835698764223756a75e4e754d7872882ec1b6487892dd40fe7e947581", - "0x0019469e129651a23956b741323800a8003ad1f154c82057536f1479fcbc8eb9", - "0x0085a7dd1da394824ebcd8c349512ab79109e2d69e120aca982a54e6253efad6", - "0x001654187a7ddf702ed68ff0314da3400e77c69f205d62f8d4c4829f9c0e4f7d", - "0x00b032c8a30c02ecfaff36a090c65c5ed0204d83a2508ec5b930ebf9ec3c2a94", - "0x002537946c16ad9446d343d31d6b3a6da11b522106b62da38fae227827ca4c61", - "0x00ee302398f310892e0dfd2c30dfe79895528ec3cbf6dc19b898c2970729ffff", - "0x00acc97dd23e719129e5990eedaf3d1e21da53ebbdc0385f7632ee42c28e8ed0", - "0x00266d99956b450493165e43a9bac9c75e2fecdfe698cde7198f9825a0307abb", - "0x00c0891aeb4aca038b55ead25ed2b2a6fd08d2e03617c0ba507869b5ffab3ec9", - "0x00661e6ba65aa316a460e18997db703d4f419e24fccb80e45c8ec5778d1068a8", - "0x00a9c9a8c5cf6fb7ad0407acbce39711c602305c9acd0ab571a4ae022aa1fbdc", - "0x006ca97c7f6f9b6e5e6ca99572bdb5ef6ea1ef1674ed72b0b65e860db70534c9", - "0x00f646a9d6393cb8a6d739fee207bdcee1e4ef5885e293e91f8837f2f9dfbce6", - "0x00409f54eaa65d9fde410ed788caf4328dc8c11c7da7fea0bc65e02543e32d09", - "0x0007f5c48dcd6dd9badabd9be9b0ae377d1235818ca2e7dd23869a4bc1d05a8d", - "0x0047e7238f9a0789b896bd145b1cd27d89615ff4e02f24b69c4df920970fdeb7", - "0x00b1870d17a845e1d321dbf9df2782a031ba2c1694ac17048ea39e3a279b32e4", - "0x0097ed075b27eda5a524bb0c33d1c16000aa42c945ace6a6b3f6cba29bd55486", - "0x0047e4a3c59ef42a2439c4054e2092f634d1e4be71edda6016a9e36c66b75818", - "0x00b6cba9846a1c443e1384be55cb8289a37de3e01ef6ea93338e615213ae71a5", - "0x0055c2809553071e3328238505be68c0f6b92943120e337930599823f072cbbf", - "0x00ea39ea4611fe1dfc8233d0c9c849ab55488df89dff6de6dfca46888ca192b8", - "0x00f0bdc36eb0e9dad5ff34bcc9f0b41bc48d07509698463a874bef497c861016", - "0x00217d4617657a01b0e5718bef2c24a9046f291f5472b19b43ee97852898e8d6", - "0x0032dac077fc4d8b956ce1317d9469ed367482415297e1e90b685b1fc43ff436", - "0x00b8711e7a071cb7b56a056ab9fd6177c38e671449c65cc4e6a9a8c3f23d038b", - "0x00561fff112ca35dc86d3324a8c34e951a9ed2d9805100c8c87d35241702681f", - "0x001672d552d381810c18254aa00e15ff776c5624bab1856437824b1c022392ce", - "0x00f60c036bd0d0f20d2c717cd667cd36f290048676938ca2eee79fa9acc28119", - "0x0080ed0fb199b0258cdfe5ce1bba69aeef285f775b497a30134f26bf3b218911", - "0x00484720db954a7287a71b3aafb3c309a20175e377529c70f8fe949492339e05", - "0x0028cf2c06b89102b18a48d58cf628e98487ebc4325fbeb78d9c0b39f7eb6236", - "0x00db83e1058527ef71062910be25fbe1244a6761d60cc2710ebfebb2531658c9", - "0x00cd66e2b6d3cc96966047f2a6d210628de71d4579116df407aa8713c5816f58", - "0x007210d79dd986fc766d83f84b26d47889394345fa0bdba93f4b1fc927924375", - "0x0078fbe505229973b34f50bc7d800eb5e54f38584ebf346075b4b91c6575eec3", - "0x00cfa6bda52b6b9b5260308cc6ef7673e7a816deb11240175bb24f3f44121255", - "0x0077d6ee969ace06ff026c4232e04b9a7d91ff661b4aa595984f78fc2fc647be", - "0x005c9a73b0dc3b552016b09f935c13851dcf923b38b0f9b565185e1322ee1049", - "0x007005acd61cc31a25bcb1c86f7fd494c96b2c6edb1bcff9c963e91c4f937c9a", - "0x0093f62703055f2acfb1ce64b01d997072503f2b6739225cf46f1b0b2fff76fc", - "0x004f95a24b9ec9b5debdeda93b837ec389825cc41b2b0d4ad99cbb9b34e1399a", - "0x008bbc99bb2931303f81974758301d3667bca9c61b7cff15b4e98d6c51a2d40b", - "0x0012d93de24b10defac6d8ab6cc14cf17099a58d55c74519efcd6db0cda04c2d", - "0x0012d2045aa8610ead37eb583bd8883b55ec25e97e07de162caa530676b24c4d", - "0x008948c810a65d05b43102985960cbabc1351bcafc9c57b005300e197e4b89ec", - "0x0065751b37243be79651133c8a9dafc3a434999bb33f82c743ca826ad40b7e24", - "0x006de73468028ec48414e25e31bb6154c4c9d71d7c40396b9a9dcceee76907e0", - "0x00d5fa9707a1c546be3dd8ed53c83c701e5ac9f5ae5efac8e6bbd98fb0d336eb", - "0x00a8edcda29f05d7fe0e83ec541e7d5e0650162decb4cb19623ff358f5be62f7", - "0x00a3d83bb966e0f8a72a78d4758432c19c77054980a8fc622cc826c885a5c219", - "0x00c5c2500b03d552f2ec0cf6b96247c38d3f96042376752832d93b895e3656d4", - "0x008a2d8206f35775723a2b8b7c0d7c6d5ddf0562d9e360db11857dc9e92b9fd8", - "0x008c3a1409f27172db6c7fc7adc05a6a3b693de2824648b36533e03543ab8181", - "0x009eaeafcea45fe3ea3919d8ae2f55e057779d4ca17f65b9e86b0e8e337a4b38", - "0x00a03033165e54784b15dc62c28eaaa7f1f4e2ff511e1729717e3045cbe83013", - "0x00998960de16b36ef856cb58a5076f93fc6778993b83220acf056c9d55f9a6b7", - "0x00a496017feb079dec75831874e7f10b7cde8df653af66c19984f534383943bb", - "0x00d2ddc484cd66a011147f0b759478413ffaeb2803d5ad9e3615d5d635fe7144", - "0x00dcf5b0287874dd87c97dceda2702f398087a25e3f5f0a5e0b9ed68e8d464bf", - "0x00f210ce35ab7693a0437187f16a7928dec107197d9430942875250080cee682", - "0x0005db2d6c79fd4fbd599a298b2c936ac244d283cf3814ff42d61a77da755364", - "0x00480de62399d8f975b616c06de7e5f89334051b1e35d91d5bdebccc2e2859fc", - "0x00afc8d62a7d2b953635e396ed755c2c8a9130827f6bc416a9676b2fb452d72e", - "0x000e595ce3aeea011114b7f0458bcf35dd112f5f84b65ac8b6d87e14a126da08", - "0x000fb0493b58d3a8541b39685a930a569118a285877a389664a54800dd8d0999", - "0x0048762dd339e3d7c2b2ffa7659ff832408439df6d6a12a7d74e805a64e9e437", - "0x00d596b111641be8ce5560ccb7909fa2d1396fcc014d0a1b85a7428ff86978a1", - "0x00f12241e3d6682392e65c7277353b477bf2a1db9cfa2be44065f63822dfc4e0", - "0x00aa8231b45f9c7e2fd0210affac698932fa89f78dda34a21c7690f119d0f4b5", - "0x00dfe4f32cd8929f7edfb45424ea5123054ff8b3cf3c0e1fb40a7bb7775b3d21", - "0x0059fb6fdd15b4c49a247816956ab5ccca31a7533bf6e4962f0b32ffb48be944", - "0x0038bf7726e4aabd1a6ee826ee8249a35bc792b134e848ac350efb9ec1d14c2f", - "0x0096ea99f28904f5059cd6ff82e80a9e99923053abb9148f04aca00ceb486aa8", - "0x006556e173193ae07fb43041162ef5e009e33433ae6bd7df4b20c9d7b372e71d", - "0x0095df3415298995a4087cd4f1582205efd7754f6ef946a1b73b7ac949eeb1ed", - "0x00b7eda6d48e90c26712b625efcbf9727e5aed6d36200d9e1a5833321ce3b5f6", - "0x0033c17c709b639e33b568dd4f60c7d2c71af4d28ff90570e6e193d26b5bdfba", - "0x0060153aeed79ca04c20b4070468dbc26faf5891a5df6c915843030620b5b614", - "0x0029c3bfc42b9cfc82e2bf4d52cb47670af49bf1028cad6e6894767813b2be1a", - "0x0014b72401d4bf7b31114d0c3c26b136937b13cd5843a394dad41fa778566d0a", - "0x00b7755c9458c686061f150fd48d240c9069794ec778db6cfedf61f1519643fa", - "0x005097979a6d857e9a1581f1ba3aa21acef7a3c765d47a37b6ddcb988fb52aaf", - "0x008498158549c70232c861894475c612daa5d64db078546396c50a166954d320", - "0x00102bf3372e5c28041ec1505e0a9678596fab9967ada6156b7546bf4066285a", - "0x00daaee3ad08ecf5b38e69a70d305b7bc96efc1cb4d99289f72d738b9e23eace", - "0x0090fab262a6059137abca96794e43feddd453f2ead489117ff739957eb6bba3", - "0x006049d41185c94b4ab6e0354a86719201c1aee19546cdf8493bd1e81c004fc5", - "0x00e7dbe10471ec8ad58060f4ef0eb17b25b002aa979ac08d6d03b0c417e60f77", - "0x0021b8d731ca7a24bd1c6e58d2291450fbb6a950bca4cbd8bbb4e63cec3c8ab1", - "0x00d9c607c5882fb21b92f570dfbf4c7b9525d3da2f5124acfeda662a54d2f464", - "0x002be5b4db952607075ba6ed781d38168fc27b412bb67fd9cbc19ff5066514f0", - "0x00a05524194f092d4412455321f096267654e21df7566c782c3d712f8bcfe1ca", - "0x006f4f7d2d3de4189b3fa02cf7f0cef266620c72611de4dca2dc8e18e2d763ef", - "0x0041022c77a6aa6c2d445ec2262e26745d58a409c0046bfea0a0525b0f748895", - "0x0092199f6538b4c0195ef48dba387c35351e88a1a3c030b888e21f4cb8323f05", - "0x00293645a899f76bc8a1fbd2c1c7efe5b4a9d507918502000992efbb51011f60", - "0x0074da5b7e2829d67bc4c79cf9b1e78f00f6ddcdc858051dd7ee4cc1f925ec18", - "0x007c9f970668b6578c805799b524a36e4f9d0bd59074163982b5fe4c733217cd", - "0x004162ce1a5b24b66a7de04543a98e40cd7642f6ac7017f4e189f6be8662ecdb", - "0x00b3d99610106ec1f812fe0f5231ba4cab4d1754f217071f3ff5f7b433969e48", - "0x009d7dc08d508ec044cf2586b0a5f215684e0407db7390e28af84955a3165e18", - "0x002a54af38f59bb7ad99cccf08157311064cd26cbc31d7a6f8a2050430cf12df", - "0x00634dfc782ce17d0c583528c670886ce70a555d3be42a0bf377db313de3410b", - "0x00f4fbd9fa0608dce992ef251b3d68ed912eeebd6a6756ca654d1e3bc6a3f39a", - "0x0055796fa0685090728af59d441704f74bd85f75e507bdc000e298b2fb342933", - "0x00ddcf0b29027616546167319dbb263747f91298f743bf7280fb1ce4c6cc5747", - "0x0097e9eb907fa16d3dfb810ced857ae805b6f36bf6e24a260aad068881440ee8", - "0x002b873d99eb62fca06c2e72bd872848c45f1d8f38bd05fa7fe396bb938a2e39", - "0x007505014763582dc3009f488b11f0f5a1f1e80ce370d6c279c818dbae21372b", - "0x004c0bc970105312e78d80cb1fb4ea0dedb06430058d6917efb0c16240fbbe92", - "0x0054792388230a394b7133c8dcb644ce477dec4975dd1f6a4e247eff6c32588e", - "0x00e1a0e351c1fdc95b88e2d3edc3cd88d15d714380099bb1dfa12067a04f5602", - "0x00cc933a196908e0f083e130c07528b094037b92c74bb0fc4fd6546192740edc", - "0x00eeb5cfba3f5d63989adc24f1dcf875a6af907a541f6809e62ce1a4dbbb1a11", - "0x0008a19c7933639087771172e8638a3675e33c6630b7fd901e115f5ab2251e42", - "0x00d4bf83c694e7ca5a63fc8bf89bb261d70c19cf495cfc33114f2396650ffe17", - "0x00a6ab05639fa4a4b634ba063da57fc9a6baef246d03673e7f3cf0d9fb16de1e", - "0x00699e3781d1a49af75590e48f3d4e6a7d81ecb5a78eb9bcd1fa80d25b5dc41d", - "0x003ef6de9b5c589d7a3b4f30aea1ea08a97fb6a6404bf37ec5504c5752b0f6a4", - "0x00f3ae3a93fbe0ebdebeefd121abbc0ce765950d40261063ba6117c1110d498f", - "0x0083d2cd99fcc40a4c7a2a742691bad197d4ad53e44920038b39c3e4924005d6", - "0x00fdd09bec815874e3a26848a3cc0b29225ff87419385b8f94f0d3a44fa0e089", - "0x00f923677e08cb610950bf7cc4d27df21c7d1fa14b969cd7392924a696b75a25", - "0x00ac51d27b8a8f459fca2eaa01ae85c814af4e0e548daaf3d5fe3f4a7a2020a0", - "0x0094701cd0b4ae19ab085afb2316d8f559eb8a8d81e9d342552ada721abe2799", - "0x0066365258465f584cec3e37ab0ebf3f9216d835f26123237013d19650a7ac36", - "0x00402032be6d26ea8fa1fdfe41f5205a71dc126cbd169d7ed5ecd0b01f2bd172", - "0x0077e181ba4e01ca49c8f08b6b63bd1c49a24818dd47315253ff67a7ff5c6fe0", - "0x00592a19fc5e00c50ec5c619279614d87928a6dcfa86a304eddc736fa12b25a9", - "0x00b72403bc8ddcf7095150079be551db86914a3b982a5e67709bebe3df291a6d", - "0x0027a666071c954b6ecbb1663a9683bbac38b0f10546c52dfa69997095a9c0d6", - "0x00390d4e8e1b28e498c8e4c160ac7d21e081e8375b301543320cfe51197cc406", - "0x005b2e7bfd08886719b2e673d65936d68655a034c9c4834282873474769fc854", - "0x0032420c144255fb4edb3e0d22fd59b35340d0a7a74039e281031d3b452d9800", - "0x001d050a728c649e7aec361f259e5e5757e0eef826182722ced6c5e122442ef4", - "0x0069a2279f8cc23cf9446b70d8ec025243f4278f7c6ea20402a6f6d27fc3ab5d", - "0x00c0b611a2224fc66b9890a4307bbd5a134d0a15a0c3fba75389e1b96577cf04", - "0x0032b94f760391c50624b626ccb74c2d72ff41ef56a45417388ff9daa3bbd547", - "0x00ef16974c80019ae0b0b631433f7ee5594b7e4e65eda02b01278f63b271eae7", - "0x00cc06ffa62b8cb12e1c9f0a79eb16eada591d8b8fa70f3396f90dda8bb4f2b6", - "0x0074c8c2c1d84c1d6202d2e20a05b62de79155dacb0fab4646e83daa84fd4c69", - "0x0038157f808bf17ee0a5bc8a8acda426b38fd5ca0ab80951782932c5d0c9c7e2", - "0x009059d0280983f24981e1a95de80c3664492b455c038c9be00f50749d632f11", - "0x0096559ba577aff2696028690877693dc52f07ca721a7d7553aacafd17393ef1", - "0x00bd7c6272b42ac7205dea4d5dd2d5874eb97e15d596f08866cebc5cec7f24c6", - "0x0041b812202d55296df7d47f1520934cbe378d60f9c0bbefca21bad1fb0335f2", - "0x0046cd913acc3cd16414ee1eae07777a489b4bf15a2820fd3097baa3de5da280", - "0x00f9c2ae9f3fff3d3bfe0761a682fd51eec42c9c1c33092f43621eacc6a68400", - "0x00a5e59d03936b14146cf70552ddd33290b2a892ade5cb2fe74389eee36c303d", - "0x0047be7b5eea3b502b91236ddfc93df72a8aeed993412a761b78b99e4648fc1d", - "0x0089eed3e596fe002301915e7251ac3907a14179a2e22e5555719d2c78af3af7", - "0x00f18ad1dbcffec3ba086e8dfb19c3f054f34dd5c62665497d3222fcac9c338f", - "0x00626b0d015e7cdd4d13a97d498059a4f341cd9169e8561f02a3746c15485f81", - "0x00e87174b78e5070f64b18deef4b4bed1507dfbc95ed53370fce13c6c42f25eb", - "0x00d6b0bc1959ce15124135490d2930047268a82e34cfc2910494c9171dabe191", - "0x004e5b3147d777a3bbf235d8fbcfffda62be7d41370c3e81c2dab75496721659", - "0x0089a4050e736bfc6ee6ae6dfd2ca19af625fb68e4686823ca901a556cc74b12", - "0x00b51c9b9ae4caf000ac8510c45be95fb3a985dfeca04f66babc054f12a8be6b", - "0x00c2418704a6d6d599b4167643be571e460c33b88aa7bda5526f810dc1062062", - "0x004212f364f8d0557b912336f78742d8220e85c4e82fe9e029da475161799b20", - "0x00e414e06f2aea7ac7f9447371477182e38cac663ee3d74ef8bd726766c1cde4", - "0x002b831cd0102a507a3a79e1a522d4a8f0ba947ecdc7b31e38c09783222bd099", - "0x002de598eb5b42a4e7a10d377638b6ded34d130cd59902fb490ed3bbfdf5402b", - "0x0072b51174bb9c421229e955394dd594f7c44600d701e80f47b20b473462b7a3", - "0x00dacd8c36027d4a1f712ed0500e5a93c46cb0326bca1486293bd235d63daa90", - "0x00e66a6d98dc335ee91f44fe54292bcc22baf95aaad1547200a88f9ba0932798", - "0x00f0b092c92f1848396e4f8b6fcb5a7650006bcd250fb61599e996c364ed6c28", - "0x00db5869cc1e5e3b594dd4e4250c4dd446d31c6344dfeafa1ff339827a2ac2e9", - "0x0082e0bbfb54d9326adfcf2040f650438e506498dc6b32f3b90584ef09305347", - "0x0058216aa87aa505adec13a4e9b4be40ca1452c4584ebe9f84fb1d2ce148b135", - "0x00192435918b999e569997f880b1c9eb9db98a8c580c99b0173d9b7e5bf84303", - "0x008dad1bb65f21c3ea82e6fe2623c550b4a3cfe8c6dfb79ef97b77efbd88c0f6", - "0x00f8a14e988d5e0a4285842523ff64f7cbdc8dde817b72a4072abff07d8539c4", - "0x007171252adf76eb3897a57e0f565dce28ebfbc3aad498031fafd58f5bb6a72e", - "0x00d3e1e3b900fad00c2c1be9fe63b39cb8958468f71c1523a5c7023079fda99a", - "0x0078442f2ce373a49f88417d921908ad1ab0863b9499aecd6a0edc6f6505a9d2", - "0x00e15eb6d09bb440400fe301159866d6add5f56c906a24916d90f860e05551e6", - "0x00c327250870ef6734c1dfe580302360cd235f5a0605aca9a1197e263e87c178", - "0x002b4d422f6844280324000bf44339c9b0a48598bd81f649a548205920c2adf6", - "0x00faab41f2cf26027730ac78dc444bdd6338de6ae5341b4406b3ba6d80cc2971", - "0x00dcba5deab25edb0ca6f5add9e9f4d36b88a4adaade4262a1d07f154ffb4bff", - "0x0020772efa3b24c42bc01ea949485bebfc6bf03c9be80d573cde650f9f359575", - "0x00eb785eef4ca0f66109f7913518c0cbed0e6e3585dbbb47dadf756fe79dddc2", - "0x0037fb1934311f1bd0268d61ecc312c5a54d2906bad5a8fe5e05802ddbb9b98a", - "0x002cc2a2fc86bc4299dc446eef84639c93dec0f438f33219a3b5af8912c61084", - "0x00b4091748714489ecb634c47cef630e1cbea1669f94fde6674fb9e19288ca0d", - "0x00968b1772eb98e304993437b5eb6654a5899671091cf6b8cac002b2150001a2", - "0x005e7dbdf94a95140f98db3128d42543526f0f6efc83b3ca22fe538c433bc5b1", - "0x002b6e6edb84dae70a5c0cccc64c3c8e1abc132ab9edd158ca5cf92ae59add34", - "0x0023b2e04f4af1ce58208cf9718bbb45cfae1950ee31aafac39ae6357feac75f", - "0x009973e488bedfad6ab93c33a975af8ac588f1e81df42d36dbcb593c679d89f1", - "0x000751599bd51fdd4b4a747d02f2eaf671d5c322193bcefd43f30a07d5432eb0", - "0x00eaf0b87a45431fb41aee5cacf4f7d266dc9a51bee21580e711941664a1b2d3", - "0x0035e4608811d77ad97fb20c283715bc8ac76196898cafcfb570ab294b7d2858", - "0x0055d5cf2a94d3cd98920f232d8fb3fa22c46437369c201b6de71032bb3ee3cc", - "0x0082f04ebd3baa6b6f9d0cc6fb0c92ea8f15cf5fc27ec9718f21a14f8eb09b63", - "0x00ae37fbe3459adce07b45fc35476e2b9c41d586acf0cd2a18cf509f3b3c08e6", - "0x00164540b3ae1688f379dd4f1873eec2b7ab6700230bd34962adbd7f4aa9ea8c", - "0x0027fddd235266b54c4f348ed59e70e6c1cffc14e743517a7eb07fd15b0431a2", - "0x00555c532a06d63e531df3de39b26a20c5f7ed54cc32b66ce5c6b673ac681f74", - "0x005d92bf45d9bfc85a1a8e7281631b8a4206464858d144392c157d3c5e0b5f01", - "0x009bc493067afe64a880b6da5fb5f1c3bb4d232ecceced74ddc15f069e441205", - "0x000b50dd3b1f0680f1b2d43c81a0a66f521ace5c6685fd9c13dee816e43f8e85", - "0x0007b54a7d55a84824b3c652d5cfbc1f252d337d9e27b681f2425859d0fcc90e", - "0x0029311bd6809b80124de04db0836b010207abb5a1c0c2e5639e29388c52eccb", - "0x00c42c757145ce367dcbd0e8bf1d7de81d873488096ea6ccd88b3953403d7eef", - "0x002d0b31be6716a7f533336800c1f7e6506a644696880a54f3da44f837c4b5ab", - "0x00ed205d788b03195a32416c9c93883d59644680cb88975032f8321e0b94fcc4", - "0x0017619cbcfa828629587488069dbc7ff205c84890823fa0c336fa52ecca3e5e", - "0x009ab0bfe81f5af6d1daeea6ced79e00574632607edb16f48aa84c5e96050b56", - "0x002981c4f4d4b85f6e2d65e01160555058b056bdd17e24b3934ffdd37a38af64", - "0x005f66ab0c33bacd650bc2c3f37457fb3aa8008bbd96105d6ac5fbc1b0ebafb4", - "0x00f623f102c60deba54e75e23f2193567bea7e0b8b572fb2196f3591bb5e89f1", - "0x006b88ea09650ae8e34b3e3e94dac4bde8595d1119105c461054d1f105b9aad4", - "0x00ea7d52ef74a94ec89b11bdbbd43f3616ccb5a5195f24fabd46579ab21ca6e9", - "0x009c0c2abba646d55471850556b0f45ee59d4c6f17fdb58440e654fa2f29659d", - "0x00ac034710d0eaacf1ce171ea0bf8e93342f3cf452bc0ba08d745673c314b917", - "0x000b5d43a8b74d3066fdb89793a12b4a205da8c7dd6f27a67bd5c7dc76c9f76f", - "0x0073b9aa68afe300d5739b6926719db7e3cb040a93621060a5ba76f74c7e9b6d", - "0x00a06235c58c0000064c210f15bf8ee1ae4384e1bad464258ae743e432d96ffe", - "0x000e3313fb5bb0775ef510c6c2b2a7562bcb91e5d3153d4121c3b2818504b9f1", - "0x00a5363dbcba0410a9256a96cebae752620b7483d3cb19365f7870155d0e95d5", - "0x006b6bb243779ea267ecdbe821a7e639fe925b5118fe74c9f58f86e3e7083c7e", - "0x0070b0028d3407b02eeaa816a6fd7ce6f89e515dd84101b33606b88d03a85c80", - "0x00a2f438bd7997a72155438a46e92aec6df5db9f8962cfc17dcf289b9b68d520", - "0x0040239249061450a0d8c77d7a604f8d633ee7bbac2a087b6884f1bc123558b6", - "0x003e36a893a8b911f2a18f7139f1cf22b01e3fe7ea2e38b67c1a43b55b8336ea", - "0x00978143ae5b309aebc7c97714878fdb5c4c7a6f859c6bfefbec2ea92598d0a0", - "0x00ec5f0f47a37c4b6935e7bae756405a449a4abf2902c48dd435eb2ece0c1d15", - "0x00cadbcb3c86719ca1427234c2f931f315e624c8f8756f691e546c501591916e", - "0x00fc72b00ccb764d6420a14bf31b0080e9e1cc38d02c3b3734f813ba179e63da", - "0x008e3c075b3b9116c6e21489b750a0aff10b0db87188aeffaca35d3f782357a3", - "0x008e466b9eb264e84d6ed99aff0206942e6b7283a5a88a7201bb5a89baac6b99", - "0x0043046a364960d0fa1a1cf43ecbc07f224767bdab8a8b323e540f302c4b8443", - "0x00a014111dfbca436cc249678fcf79ba14162fa9d28e42ac563c05046c782a69", - "0x0081c0be4228e6f18973ff864cd41bdd772a847b57cd106644ee70099cc7b596", - "0x009277b21e2b06988b271d0cb0af9624d994cb894e0444155b664f05b31feeb4", - "0x0029e268031faffe37dc6296b2b77f81508ce511d75a499d54da0d96369e0d3e", - "0x004103229ecda07f2fc9ef7e0ebe1b2c2fd99b4b875f9856dd5c5e35e72c93e3", - "0x00616312396b89125cbabc09e74d545f397789240c536ba4f39b226f0b467dd1", - "0x00679486beabf52631223dc04ed39d7b3ff26e9f56609b587d8bcb74bc0e13b7", - "0x00d93fc63692714cfb113e50c2bf10f0963344c2c9982686edbadc286ab137d1", - "0x00a4c8d59622580491ea4b07e1777c0a5b9c3c7d35cb5eef20c196df60e3687d", - "0x002dd063325975883a311bee3760f5814886fe2142b88f91a94869e82fb4cf9a", - "0x00b59bb79b5bfdb1b51e723e5e6dfe345e50d4e61102f770a356f371cca1cafd", - "0x0018a22cab9c4eca43f9a364ff22842e637fa0981c67755df11a134f278de900", - "0x0044cca4c37bc93c12fcad395862f29f9cd39cf050c7b8eff8be743369ae509a", - "0x00de40aff78eaa74e9f7ed6f1b7c7a06fa9df3938515631b5c30f978d2198300", - "0x00fb0298ac2468436c7cec5b0e9c25233dbc06c94134eda688c9a967fdcbc130", - "0x0087ca5125de8ce4b5ef973b1e0494adc5d41b703067ca4b1f6ba3228dd4ea88", - "0x0027ddde931a385c4c7f7b992125d3c0a209e71a36644970170db7b673b69aa5", - "0x0039f76dad1a2b49cc65cda1c97f996a21447b2320ac46e3cf8f7da852cc9026", - "0x002de34b3d6bc958035b2b57cd80ae5ffeb17534337d80c005728714de53de8e", - "0x00c4dfe4f22b613d29b5b0e28ebbcd016e84a43168da46b0521822bf2a257d14", - "0x0041e799d0c373d2b1ef6921be31d6f0827387e9e19220825e873da4dd9fbab8", - "0x0021a99eba035761bc4dd19fd87b8d5079c289497c942c9023d25973510b3742", - "0x00b0d37a0eb3735e6a55afc8c7e57f5e160dc30bd6468019788da2d27b96759b", - "0x00bf30f8b3563533737e4be28ec349e45e67fcd81318d4f8e53aafd2f2ad597c", - "0x0077d4990830670e3863d31db4f3ce62954ab950f6bc6737e2ed1aa66d85e300", - "0x00d997fa3f42f65892596ed49c1a7a5b77db1e816d61114a6f6e605e06a42ea7", - "0x00ed7af15e6c065e851baabc83b524ecfb032e77fb9ae63a005a2eb81fd33c99", - "0x00eb0a10582156270dfec4232dca2c28a683e3b3b5c3eb4ff1b005efc1d10f19", - "0x00d5fd441995b347391ebad406bc480a5b819c73af1989830f64e7d3397718f3", - "0x0068418a26b36dba791dc8c574f3f113552f692f501c5f195d2aa054e0a2a892", - "0x007518cf85e75ed95334fa55ee5ebf341ba4467692098f21465b39597d2cd35f", - "0x0033a2c8aa616b948579d426ee403f858f7cf4f893ff0f4dc10a39042ed34a2a", - "0x003fcf16ee44efe5bfbd419d4b0c437df93d209d29eb5f2784468dba39d52286", - "0x00cf14b3d06768a4f8e3d8c4a750a72b64a15b40361532a1d110b7539f84e135", - "0x00cd6e6d1df77609fd7fc8cb3192b94290725a064de6e8f3ddf67e1ac0edbaee", - "0x00e9b542e054c8ee647531621bca9c3cb1fd7229b7e78215206f556f45555a2f", - "0x009428a2e69910f4614badd58afc732edb8c1c828e33c9b928d19802b4827906", - "0x00802442282af8dcd3f2f4e307f78b6db0b1cdea4180b54875c7615f39025e80", - "0x00eac9f396cde654588fa3ddcd1c02fb67471d46fa6cf75a66d458c188614c8b", - "0x0043db2c78b98dc917c82f403acb6c7637d77f9b78ef35191ab65f5504896fe1", - "0x00f0932e30acc8d8554b496c09ad84dff13002b8cdae2fbb5307c8a6872e666c", - "0x00b5ac28c7aedca0a7f015d9a0fb4e33db30f278266fe07462470e6e873fddda", - "0x0078626f66518fd5b756a0bd154cf58a9a43b1b91da0bbf99bb0cea380b6c6ee", - "0x005cfe096407fd6a81066f14a495f77bfc7cab57eafd38f60717ea84b053ddac", - "0x0090f9bdd92b3c2ffa75a3ef70c163e2666b2012051fd303c976ac6fdadfa765", - "0x001ed3187603927a0d54e3b5f11cf1747025a64fd74f638835c2abc7636936c3", - "0x004f6b0e48d2e599114f46a4a7ca06bfc2b6d1a138abde15d5c0356648e0b620", - "0x000204006daa305aeffdd9c662614eb56236f772f55f84d54ac4b1fce77bca3e", - "0x00c947625d2e5a47d9ddc83caa8d08e7c15389122a9518d681fb77008007fd93", - "0x0057e0795f0fd63508b002328596534a0afe56df1c75d7907eb9a97cc9ffcf92", - "0x00e4dd42e02e368b789ed2e013b29f655acc73cdcd2152deb0a348f13bc52283", - "0x0042c1f3b8625af56499fa22f1cc9aa50857b665af9d59ade878b4ef5f4e30f9", - "0x00891c2dd8c837960a07146a93de27562eb06cc9ccf287f02377c62320274c36", - "0x00c1a1cc9361c0392c79007acef33fef59381622ceda07e715071bc260724b71", - "0x00974121c30b2f2b3f9572ea8fc358cde0a5bae6e8acba3e616262140e09c1f1", - "0x0060860f6a0562f7f15c2a3a31a2ca4e8438ee07eef3ebdda28074b76ddd7d2b", - "0x002683851b781cbb5505cb4dc28b03779303f214a0921ca431c018c1924d0e32", - "0x00c7930a4d3f0156cd33f7933fe069012a5018f4d7ae791bf78d73f2dd6d7530", - "0x00029c262085df0f677aa233a4cf69ebef7a75235f89dd0c1a3c950c9d2385ec", - "0x001db2937fd86c799fdc72eca9147e3550d1065585885f187ffdbb4eb33f2494", - "0x00f549a1d51c88bb1346ffcbbfe842f222a22a8dfa589038c72074a90eb64088", - "0x0078667e3d201a88c4e03e3983130b51474d42a58886478db9d621910067adc9", - "0x003423abca055983bb638b1d4c8266d4cdedab104161a807043ff8e6c0f3913d", - "0x0081ca1bc8681dc8401c096a8e00cc001a5d78ff4487bbe8cc123a4fb5905742", - "0x0051121b11a844b5b30d3ce7791f0d33c4e149f7e78a78d0e6cee8d80fb23dae", - "0x000660f87a3cdb53cad607700257662dc4ce7befb1e819f10daf04b8c28332ba", - "0x007c26bf786d1a9e283f6b93b4e656d234b9ed80c67f972fbea92145618e125b", - "0x003a1a96fcb937a7f3ffe3d11605cc8464fcad93990db68057c0988857874fa2", - "0x004968f1d37d38feb58a89ba3820e50a5a68df03efbdb182fe0c9ac4c85c2c53", - "0x00e3143eeb5e59b0cc30660c828ae84b9e5507cd92a53aff80ed2dee70a55042", - "0x005b7a1986caf5a8174886d8e487f9107a46ca078c5f348714428b124036e4f4", - "0x00562682977e9f57930b7b2f3130520332e76e890aa4a9e0128e9c6613b662a7", - "0x00b083cb8e8f1d64be69876b979cea8c154b9f667074f678b3d1a4a6eb31a214", - "0x002769239657f87ad773404a9f2549211c25412271dfb57b76059e5f8200f0c3", - "0x00aaba85ea5f87e0f47c13aa3cab5b8f7ee889a92059670b9f69379b41be65d0", - "0x00b36708702fdef91ac6454d6f09e232e2dfdb3ccc1c53f595ae7bb1ca378f8a", - "0x00fbb5b2164f6350f811a8510ceec2ffd3fdddbe426c1ef7b4324790c88dc3b5", - "0x0002e1d6c3ec5a8e9d5e1314812f914befabc338ae15bbf90ed669fdf570d117", - "0x00a1913ad8b715ced73cec8a960bc7ad127648632c6d64dc9a0e8b5cac5153bc", - "0x000be0b83f17294115c1a087ed035eb4a5bf18881296436cf4bf3b9f51a00104", - "0x00b773300ca26de7d001de1d3535787309b4139fb7442102ff07e3e0342dde67", - "0x00050fcf0c0876a27de926585694e0048ef14c6b8f4d1ee757c7aeaafeaf1e05", - "0x005d558bfc6603800e93d2524d1c4f1d22f3760e782514e9dcb81bef54792c90", - "0x004b64fa5da331fbb080f87e8bea5854e890bf6931d147a0d9d5a04c18bbdf95", - "0x008c1a857cc026c0ca5f2f3422d544d265f1be098c41d17acef13ac303ac6d2f", - "0x00bf9224ff41d297be8ed84bfc8b232f6ecbb48b2544cd7a644dd47200907625", - "0x00da65ff8f8f9d9bb5918a334f043b5e4f3b6eebc57bb6e544836afed2f013e9", - "0x009bff7b93d682e90dbfb1d74196ea0af7e157c2d22c16d2dde0fa3d3df45159", - "0x009ecf2ed51fd2f8ac15c9903a8efa25ad306311d0e92ec7b4d8fccd0254932d", - "0x0045d5b5b79528ab4518ea5f149a9d7a1a3ccb2d1db616925636d6feaef307cb", - "0x0045ed6221fec61f74467815059e3885331daca8c2931e661b86bb4a99e35067", - "0x0022a7bdeb9f9d56724caf6383a20ddc5d5d632f29e6ba24053850ec39bf6f15", - "0x008a2fb155f227684b21ac494a2c02836706a16b9ece517e39f1bea82d3a02a4", - "0x0000ba19fe5cf8dcc74671dd43bd2edbc15d0609914c2aa4afafabd345c5891e", - "0x007df6a50e24de48a49923d4d2c905cc616332722fcb663c61ff3712cbab9899", - "0x00c3f4f1206823e140b891f2a8747a33954a466cb7dd885c38ed6714cffe9fea", - "0x0004def546f9b959d77844d258b5ca5544f07474302da68795409f0928232b4d", - "0x00fde46a16c4242cfa6be47b87166a5b0023f785b41735234a83eb74fcd4621f", - "0x0051dbc245a2077947ba455ba1c3602160e3c59698fadeb0828e2ea3808d8fb1", - "0x00187c83f0a5cf18ca3970aae39323a750265faeee0c59d5715df646332cf8a4", - "0x00ea1d548c59f6981a65f1db95b508e5ceb3dfc9035adb5d0db3d04e0d8474e0", - "0x00844a72ab5ba8b394dbb5ce94837f6ecc7bb909b7ccde6233ad18fd121c605a", - "0x00769c67624ce4e153f531ea4293090a1f94f66671e99f99976eaf357f2c43d0", - "0x00841acd621b9dfb17422420b0fcd7f7a31313e837942d29488011d15f575b68", - "0x00bb4d793ab42a89af0496ce239f2c1c22de534ec7770195e3d5a28d700115e8", - "0x00bda74583737476b1bea6c1f92fdddb7d8e25877f6187be6b674ca09a9322b7", - "0x008d57020f8fdfe37aa0a9e525f1e1cba129333cc57ee42f4f5772928d2e9cf1", - "0x003e3d05c52d155c7c796da073ad7b7c82695b25c5c1fb9093e6ee5af9859f7d", - "0x00ca8cce459b3dd8a7df9eca756c1fa8a65bf100c16409cfe18df4e562b7b568", - "0x001d89155ca7d77451651fc23eef91ed7d266934195d637e868b9ffc5b77deef", - "0x00565cbf92785c3c08c4e88cab5913d1bd88dfcf6a06a521f80eff885485e47d", - "0x006a4130ae567e8eb72b9e21d3bb9637380e91f88010e3551fdec59e2785e165", - "0x00b70458a7572e33479b35bc8ccadd038b9d79f82a1f27c55e2c5f9bc12cb3fb", - "0x008df6c4b1b88f68bb018ddc8307eaeeb54e495c1f10a2921666feba14902a00", - "0x0009b11df1d5424ca4edd8eb435ec78d350830a11a0f247fe0082b404250e84a", - "0x00c4a45408ecd9f5ac8f5bfd10a1345add1ea5d394d7c5c9ea6460dfdce8600a", - "0x00267d2e825e33c5f1882ee182b4f3df95ad09e633c4d0e2b49f3b6d70d9fa8d", - "0x0037d310928e052b9fbe2066e0a06aca882578f14d8c82b3c56c51b706d616fc", - "0x00eb89ae35fadaa7d4d1d080abcd3b8c4b023b35cbf11deca059a7fe7b58c44a", - "0x006aa1d93af7df5d69c1e50c5beb369ecb695331493182314c55fb761e3aa6e4", - "0x000fce57d97ece79f17915bc01302d696f958df690d2b757c702dfa51b4839b8", - "0x002511a48492e8ad15d1c666020d80ec8640c09f4fea99e88ffdaf969e628053", - "0x007413ae919641dae994be0b87e33e130baecf81e5023cafd825ba96dcc9edb6", - "0x00660f3526dce6106c945c6638a87aa361e8c2d0ccd5c35697179140ceec93a7", - "0x00a1cdf1a125a41be0fbd0ca445f0c3a2daac605b8a4991df18c088b98500beb", - "0x00fcb4d25a3cf57254e1db5c78d62fa255f3fd0844bebc59bda17046233c8629", - "0x00e1854a7b4f2967d3e508c93b92479bd0517eb59165c815fb0121aae9012df3", - "0x00b4405618b66c8a5758fa196cd50337642b2308276f5a29530411aafabe2cdf", - "0x00821d31ff4bcc14d1329f88a0f733bc406c4b1ccf79709253e343dde797b720", - "0x00eb04e18aa1d62d0e51292102628f8ecf9bafe112e0f9ee5ecd3a68d738d2b8", - "0x009fb4e1d8665aa33dbd4f64bfef86da2cd0056a5cd3be3b7b111b74c0e8e8a8", - "0x00881163850e2be179bc8b6d4c62f69e6d09189c6c197b3231bd7ca80dfd7071", - "0x0050ef48a6150a6af7e5e78678037d02c535a60e5294ece5b79970f73e65ace7", - "0x001bc3798d16af8352692601754c1a13233084a384c296cc564e9523315e6af5", - "0x0093ca9274b2744c9e382d3d56ef14a0c94e43b0f14492de3296e576c085b92c", - "0x008110f3e7d41e155cb6a09320132afee984a532ae627acd686462cfa1e165ec", - "0x002d385599e108c576bfd30603ea300dbf355c692a5b720e8335b94e517c25cf", - "0x00fbbf5ccd869b16fa371ed0d1c694840d6c6ac178e76501b90429e9d3cf820f", - "0x004f080c1ae5ada8b995a8b2207f03af97479ee57a5ce4d564d24d12481bf9fc", - "0x007253bfcd5eda0c0e93a19084b2c650831f3ee8c179a3d86eb6a3b2953b5e7c", - "0x00079e83add6efb2cc092a9f5e874bcb7b04504cae964ce9be1831d3f2bb0e93", - "0x0051e8988555abbc8256410da0d3fbab806f5f4db6e705d88e8d4c3e5aaba1be", - "0x00ef49fedfb5f1f118006f0bf777a9b7d62a6756e4902fea42e031e01178a7fc", - "0x00d6d8ccded4358d89426596b475de2ccef482b48d3e5200643d86d7e14b09c9", - "0x005694b86e45c15ec9ad63f0c30dfdc23f2df4d81bc8170681180eee28e38b66", - "0x006bd217ca307b9cba3457a47e2eb7e8bab39d84adc8410668450905aa7b4d41", - "0x000f4ac8e7e588f614af6cbefffbfc7caeb6be747cbde622276167d80386b61a", - "0x00cab2bcf27dd054222508846bf4b1b0384dff0ce58ee0336e4ee13adc4d54bc", - "0x0077a6d2afe3f9ca9a885a479042a419dc6b8592ee6f4a289547c682b991680e", - "0x006505d1d65ea5f8fcfb80ff011a7cb2462e451af2fab2419c23c518b471026c", - "0x004d8139f1860984f71985a15e6f4ef1d970b0b4cf86779b5efc9aba46de1d28", - "0x00b18e088f7872e9814bd07f96bef095606f77e3624df06402e1e192fb5b9013", - "0x007a0e9b4f733e2526dcfb60e64abdae60400aca33301286898715544a11c52b", - "0x005d1f38940350ebaacb628c58d12b5a9dac466106f4438cb9fda29013c857d4", - "0x00f528e83f574274764dfec83d966e53b4b32711c2d01a381665fd28fac38c94", - "0x0020134f308f6940d72205c32f3c9e39cdb2a5da5ff596ea30b536b0eb0d1b86", - "0x00698d613ede794dc44ea9d6cb1950ce1da6bc32239a1405d83e3133ff8f65ec", - "0x0011569f18e732261cf03a4bce81ccc41a23907b783f42250dc87014666ce539", - "0x0002eda4482e8d6aefd45d9cf8ffd48fa0fdadf65b5f9f289222d887614e2f24", - "0x0043babadc76fdf6d848d6ae291530bddd3b856f3ba433feaaf23aa4808f7be2", - "0x0040ca1e1a2e1e35e31a87be6c3b132c2f523f15705d0b51afa5d83e1615f53a", - "0x00c2581b99c40b18026fe2c1aa73151b27e3e5bb6a7eee2d4ebdd46fb93b4903", - "0x00ae0ff13151f1596a0e1513b53ae1a162adaec65b06f3afe3f2559ef623b81f", - "0x005af7fcf3923934689b4ed32c9ff5678fefeae5a00f6710074af1bc11094375", - "0x0097629be6e0d24c2fbdafb63f9fdfa61a55ba222a47ddff5fb8f84fe390ec1d", - "0x001d526cf1844b746e2efe0ad40c6d4942989368184318654cac4323f1de9e9e", - "0x004ea1163d5815a29a0376d95dd7967c2a93dcf3abacea1b1ae40a6aff754c86", - "0x00fce018722147568a48ca40a7387ef5b9d0833d39ea4499d2543d1dd949504f", - "0x000e9e509471d4f4264d1baf7bf5f726ff6f3afbc556564b43ce625307f54f15", - "0x00b616cea2c205b5c3e3dc46dc365c7081d77081305333b0847628cae6456f28", - "0x00ed9f0c6759624dba966298eca85ec8d50d7e7f358ed1fea537e1a2813f7b24", - "0x00d7837b54b387f3f8b1c8ffb27f5085f2aadce030505e251bf2722f2ed26629", - "0x00a46811b7d25c81c7a1a150b3142fc694a9b6c8074e7fb7bb91b74a9b0aba41", - "0x009a38db52b18e04ac4a74217a7c4c9b5d0d8abe908b6add6f04368a55eef5f6", - "0x00f24efa8d47d8378bcfd3f920d9282a46bc6c98243dd3b0987bdaa40302d101", - "0x00c2a61cae149e3904cce8c64992f85aeb22262de76d599aa6356ac5e78075fc", - "0x0091a78300ed0bb40283ac5b92d3979bc396457f4578256271b45bb27e1bbbcf", - "0x0024cb7533fcbcd1244fb9b3c7215188b3775cf0e407d0ead993cc7853c59ca6", - "0x00eb84b959b39f4e0248f9e4074794358ad2af2ecf610bf1a600d3030207e151", - "0x0011c7774a5558df6cf5af4528a9510bcfabad823f0f0fc25a52b406d46e87db", - "0x001108e419d0c2f783a04b1b810f53f1a847b985216b05d2c211a16a2bd06f4b", - "0x00e7682a67068e1c0b703286090647e5e93977c1d3352f11959d1dff3747dc2d", - "0x009508f3904681212761b1eca71ce1758a6aed0f0a05733cb8267b82c125fec5", - "0x000444ff11be6f5178c7175ec10e22ae4f8005fe6896aca25fd122d91980c4fc", - "0x006f7e76aee4d71aafb29bb42fcb81412cf125b2f330bc939397255a7fd55090", - "0x00108f389ade9406ad815b88b15472278a0ba0409f6ffba2db1edaacba7f658a", - "0x002507e80c190ca339f34b25f7fc14c7c9ff623a6cd63c12e02a8af5abba5026", - "0x00ef327d6bea8fe33b13369691352277d384e9326847fc5287330a9f2165b219", - "0x00d84f41ac36fc58f0ba8f031c6da338658e7badb2924b8628ef4510d0591235", - "0x00cf1ebc675da03ca64b3d930e2bf62b92bc0eff12dab2f9478f17067cf2bb21", - "0x00145942979d2b8e05ec3745aa5306706a006cc7ae95f691231d0a362cbb6a68", - "0x0022db9841a92cf92677ac7bd26a9b8ed82d54b0190d99fa0cde0d810a25a8c1", - "0x006874c045f8330ea928f51b4ca6a069369a71ffd17ffd1d9679524077a1b35a", - "0x0068480397f24b760c9c98080a9ba8a8cbd25b0634ac117c323593745705d9be", - "0x00c92ae3ad1810ef0122cc330dea145a56bb0011136461da7cda1fc3b44a457c", - "0x0014596cc5a6baf93bdecf95fa3580752cf2ee4ea980fd32b49784f59800b5df", - "0x005c8ca8973c24d90e87692fe89f55497a4a37e356537a3ff01f12bdb90aa092", - "0x00dc188ed323c43894b1c81f2fd5a9c71602e67dba3356800ab4ac1e2c1d5918", - "0x0066518050366859b45629f72ba26016a9ea62535f02fa82b523651df0b5d753", - "0x007442188c7b459ae9027d62e0408111c70180cb38696e9bb469661fad8ab200", - "0x00aeda161fb36670d595671d2759cad450e43e994a571509b7307da2aa723f06", - "0x00a6f430f17193d4c08b9e2e89035ac4d8bfab8ab646bc7da15b1e57704bc5dd", - "0x004ca5ae172216d54669382ce121f3a275d3e5fc044ff1e82402e2a7840ae117", - "0x0000b160d73368b23cc6954b3ab36d6e3f5bc8b200c8b2ca3167c0f63921b6f3", - "0x00a2a638f8dc3c94034a02e4c4c26f252ab536e3e1899f853527a0c5f596d11b", - "0x0053ee06a92c6a39f18a30195bb14dee57199a888513afb5ed96c293930fea69", - "0x008913ee1dc9d441d193909fd3f142cb3d9118a7ce0c29fb4780c6fc2005c683", - "0x001d5c6ac837b53f43847b0bfda41a7fd10ec9ca240b4a14314b16d5c6db729b", - "0x00236ac2c2651d2152a66fecc752a16761f8d2cb03ff26e5c7d40c6ba8cd2cba", - "0x008c397f7b243fb6c624af787f85e023fa5f91e1d6fc5a4e611d64bbb7742d70", - "0x008e86d281851b5d65ef3a4d1e0adfe21b2350e8ed182f827f4eb96a29aaaed3", - "0x0024c02be87b6af706aab85764988814006115cf32368cc999e161486a7365c4", - "0x0050da706549c8e7d7261a34204ee3ac75bd5fd13467bc76cfe1de3a4874ac73", - "0x0097b3ffaa681883d2aa3e43ab6808d44f29efcf58b5c72051c308e0b6f6bce3", - "0x00f77183d76edd10d28dd53e043ff91864cc55e219a91b8e444d1fa9b5ec9b8b", - "0x008bda8621ccb9e6d7ad9d7452e7a15ed36fed3349fa68616c27b061430742a0", - "0x00494e0aa240d8a8cc98a44ec7fdcc692bebcd9c8c5553c3e9ebfffffed9bb62", - "0x00582a238d24f79658f70373187bfa961a0c97cb79413bb25772781ebede8c65", - "0x004e3b24dff1e3bd91cd6a680a369826443c2600580ad22896b326692704acdf", - "0x00d99f54580ab536eb9c83b6dc46b3aa59f841e7209ae6596cc439101bd2b876", - "0x009a18ab053ee8b9705411619a2819881964e3869d7395f69a167c6ad005f03b", - "0x00eabbc443eab6b5681b34624aecff8486f9f46f2ca3d2bd290d80476542f376", - "0x003735f74c28745ac427e6a4b0b7777db70f193741c4fb3a3ed8432ee4e03452", - "0x00dbacf84091bc52f3c07adb8bfffe12aaf8abc03f13a2d7408d0cf6d0b3fbd2", - "0x0055f1971b168819a50aee02f4b5b444cae85266d11d30f58cb78a1996c44d6c", - "0x00041c059acd7c464cda3bcc426fa783b01e48e43bd6805dd610243ef8596c14", - "0x00c7c64b53c75ae5820dcdd3f31a7f03067e387b1e0ee47467addbe8f95a6f94", - "0x0081d7d1b01a25933dd08901144e4d5e155945d65e9f3e9d25d5fa336ea52068", - "0x00cbcb6203fd77f6dff2004d30917ab260c2d5de1e60b523200950a027fa2d1d", - "0x00fd9a38b9cef8161f8248e0bfa1bba169d2f8f6e08bbd12f721cd3bd1383d4f", - "0x005256e541218a56543d1a428f35f80b4e223349782050868671676f0172f094", - "0x00834a7a5ca767845ed4779e6b84bb76744370221339959060cd3b002b79b9cc", - "0x00fc510acc2b43f9999f70f33c28f9328da1a32ad9f76ba78221673229f1186c", - "0x0070eead671aa7a870a66a5ebeda458d897988f9c2ca504ecee4b0a1211c7654", - "0x00102c397adc498b428ddde3bb934383425e0510d7caf05e748af3ec0828c822", - "0x00d7e2bb5fbab534626dcd8dc17c0534c60cdc84479b6ad6a567bd0d42c5ab01", - "0x007f966013ce0d62cfd26987a00ec5c6340223cde34421f2ceaadcb2e0c5f96b", - "0x00b46b50616ea709b7b9cedc3d9350bfccfd8389d7db3d0c61feb4704b018586", - "0x008e01bb301e44ea4b792a73add7c93fc75e2791b6e8b538323b2be76698775d", - "0x005088cad74a7ea673e509bd39785182f7dbde615702b9bf0c6b6d1caaaccb05", - "0x00119b894fc7cc06e38efdbef991d31506d9472f0255938e2de37058fb374ad4", - "0x00dd55d25ade2c9ecbe29a1b60cad71ab2238319991389cfaa686ce92df47e5e", - "0x00a2f2a419de3953a02c2acadab62a8c75ffc5c5ba591c1d86c90babf1069830", - "0x0075e268e9d735e820c988689b5c9365e5f8f4a9a13103a1ea6b0d74cbc6644d", - "0x004534f640677f1a003a02154d9c676b6f02d67e633d37176e9396072d2eeffe", - "0x002e0ad5a2d50f07c485fa43078f0bbc6199e19bf181b4433c6f3eb9f34b390f", - "0x0028f84491466af62395ac7f0eb47ad27aa55c7bfde503692f626906d91da08d", - "0x00e9538d2f6375dabe77cdd730f4577c30070f6d84405c4b11764025e5b63355", - "0x003a359adf80cdc0e8169aa6e5854191c4df8c40d21a937d8a3f8d47bffa4be8", - "0x0049fba612072f6a39ad502ab6adc2c4917464030c26c07187b94615b1f515b1", - "0x00ca07c016fdf1492d559c4355168c7a1094c30ea725f43d546a970ef28d160e", - "0x009190671b2c5b1a64db617bc69220c610d0bf5cea5d113440b9fc0722fcc333", - "0x0027e1becace65ef820a7b969198142cde22c8e8f9b49a9db6959192f26f3587", - "0x00ac7b19c39414a8e0ff70d9499c3a60edea3e81db33837e1084a75899dbb30b", - "0x00feca08240358a3d9cad5081facb5373d7b5a187e90519aa4dc368dc458a994", - "0x00664d0a856917e53f3ae86cff7a2f507494bd9eab92fb6ddf930332e43c345d", - "0x007628a341a1d9170a3d0603bb7df61f5d8c0f75c825a3072dc08cf1890bbbd6", - "0x002055907bceab4216899125f71b8f8e7ff6e11d3906a45c18ad2f8d337905ef", - "0x0057963ffd640cfedfbb1c461d4a56615454d52a0d4062f2f8dcf8301ba1adc0", - "0x000a2234f6fc2f28499f1473b00facd1c5eeee9fd8821ee5dbacb79d5e6e4ff1", - "0x0019da34095714ed53ad090eda2bc9cdf0833ecc9569fcec272eafc3ac2a1f33", - "0x0096295d0c45ede71b5504d02035c0bc05cd2c4f5b1eb909c96d0c8d2bf4142e", - "0x00e0f8cec46c24e6e925edea4b94d38f2d9c7f9233b9f76296b7a59c520514c1", - "0x00b60827f815e65224c33175ef0e6cc78d1d4b39f98b7a94e45f96c4db469fe4", - "0x0000217e3247f7164f41d694ddfabdb3cefb6d248d1cc583f5d3223b75284c02", - "0x00775107d20ae35064648a3727e8e2b9c18dd4fec982b45bc7de5b73923f731e", - "0x00e015078cd0975060d0742080729ef60e01d13359fa7fd17e4bf4ab9c5c8e56", - "0x004e928545a69e9fcdd60306aab358803cb84ab248aee8da7009254dde182a79", - "0x006486ef2803a83cc18ede6f2bc98213fcaa62046be3b08918c09b4cc12fe770", - "0x00b8303d1c8966136bf0219706678ae22cc84d6c42c8d6a3191308f79d34e65d", - "0x00c1799307023adb77d8dea967595753ad9090d0c512568f58bb87d48793aa43", - "0x0066652609deac8c8c4d580eb9d4d3d98d375e85038cff0c9892a8a5119c0cd8", - "0x008af6666f071d471afd3394939e5771d14b1daa2d98c896ccc7438c51f44d01", - "0x00c0b836e693463f32b049e5d31fc966cde21c13a05428d277b057383e10fd76", - "0x0000f4d52679f0cc5a1e7af23b753adc14dba05db147298736b4f3aab62cb7fd", - "0x003936b4500362d18767b18d0824d669c709e05bd78050119a9a5fa3ab3c84c0", - "0x006c7b28aab8de729dbc03189a411309454f66bf7142458077156027c08b850c", - "0x00c6a89a60751800c298a6bc18b2faed7b2df137e7a6793edd31e2e6ff985a74", - "0x00c803cdf490b23bd5b0ea67330c028b6fbe3ac35f8a9a318cd69aaa47cdc52a", - "0x003a5666dac52fc68269b27b44c8690eaa995c42f1d694702db632086d6af501", - "0x00849d0e9b252b8522322b034b27c2bb68e4528bfe0f75ba17709901f688b42a", - "0x00add646a69972cdd16b2290ec6fa12afc9c96bc7d99be37212d12f6cdb4a438", - "0x00381c5fb7a77e6388eb5f92909c7469af764f27d9ab901cbef45f6e843e6dd0", - "0x005a7139d01c8baa5528c7fc59157cb2c49c628baab9c3ef6422f1140b6ac1e2", - "0x00804ee8b0a27172613b0be8785881a068b92cce35accfabfad88210523f564e", - "0x00f252d1c48e479853877b30d8c06dc9a59e2aac0be9e245fce4e8542416b0a2", - "0x00674074e43964a3afe009a4e4de3fbbe767d27cb1727a8a5d330be16084e495", - "0x009409405870d94dde70e188869e989cf6212c62495a47f644763c7434fd8a58", - "0x00b7ca67d0b62ee847e8e545405ce1fcdec1883353ea54f0befe21e432fa5eb4", - "0x006f52663aec0e95fac70376485a933d51329f27de604f6db108161932a1ae58", - "0x001d8975e6875c47df6308000f9379d2afa5a1ccc5da3756cf8bb4c32d945c27", - "0x00d18d674a9b02b9cc50cac7793a5948966fa3e5b40be5ae6774dd810623e7ec", - "0x000f709230189dc3165cb5979210daad95a5b9fbb8539c9d8d71c46530d72a63", - "0x0093b773e6a5ca2219a6b3fed02e00e2184e70ba055bad491604c6d969c22f6c", - "0x001a323dd93e9fabcb8a0df96c457a57e8e2145d57780375aaf889c9d8a89dff", - "0x007459faddc443ea711f62209f6c45dca37ed52375d246e693aa1d08d6b30bcb", - "0x00210b104e1f8e0c99d61206a7ae4bd716bbf774b7eb27359407d32f92e83dfc", - "0x004b61b9dc37dc4f246aa2e0bda7f2646b39b83fa27e45442eba67ddc79ca3c2", - "0x0050db8fa088727c0ea1b8a24ef8f4020deadde169591739130f3ffe463a0033", - "0x001f8b0175d5b04905fe081a65231318395a5b52258d07fb0189beb369a502fd", - "0x0064ca66978c44296ac027233efe944902510a0362efd66c2ce7ee6a8be43c19", - "0x007dcaf373a162095c24ce0ad090fbc5b86e055c34b70fc6c65f3e2f60bb1bf8", - "0x00982c9b171906abd046984344676983226a3cf418838018ceedf1ffe3de9864", - "0x0077d8a006572b8813fab61ce6154f3d12f2ec61e6662888f2f5279fc602534c", - "0x004dfb4cdd14662226e67ac4f981e8a446cda79d82d65b3e7eeb47d787c054ac", - "0x008f41f49b193f56cfb4d5140aa35fe2d6c41797ce03b706fca0710c75790c09", - "0x00893edd2adc5c38a4544e952655f79c9b9b4f4ae56ac7df4363043d0a35a089", - "0x00ea0247b48d845e42fb81c474343e7be2a99e02e379c3da17e497d750326484", - "0x00f4f4df1e0ef9faf02c848d7cfcabc2226f8421d8f745fdda324685478afd4a", - "0x008c4de699acb61c402968419dac950645b1d5f0a8e576fbb372a4b4df6da80f", - "0x00461af7766e32fcfe292337fe236db3e3ed8d8ef6f2f258efeef8fdcf487d16", - "0x002ee8187d14337e5b45bda6314ac6438bd26709297ae68fbe333882be8a3b20", - "0x00ef68d89466cd293a450d344dbd754daec056a4c0fc8265cf1ed54d3a8bceaf", - "0x00c39d0d028504a7033d80ee254fa52de159692489833146bc2d6c99b7fbd11c", - "0x00cb540c434a2e196542c84ed38ae8196e379295e4016ad272549ae906b82723", - "0x009a6745fb1235e1c746dc401f041cb5bd2f059234d2d9fb8601e9ab589f4fff", - "0x00e523a13fe340ca2afbb8618e003557cc7e127d7cafe295571ec651600461d4", - "0x0008492b6e31978961f59d1d47a02ab4243d1bea425134b8e164abf9cb0efdd4", - "0x0064b2981bac1dfa5483b0cf4796c8d6ca125efad2f090024398ec847e69650c", - "0x0082fba81399d98989749ed130c02cad4a243cd54ff71eb23eadb7a6d31b25dc", - "0x0009ff9f87c691dccaedec33f12a25cd393d6f5005ad9d4a0a0e164f614848bb", - "0x0029badbce2d2faafd63c5aa9fe443748f0ed1894d8713c96fb2308f098c0b1b", - "0x00e39c969bf2e0dafb59c513f0ca05b5d9c68725c98467440dfcd936d60bb296", - "0x0064ca8a53c1dc473adcc757870589eb1becacb245ec8e062aee3c01fa0fdd38", - "0x00a8c990d0597ceaf0d5e73008aee34edafc7c2f99b552933e94ecf46059eea0", - "0x00023bbbdca7321968bd665fff8fe0f1580ae4da60a2e359b4289bd435fc37a5", - "0x00dec6d3ee43d8b8e48844ceab1d937c62d0da17badbb5d1ad0d024dc7c88409", - "0x00ef74463a8f764ae4cfc85d9d2da5ad0cfb83617dfb98dbaee4f60c1c37d331", - "0x00bd51917e184e968908cd28f93fcbde494be761658e468e12aa189a2d8001b6", - "0x007c0d8448a9a2a8768eb6bca937d785d80828f4c56990b36ac3ba8369e733f1", - "0x00b60e28ed5596f80d555e06a5255fb766ffad1944852c6b6cfad33f3acd091f", - "0x001ec7fc56d14cd79e184c42333217d20e3148b127690520e269b8287f4f413e", - "0x007c826b1188b3163f13e38235a298e26d549132560e7d5b9bb5c4cea154265f", - "0x0076763fe90ac659473c3fa10d658e1f6c3bd5963e7d3cc27f8776ded50b79d5", - "0x00afb7be07cc43887af184d9b2c1f98df9451bf2a8b6fa960dd207f71a32aeed", - "0x003822c11cc46d4165924199f0010fb461c6383c905a38212837e2c0a9dd3e00", - "0x00cf521401042b4d40348d1ff1f04c0e1204a75c0fd525ad783c3cc211031022", - "0x00cc79e40a73868006375cc886ed89f2d26178a2ce40ff252fd7b516e0fd5c3d", - "0x00cced604baa3e5786db1dae0a3aadb881ee69e16e74908dc1293a28c80f40c0", - "0x00c424e2f2b60c910d1ab552995745e328898a6bf89287412ab9665460e0ccb2", - "0x000c6ce6660302f9952613646d9b8fd127c7eacc536c4876c95023ef8e199caf", - "0x00f5ebf18400e5a138d6410064d533796a887211a38f2b32802380380ac0fd7e", - "0x00c0f9ad51f1fce3d154d38ebc56304f79175b69f6cf912bdac2eea1d5a2b7c2", - "0x00325f617a66b3f16b4268b3f4095a91566d2f1626c284837f5fe4056d893883", - "0x000427a812fde4eb87de7e80787802d793dbe7d761e62aa3e6d0443ec795cd6f", - "0x00bb01ac2279f454ded47b4f886f24c8bf6a3b4c5d4bd91a9ddd494a1c63d4b5", - "0x006f81d775a51df76a45ee6e4dc946b8887244305eeeec6aad84c718a03f273d", - "0x0042abe0d13bf2896c9f19b62fcde90703ad9e18be7faf72e0507bc5ab787340", - "0x002d7a27fb528704810b11ab4bb3cd6d33debb8ab1e94cf6ddf7f5446ccbec02", - "0x00dd93ab4627aa895d4ef096b7685ed741a2b901f6a138ee4b3cecd704eb0f48", - "0x007ea2dd17102df4a4610295ccf474ab601dee62c5bf3a4362fbb51d8d0dcb24", - "0x0067dda7130b167c0e8db85b71f9d4f884d9d769d1d80ebf010d180d79a5b55f", - "0x001d9c1a1acbb3e9acaff6421ad9880f7c85eeb052bcc1e91692fd8fe7a3dd68", - "0x00dbc455870a1849973dc66bff013e147e2d774c7b707cc64c2ef084b82c851b", - "0x0047b5fe61cd7b6b4f51e6c2bd8cd4bfebaa7155afb368aef0471a4184fa0bf1", - "0x0079bd71992f76162423cab5d7b02258c0c5a1477f832a41c08cfb6b9fa9233e", - "0x004a8bd86f3e6e31e6ffd125dad1b9ffa27d5dfd14f85ce9ca1d926693cdab6c", - "0x00055c188c89250af43ded608cbb34f4b5b8de45993fdd8be5c5f92c45935f4e", - "0x00f201664a8e76bff376b62a6d46ee4e1451fd32c2288f6dcbc216829297f1b9", - "0x009035391ae3c7c35f8639f35a9135c50bd13a5ab2b15eb81e7472d718c85ac1", - "0x00cdebf25966caebeebeab624d4ba3d7b3d68e6806ec9f515c7066f52b49a82a", - "0x00240965252fce3f76048fc610c0e5d79242deaedc1e9e30d783480ba51d3c50", - "0x00edf5cb5bfe7161d54b8167e590177353d923d4c20ff3671ddc41d2014457f2", - "0x00674cae373b064d834f36edfb05f12c74d9f7a25814fe91ece47169e75d9a39", - "0x0071ad9ffe21b9ca1343629a502fdb90b3ed53ae6cb2fe5a81e5516bcf1306ab", - "0x00917e5999953767a18e196a80fae79ae4fef3bb9fce342de81945f898a04749", - "0x006f27b1281cf6e6b0e5ec12a6339f7c1b3acb039d38a5bc4c9cae67d691bf89", - "0x00a18ff97605ea633c60a4fa6763efe411737606ea3f7a8d9e01445e087f0b24", - "0x00a5185c2e0e3339eba8ff51e09b675c1ab7c5ace7a98e33e5ffce2605d24aeb", - "0x00cea2b81b4df3390d78771a9de9426b2cbac5f33bd3f983ecdd08680be8cf4f", - "0x00a3f28fc651ad7614a36d5b08b9a6e8d8229f2f337905ff13e9ac235f4709ff", - "0x00fefc822d08c83273c6582432c171dcf5265a22496097e66b33ee68779ab400", - "0x0024c393fc7a3f523b33a34411909ce7929e0333f8b807adf471a70a0bfb50a2", - "0x0085d2445ebfdff44d4c2cd8e07f55d0ec993d34c3efb25aeb704c73f01c09f6", - "0x004d683331014d99ac2725a9d993d0b4059ea223b7e31d74af3813bffcbb3130", - "0x00f41b4cf36d3208e99621ce733d354a006a7ae7ecb4c0968d073dbadbb6fe7d", - "0x00478a2f7b7cb66040b958d016432afb638f3d8fcd32f9d408c88e8c2d7df648", - "0x00ce7d3ba45022039c48fae4afd18cdb36e299c45cafa764328c38d3e0a0ef9c", - "0x003a12fab23caada924fd3d6c019ef1259c9cc304ab02dcb3dd072ed3a1662d5", - "0x006a80fbc35c26bbf6ed6df2f810f9bd44b4ee0b8076f48b4ea5d2eeae00f3ba", - "0x001b0d41f959428f337aa0b50c4e24e534e52a83a4b096092eca5873d70bc6d2", - "0x00f497ec2e2258557795bcff5c2df277e6251ec4905f0017e2b41642c1d2addc", - "0x0071cd93c85ab2dfab79298ed35454be48e9a3a345ba5e24954744b7a87b1a92", - "0x0072512b56f373b8ccb05d86998997bbd47c14c8c2377bdd67c44133123c6883", - "0x0094794ca3a4246c0e6047135b7e41438ed077f16fef9b7b96518ba834d37950", - "0x00a95f9e79854c280aea8e9f9417e2943ec2762a646dfed73c72bcafef5194a1", - "0x0029dccbf8157a663c2c4e736ec8b7f524fb2158e620e6a34a52496f37585e84", - "0x0063b903262eebbecc0df8747c6bf3ca4ba8641116868a6d2afaa987eb2ec965", - "0x009e0bdfe6e49dfc32f9c9c7e7993cd3fb8f6be6190a38fad20e64db2997cd4b", - "0x00460e501c7564af3e1717d76200a7d98fe2b347778f0d4e479878d893ea3b82", - "0x00a5d52737d0f50e88e25681ed0bb6f3e703c1537856ae7ecc18fa16fa84adb5", - "0x005225656c6cd4a61aa51d2d72cc2de7e92778db0457bc11fd16823d05d1adf4", - "0x0000d571ef44c866096d9706a5c4c2082a156c5aded42980f3ab3faf9573118c", - "0x00cd9acb959fa7c5eba13e45ad849e473894d1b810976ce65bccc7bdf7618694", - "0x009583c849a267b0661f3043abf775c315b5feac5975fc33381cbde33cac496d", - "0x0085d6ccc2f950949e87b4b3a76f5546742380347422be1b78e0844db3792fd1", - "0x0033944e00247a5a2712226c5067fb43f396f96218fcfa79553a1fd16106601b", - "0x00d433dc8fbc3fdf0d98b9bbd39ff30cf78eba28b2671bba8feac5f0725cc1a0", - "0x00521b4bb5c5d5675ffccf4d134c4d2c61b34bb48f50e7d9ed0248fffb5d250a", - "0x00de20e5083c57afdad62274b8a61f653d17203ca3b3978796bb8a5fc419fc39", - "0x008c02e3549140ed04aa5a80c47bf257f8b120c6e11f3e207d5a0462d6b8d136", - "0x004a5efa0b570bc3101d3f395ea473c58f1337c9f965efee56f01ee366ebb4d9", - "0x0017a8e4340c45fc07313f8b1d879618cf3c6929e076e72ddca28ff30728c527", - "0x00076e324f29cd5f138e9dd030e07cda9096e17208a3fd24f56fcd36376de916", - "0x00d067615a678881766faf0cf0f1061e6e0950638d7e83f61cb749f997925f1f", - "0x009f5a78e33e4d2b1ae65e8efd8dde16b9c57cb9b757a76597c8418fbb755952", - "0x001255b42490b7576e5c4e7d45742e557e8e0632b126439096819bceb83a6f67", - "0x00ce056f6c2ce1aa2846099beef049d0fe7194857a77dc6c53b15e3874b6b0ea", - "0x00328789d08f890c6ddb568b460a23372dda56fb30c4397622123c902f3b0deb", - "0x009f18f74cfb3987b2e49f1b685bf90fb0268a4c91c01ffbd9ef1935ebbc6ea6", - "0x00b440dc28c5f36ec86f47a99d2c62cfe59d80efca93f0ffc14e27df8d22902b", - "0x000c6a77b74bddd3ee6d8a4da66dbafd46671de68c48e372a1ab579f15be9ae7", - "0x0086a67d462288424cfbd79ca8b4478a74ab1c9b213388c3abf16dd732b25e01", - "0x0059293d1940c9b34b751a16746984ff27f12c853af142b997a973dbd0c37a96", - "0x00df07f6dff6d0b9ba69e2c38c7aa0cc48ba7761965d5b53e5cb0085bbb62ec5", - "0x009203893b6c573ce30925349a6e4ae86eaa576854391ee123c798a8f6fc0c9d", - "0x00b82067799880e173140291dfd8462b375381c698da9958d6c8cbdc0f14f6bb", - "0x00a80239dbcb4f5697149d83172c3abf04849a76637c1ebb2f0473228c6fd440", - "0x00ff27a0cbd5aa22bafdb4fc8937ff815a34b401708fa6ab21af96802dec7652", - "0x0035ac2ccbc1bc48a606f69a7b04e86e5575cc857b876df5b715c0b6936da828", - "0x00f4d3a2bb1ba0eb8bfacb451b4aa395dc91407a413430e168a30bcb417a46d9", - "0x00987a8d90f196ba2d3703f736c063fd2dd7afe3aeafe6077cf7e7d9768c14cc", - "0x00c761384c384407bb9cc03ee4730883b7a90652cbe148d568d3bbf46c06e59e", - "0x00390eb58be8348057c816fd69146603f4446d38119059c4f3be314decef985b", - "0x0032c102042079cb329e90a71abf160a2936716e129a4252ab2c9dfeaea86d35", - "0x005bccf7ac0055e048ba2554840c6fa949e9fde33fb429e45e50ebffa12640e2", - "0x00eeb1af7d16dd99b1de776ad3aba50827429382485766fa0f7901d472115d6e", - "0x00e94d64d74e248a84eb00621ee86e21af7a2e961e09460c0dbb8681e4f92c2b", - "0x00ec7c5dcd849b1c90081a0801570080a301c88089f10e083779fbb14a8996b9", - "0x004bba0512c20c49a6710d76868780612ffbee35374d8001d79425e7cc5ed0b4", - "0x008f33fa89948e107eaa55adb6de704198b6f981534be89baee435f196565057", - "0x00e6ab12712bae9e6dc657971003f8523df152e6c3e904d08f4e549df89e8631", - "0x0075f3a4c15b6b6a31ceb5a7af49f1ada67f2ea5665ced8e2ad65162d004caa9", + "0x00578d43f041e50b25334c3bb2b1d7b037430032dffdb0fdf0fac685436f9131", + "0x008c1ddb3fe16a677a7013dc46451258f676264a0e9ff88a7d2b4df400f3776f", + "0x009ecd55adce8af8a89840cf73e198ef33f6b6e3505196063428c1c3b3631847", + "0x0026dd699592efdf150163f27db25c766977d00f06483f41138bb33dc2038d6f", + "0x00bafc972a62bbb45b73d76b66dd3b0c9471478f0cb5882a1975940276d787ae", + "0x0078bc41f263e836de0668b2b8d36e6c933eb9552c5a91164260c3839f3715f6", + "0x0087a7e5c6def6f873838aac982367276385373b80bfcf84755db81ee8033d25", + "0x005b5b1e9a41823fd1dab140f135f6cf17aef196b629a654a1154f2f5f174678", + "0x00480478161ab98b58e8a10dbba738b41d6ab93759e93fc1d66c19d59227d5df", + "0x0074efdd3045e59cff41159d75ae01f472625953d58cd7349583155c367ee553", + "0x00a444b6344509fb27312f345f83c2113c41cbff4d8ea6337363c943e42c41d8", + "0x00a11e06a0c67b9a60aeb60b3127420d3fa2080b4f6dae4f5d0e992e8428a509", + "0x00c40b7dbbb27f50dc25c79721da892e4e97115b68e3313e9d53c946dbecd64f", + "0x00b88d7c03820a7c7d25c35cc79a618c2c46463e396fbaab854e010cf956fd3e", + "0x008e7a7acfb5b140e47f9d2e4fa661d2bd6a976b171a943be292f003fe6754da", + "0x009ac295beb428f23996ca47fd6477f5df08309301dc680ebc2763d5d690931d", + "0x006a9fcc1c94584274d54739b3f86da5b5a159f09b004a92e7c622a7a6dc8f69", + "0x00e10b93bd8d140e2edeeb714a8a1e3831e86835109861ed2cace5ac1cec5692", + "0x009055848acdc86da7e93faf0fef2c68183b876c58a2af4db73aa68f175dff15", + "0x006a6ce5c5e0cbfc14a0e9ab5198ceabf64bfa571792d990a1f39d303e859c30", + "0x000c65051e15d2d824cf89c82c935d78a1f68940ab182d297c2fe41961f8f7ba", + "0x001041d3b483d9c259411882871ccfedbb0b44cb063967267cc51880482d7338", + "0x0049d3d9689473dd75622f306e492fde2cd3956f0571726c50da5ee1c8d6d9d5", + "0x00cf26a939f1f2372455f9242368b7085fa1c1bbf9ca7abdbc1935dc5880c3ba", + "0x00cf9513e7cc82f2b961f888dbcc75916ae36ba95a5357d61079d9094ee16e79", + "0x00e124fed9a3c4b8508622e895f7b96410150378b26a98146a1a27f499e7978c", + "0x00bb9cd4b8255064004ab3a0c10ca6b677afc0f8488f236fe3db502b23607efb", + "0x000cc97ccc64d92fed5303a0d3d28e0564cb60e5990cd5ad0fc1d91c9b1e7a4d", + "0x00e872351d120287255393bafe2248c5bda50cecb368e48d6292f80f3331eb81", + "0x00137e9b02b323fbec450b31abe05cbd9084f571ceaf21b64b650468477724fc", + "0x002860ebb51dea6093ea3920ed948125222e592c9d9325f2315ce6675c1452a8", + "0x0064b99f602c801de1fc2436133847dbf39b436d278e45c1341a95d8ed174925", + "0x007fe8be09677b3127313b8ae72f94868141d2dec2678b16a91abff9c91b3ba4", + "0x0095d750e0f35d352bf7b8453cd8b08242582bcd4dfa298af3968e2b077b1ece", + "0x00c19aa73dc22d2cf409ea6ed8cfe4a0dd7aa8e3da04376059c1865102084444", + "0x000d15b904fed4af21b85e26e75f0f53cd6194a90dae40415631c058a3336867", + "0x007a4f3dd15f759cae1361898cc23172f281dc30c9d0fdab0c867c18eafa8e32", + "0x005187a3cec0faeba5539b5085f66f6804d0c5411be3979f4155b382edd4f8e5", + "0x004d657c502ffb0898c3e471a0c487bc50ba95262d4db7d5c1ad9d744451e03b", + "0x009a66b12e9053c55130d2ea7361fba5a7ca107828ae792aaf285526094303be", + "0x00bb5b7ca244195b72c6743b0c9fef4baeac9b862b15876adbbbd3f6963883b5", + "0x00aba2f973ffe6cbd6f3718ac9e63b27d15b38b73a302f6146998ad49542872d", + "0x00927c341096acdf5025b44818ada28c6093c6cf4c6f9450e801da847544c02f", + "0x0011100a4fada612280656cba9fcc31ea469ca673b7c1f3d50aaea8b681fd3e3", + "0x00d254c051e8e66e7994d314c6228b01567c32a0c06cbef9104161dc8a3cf3d6", + "0x00b515ce8da456c6a0c813e02bb1fdc5892c75298655174250d1be9019439497", + "0x001fddc6b9b45aa1febda3184067148961d3d6eff93922491f7beb6356352251", + "0x00fc0c4a7b3f379bf63fbca7632fc26416e741a20af72e67d29f4ebd8312db08", + "0x00b10dbc00d7b1ba96e1b2a6a0d11db50f1a632523194b1a5b82de76783197a0", + "0x003d340f701346533304dae289b8e36438a4d78d46f749dbcf4b081461721b33", + "0x0073d0c55961ebe517b4ed9f2ae2f987211d8c9637f359ae59e5c1b62026de9a", + "0x00b30793ed232625c9e6280816f879145ec6c984bbe0657f303a667cd6cbaf5d", + "0x007644d231b7d9ac5aa8b564c2f5953ce36b8d7f773ac46e1d3068aa8dde8974", + "0x00a050d09cbe1087db7421a4371e2044bbf4fe4ac10ce32b81b2286a91fa9941", + "0x0092ac35beb87f0ea1293b9274d3489d2911b7f4f899b87329bf6001e858bf91", + "0x00556462f5a7c7be56040794e0f42c816152150737061e6396a72b58ba3c6f15", + "0x009a31b0970c1d6c93524c4d0e3ac785c30e704fcf24386b3b551a477b41dfc5", + "0x00b79c801f9d3100593edcef89a249e82587f4eed8fed762e96dd45c9e4b9e7c", + "0x00c80efcb95afc30dc43f3369c2027e8c69da1a08ffddba606636e8d7403bdf3", + "0x00d9743040563b1b896fa73faa0cb209321f9d70bb17bb22c867d6f15e570fe5", + "0x003d855eeffedc36df919f2552df2f7f28e322e324fdb430f24d650a4ba55636", + "0x00bb331c61a4dd1d18b7944cf0316eac99569c6613480387e0a4f61ab3b27619", + "0x005d0cc62c90c99b04dec483e1c413f55692ecb8b688f7cd50608779ea9942d3", + "0x00462a9733f8c1f11ca2b46bce3fe6721263f89e2e4c622f425ac26789930bdb", + "0x00490fe12feebd382069f77dfd21aef3c5dcbdbcab180a92c6911d0684c975eb", + "0x002201f07d5f407b3d5a2661d8bfdc0db9b22eccc99afd25848165ca4161ac16", + "0x00294b1bf8998d1124ae9c80e5649a95fc68d3dab2b25d5e1c06fa60ac7d18f6", + "0x007bf04a8e5ae9d366546a47fb66745d74d516d8a98db096b3a831cf42a5f6e1", + "0x00868b68b7aa5217a45faa2e267b252cdfbba1ddf72d538e118f3ca6379d2292", + "0x001bd48c1ffe76f29d48f903232781af49d1b1d9f68497e2fa9c6d382703c063", + "0x002eb02f04f12562dab473033871c077adc62e3a32949e32a94ce30d780d56df", + "0x00e2fdc57b6ee5d4d13d5259a1af1fdb3a2d193d1375978aa286be3fcdeb0fa2", + "0x00346b88f8cc57edae7ddd57c9bc726d4b57ab11d0759c7ab313f9fe973c2631", + "0x00558719d97d204cd5e0406a9eeda04b4d60899cf40bba85217c62e5679460e6", + "0x007ff92e9072f8ea906361dac50b3f1e0b1087fc20773aae56566bdd90e61360", + "0x00dc78fa48451ac5578bcbce68c276d8e89bcda64e291db1b14ddfa9abf27ddf", + "0x007b78b6959d28a9f76cca2dc7c364fa81f9f5c894a6af655890fdf172e059af", + "0x00c8aa31a21e9680c72c2a94b1f5ce7033a385295f90013facc764cc295794b1", + "0x0030b6b59280e3d06e539afffb37f498a199a4a9c1c6696c27fe21ec56dfd8e4", + "0x0004a3d927cda7f76b04028598ddc19183758f2ff6ad191d22f2e8a1554b804d", + "0x00b3b47d0c763a0113e4c346003b52a8be90f3eabad0cb167a97454e8402563b", + "0x00713cfd9e596c4e7e601f608fb37c946925485583f62c8455017b0b8c091cd2", + "0x00cc1511a3a3b29217def16011e7cb0803c48ac48fc453df77319226f1ea228a", + "0x00999bf591a8ae14542b098f4e4f31f8b734f01f75e4d9dbcb4013ed1c58dfbd", + "0x00d99567037d6a0e166d198fa50bfb2458a47407ed32f5f42b22575e1a93590d", + "0x0099cf79f66dcfecc205d6137cd4b1a20d5e25b664a994692003680fdae83447", + "0x0027ec3971321572f8dbd83056f7c29d3403b6036bf343ddb227dc325ec71170", + "0x007bdaf6b369ba9987ce11eb7192f99fcde995c0e9533479c9d612aac44d562e", + "0x00b5c4b5d2118afee96cf2b3ba01b5c842f02d60eb58d8e0ef613c64406de186", + "0x0032586531babd7d5cba0e9756a468987095ada2eb6e774d256fc2779bb2fd5c", + "0x00c032942a14748c943797972137d2a3159e7936690789aef301a570298f2323", + "0x00bb18d9096c13b375b7a51120a67c9158cbfa8c7bc2ac620ebde1c5a53ac8b6", + "0x0057be8436404bff13eaf719d3e947b020f073ca2a20fd38a328c245d7937576", + "0x000c86ed6a4699b49f29897ebbb4540a088d3d8363ba2a821fc8760d5528f5d0", + "0x00258f54aa27dba5cfa5f20efec02d95da16c928b37116ce5a8d95ca164f5d93", + "0x00fab329be1b06f1d4b8c9026953f6b23d57f426f0b9683a98573def4cafe90b", + "0x0077fe89cace67a357ddea71bc59a97331d2ee782ebb469fada14933ce4458d3", + "0x00bbab31a886f73cece4cee6865ab89e8473bd363358ba3691870365b6c2ceb9", + "0x004553a6e85145ff8c1179b055353fc81811b015190def011e86c842ce176b4a", + "0x00d18ecdb99ca70caa1d68436a839ce876a2e69f3fdd25eb381b2dc9fedfeb4c", + "0x00d7716cf8aae7b791b8aebd7ac745216462e06b392c46a106d44f977d195864", + "0x00488c3ab96e133b4f28713ae2c5d3dec9685477502add7ce166a3a6bf0a9cdc", + "0x00d862f57a4c3a4da8a9c2dea5a532dbc87ef26275e4bcb29635f2475d45b659", + "0x00f49a576d8b6429babb9ea90659d9395dc29a0f757a8e50e03c8c1f41d8b8e0", + "0x00b1d64f39e73bc1b4315a083b05cdf9183021cbdd71a8b03965321a376ba4b2", + "0x00ade6fc194e89206722ad93e5176b4247d4e42be1113a21ef03b7a50cefcc0b", + "0x0015c9e49ae21c5c8c860c44df9920cc3bc8468e11e38797b2e6b2d0e07a75a2", + "0x001f0ab3f199ebeb003ee98401aa5fb063b31a6c8fc60cdec2a6c5b5175cd7da", + "0x00fb066c26cdc21941ce7673d8300f2b35fe16610a8013056c84c1d1eb14a132", + "0x0095714a3857b3dbe91f049d2f4274860c26773e57743fa3540e767c8a011d64", + "0x005e346a82003f4a43bf5ec4bdb24b9835f998563b537f8f1ad075185c39d835", + "0x002daf22be437e7e0fb23822f908c88a8d5f92ed3199ea1bbe60e621b511a9ad", + "0x0064685f603d4184a0b911a7ee30588ce73ab085d64ed5b2560b42de3b437203", + "0x005738f8981276962f2eb7528909f434eb80390781748ffbf50654066750535e", + "0x00105a81244452c5258ce039d5770c34429f04094cd6dae35e92b07ae10293ae", + "0x00c3ab90ae46e13d5483e7f12ed243a04381e43651f330d523e7c807aa6beb1a", + "0x004e5e1366a19115d3eba08f05819a6190e2b0af9c02f17690b28dd0bf3fda2c", + "0x00266082a1079976f35538167d03b046f643f77f7451a4ad5ebb18e31900d0b5", + "0x00e30de9dff80573b9274cd424ee1448f9c5b0b71fdbb85288a18ff45f5f0c4c", + "0x0095a0d9ff9097255e3023a8d7bdb7f4f7a2632c0014386bcd55d863e1fe204e", + "0x008ed7ffae78f20f2dc86b69f229bd3ff03486b23ff7bb53a3a8404f8f955022", + "0x00cf79dcbee8d086ba0ccfe19500899e2b9fe03a803e5b8671869626e4537dd8", + "0x00643aa28829de548e0c3e3f7fa3ab8d521a913e18848ced0bc9b488548f3ce0", + "0x008f23a3be4eb55e06502c5027f6a212410e45350b6ff1287aa30a7b24aaa773", + "0x006f0f294ce4a3e98d439723fb7d2f411063eacad23be3aa4d166dbfe6a7a5ba", + "0x00b73b03632bece76fe3103dafb8f809326a851969227a4dc537cc3fe8cf7122", + "0x009f6bcb01b119e3fcb82c89d934e63be7bfe9fe10b857cfa02ffe30bfcfc76f", + "0x00f6505d2d063d228de2d4d4d6abe43fbda85436a6cd9f7f7ddcb872dce6c589", + "0x0057723f4290727ebc9b7263043f7135d61e91ac96d75b84453f94eb8b5db5e9", + "0x00d8f0ffee2bb5d20a4da326b91ac4a8668c44dd21dee89bae111466915848f8", + "0x00467362fa742a03a8fd6ac63b4db9ca85fd908ff454429cc2a70b15372c22bd", + "0x00f57d11128b45d015f845f0339f897b9de7d46deda79bda2d6018f3ad17a48b", + "0x00d5ce7ce79ec12a4a1d25f5236bd8c42bb806551e1bbfa175ffc40754d86199", + "0x00c34cfa7170d4e2a29514d8957df8b80e635d7fc8063591e3149beabd4b94a1", + "0x001dd35eb986d3b186bcedb428f737309be36242c54753a682ecf1ae056eeaba", + "0x00dabfdf7f06242646760fc1ecc84c1512072f0dace0160001b8bd955aa8b003", + "0x0080ab93782b07b9f6a0588db61bb7d0ebed1648bd61165341b9945d90f426c7", + "0x0059dd91bc34ddee4732e10dfef2e2c5581f572fffb95c7f965f7e9c40a1701d", + "0x00443b84e97f199f0f05600c5e17eebc46c69c80867056372061f401aac9ea95", + "0x00e5720aa7a191766987f1733755d830805a7f90f554949c06291fc9b80f0dd4", + "0x00b968e4ab4ad8348d80e3e5364350c556c4a10fed5c30ba6d43c21867171060", + "0x00e2381180a151482e5fd1b189650a058dd132177065784b6d583bc486331668", + "0x00ef283c6ba2f03c894c48696e32dab434cb3b8565331dbab56f0371fa14f476", + "0x008d20b241951d0174f94cc741c0ba97ac495c255ea9e9417009bfa8fa3cbb79", + "0x00a1172bb798e95caf9f4d097f15a310c4ca770fad655a492aee05aaed6d8303", + "0x00742390f7115fb6ae3375f2139f92a73baf82d176201dfc4f30e1016d8741a8", + "0x003b23308efaa2caf7e0109b45a2b971b9c30aa205eb2b852ee1b2113c09150c", + "0x00937907d1ecc8d65a82b435df3fa73a0883e0b525a95759c75c24e27719c3ab", + "0x00df41f709bfc7383d2c1c27dfeabde2cbfd856c7280f0740d37d5ab3d1b5e0b", + "0x000d00995a6884dc6a170393de7f39ec1764e8f52a1c0f514d46e0372a5097fc", + "0x00a517d633ca5726ed5c54a5de033173b84c31b2f338a0c0474d78fcdbc3a613", + "0x001fbcd26e22abec08dcb65357b1fd10c6622aa23c19c76bda6886585820efd5", + "0x00794915682a26a9d94fe849b3bf279a502e9588b2cc364af7b221c3268b379b", + "0x0060631112819b2a3f7d5054d3c10a522910305fa31936f110a60024292d2729", + "0x0001e44cd0ce0bbc9aa13ea68dd3c35686e947280fff550d8ddefc0bf57d0591", + "0x007b188e0ff582b0e87b39a7bfbe32d04821b07810d2151f626de7cefb8b512e", + "0x00142308cbe17c13fb38affffe05212244b1ee7aac8d71fd3b3f556b4dbd3c85", + "0x007df65f49081160299ebf007f4744a687c78339eb37b7bbe424d8639c920def", + "0x00a71f2705a8f1cc2546f9ddbe9e0cb035af979a1ea1ba84d1830460b021e206", + "0x00562e33649c802b03d55fec9e59a129a4a5ee8283f3cd953553b22a8c7d527d", + "0x00300052ec57fc469959f56e4fdc4dc6be108774f6c863951d3bad218205a226", + "0x0007ed69838a4f2320ce49b8dc705ce5e2893bb1be3d616aa1e2f6c233e11d6e", + "0x00d038a12a2eed1a0ded1491071197f91e79de98fd858209c44a1dc2a4b6cdc4", + "0x00193b086099d6881b4ac3731bf8dccc6c6f625ba4aa22f3634001539f644dbb", + "0x00f6b9f5af808f4b905b9a3500d97baa2787231e953cc53cb47a762ec63b71f0", + "0x00866e5e01e37e6c09ad54ecbaa5d467c6ce7ea5cc6adf4e4cc382d7c253ec6a", + "0x00f680c6bf22ea98c26649a86f8a9c6c5b1449c2ef71a2be6f5121f4ede9b9c1", + "0x00c6c3ba338e314ce2a76725ac11ff670603441d540007b8f9e9a5f641438bc2", + "0x00ca429444fc5ec1859eb70e85a614f7c2d0b0bbe25dd775e90236455875e871", + "0x00d94c71ecd5b35af0ed68f6c1b5f02e14c73b36ebb14f691342db8958577994", + "0x0031284d881c8739d0bba660826494493d411eaa7af6252fa0bf2e03e913a3f1", + "0x00f983077fb8e8e20b4271e0cd2e15a6dd0104d1b4f178108acc8886ff52fa21", + "0x003d30f6d0954285df1f7990b62d85596845d3391aa754e91944ab5490bd43f2", + "0x001db9cb5dd2e2043bfe4deb31595b13373a3fa69afb263f2e29965cea8f2731", + "0x00b06838986312e765ee8acf910c4dd340d63d524eeefd500ae75a4282359d3f", + "0x004bfedc70ac9eb7e7b67cf688aa74256e9ecd31d67dbc4e458f5cd851b7dc5d", + "0x00a750e4437f9d327f820bf1e43e35d8bf667699de65c0635f7dc19c556e564f", + "0x003f3d0069b4dc5f67fd1d679d4fc270122f8ead1de0e543a55de03bdf8f831e", + "0x00fd8db1caa043ca23ea412b34798322574a8407f8f63eaf0f9c399b4168cd4c", + "0x00b0239bd6e95a7a7cd87c83d2401184ab6feef674baa03416d8b0a66862738e", + "0x0074cd405ac7b0683d142a2bc7b6c55d2220247c0e86f670a58db9c29a1b4923", + "0x00e5ff2852d6d4f13ae00d01171c793d21bd5d2cbace1fcc055ce01558001a95", + "0x002e75838f758b096f292a210f8716ecdc03f69c59a9284529e0550f96744395", + "0x0009546b4a9b2a3e62ef89cd5523c5490c8ef6332cce071e34175a0411289b94", + "0x008330447aaa237b11837364269b459804292b3afb6b180be9b01adfe1d880dc", + "0x008554d853c5fe4399883ea56900202d1d4fd3c34156fbb8db992f59712d53a0", + "0x007fcd50e985c70d9dffb4d6aa8f2b586277bc3a882bee8809711aeac7a44361", + "0x00c2bd819f6ebc8d4a41b75f526c444ba19c860f112aed13978a930279a02383", + "0x006a74066d06b9e5124b439684ca38be64aad45ddf43f98b27f58c56a09861f0", + "0x00f83c3832c1366e40cc18c3504ff64d99ca00fd099e56d404d9d1046dc9bdae", + "0x006a2365f9bb663988b22343da9199ab431f4e83ad926eb49a6370b547a4da33", + "0x008a258e0791cc29b28bd35165768f3fdcb465fbd68f69efa3b56a8d9beeddc9", + "0x007060fbef8522e02d7f4ac61cd4885ab1411b6d2645c4bcacb461fb4b7faae6", + "0x008fefb297ef57edfc3e078f3af1ed41c68ba13474e7e9762d271a139f0a371f", + "0x00c31d0fedb29319a96e84eabdbe7b5e412ffbd1b77cbef251e44361a8422246", + "0x0037305452089dfc1d0f2aa61ce0b33b8be693804dc63b38415ea3e8018b8320", + "0x00f8c7d1b46d07529959b63c87e7aaca51713e7bc8d52c237c0f2a36a9ac2a43", + "0x00d3aacb19abea338275cf20070122aa61a99634376cc190d1fda23f09572c7b", + "0x0053b44fe190c102f9b41dabc2f6409ebc092b2ae14ee6a2c6ce22fc3103eb8d", + "0x00f4ec27aa05a96a81a6b1ba90f334386b179fbe5925310b4b594b7eb714e872", + "0x00eb1b465091f6b8cb0870753e54e736dd64ff3095862b45a9153519549272cf", + "0x00b818af9f935456f806e494fd0cdce08e95adcbc5039830e291948b46a98aa2", + "0x00c7469130ad3a807dbec268b2ed545144c7a085ca4af3b94388872647adfd10", + "0x005a901b2a819d41a13197b83135f8e4b71ee85139b72e73e60d6861703eb6fb", + "0x0015247f138311e69ec61a773947757ba25ea8dc2966a96334fa6314e9d8b56c", + "0x00d7925c5e2c2751ee57dd094b573316dbe145dfc260ca47e2f15478cf0a92b8", + "0x0002e4bf0435704a0a09dce89caca05684237d72a1d92f44a0e635f0d1edf579", + "0x005e9f967369eac066da3c70d6625698a554fcef2bdbc3889a9c53b2f990fef4", + "0x00c557b55796669e2925cf25c3d55a2735f24c5a0ce25abc68c7279f4e491686", + "0x008615968c010a0b8076110269d207ec7656645c78826f6c0db0476c377fbfc5", + "0x007383cc59dee2a4e3f0b07407d5dceb2418e518fb32f032ab80a426d9237637", + "0x00042c65b1e8dd40a1d6d00b3cbccf3e3938019c3e8e8c242d876bab76362ae4", + "0x003e69f9a233da7a9ced17b6543d09272a0a9c743506e96dcc98856a28aa9de6", + "0x008dd71adfe6382c4697bd1c48d3789a3025579a8a2367f73926079992a8e791", + "0x00a52c7c2e9283d980fb37e90985475df7296f3e69240c180bb38e52e4939b76", + "0x00167b8a9de2d7c07f4fc21fb0cfa1f967b9f056e63b40e0dd2605cfcde421d8", + "0x00443f74e5e6fcd1b10760bb3a5a577102cbfe33a40dbedb863640567904fb74", + "0x005ad3630ee5f9d41b29efc0848824291bbff2bdfad895cdcb7b12d3a78e4667", + "0x00cf333800097c8ec23ab0c69f915bf4bfb9488e503b9a288033f6a48e5c62a4", + "0x000ed51f87c9a56af472ceee7f295c78acba29b046aaefe1ef024654f06513e2", + "0x00ac4f6db9980e2ca5a6bb0096b017405a5ad01ff51a65f750e57888f6a40ad0", + "0x003025e494c1d3efae152e11fce47e929c6b8583c6d35bd6f860afaa46437f73", + "0x004427eae7b7ad50fd81555c98f30a9f8927f396f40853e0bf3e95ebc5a8db83", + "0x001e631e60b75f5fd624333ca0806da3d6d45ab093b1b8253b117f260ecc2d5f", + "0x000da2b3a0b6444644a433f7b6c3665ce901e842e899da009aad29553f1bfc12", + "0x00b1397e2203247ec0aa1b9f43b73f43e8f49ce8e354af54ff5dde3df5e51e6f", + "0x005d3a15c4c758101ee4d68c77ba0af001c0372fae2affd7d2c2f5cffb510f11", + "0x00ceedf9aac775a6e84d731333b8f5a3cbc58700c6c2543789183931a64be27b", + "0x00994fa90e9e18643ca25f31e310521362e6226e6325cc6151341a41ab150708", + "0x00a96946881fe9a5784474f88dff8603b6a2ed33956773863c6dbc1cfd6a5aa1", + "0x007523c2ef7f6c8735bb729bfb90291d3ad923c41d9c340d75d8f08e6c33f500", + "0x00087655ea93a5126109ab7fb557ca21214e5cee7633b3229202dab608d76436", + "0x0096d1224fbaf6d461feb12dce458cffc05bda5dfb68a6498d67c9a0972053ff", + "0x004d2d2ec10ac14268affeb121083afcbf103eaed7b30bf9f3a9d49c5b36350b", + "0x0054e29c96179a295ac8905af4591f4d5f21ec687aaec76d4dd117b0cc53c318", + "0x00cfe3622487c45d5d47aa724dca7fea5f0ef8b00879d4eaf9d5c8f1f7157c58", + "0x00b8e59c57c763b3b9716eb87bdc2d08f059b0841b5c1c59dff4e31fa6fc75b3", + "0x003b603e449fecfca351b40abf48be5526824f81fcacdea677139d058601e8a1", + "0x0029012c7a4d828d86075f5fb6549dcba2d9e4de4677e89278878c39b4bf92b0", + "0x0006161fb07523e3234c2f60ea402e8f3287bc4fc6740f4b0656222a56c5d5cb", + "0x001427ed7800ccfaae3cecc09708ef7947f35d9eecde32b364975eca8c088012", + "0x003cd8a2693a8431a041a59c7de8cc4bb688855b684896981d41c5d921dd364a", + "0x009021eb3f7a66000246ece170c75273d9ab905e026cf02024dddad4cc61f54a", + "0x00a77401e16b28e687818fda6c991cf9d1fb3f090433975ccf08e76812771720", + "0x008c1c25b01df0dd9740eea32f55e92f26154cb17070cae87a4b1ea760e11e6d", + "0x003a82f7ae6b8cc9990bb5efcd7037eb81227f55bd2b2ab9da3c322dd67d7cb0", + "0x00b11705ac6bee66a2545db80ed7f7057b5937335a29ffc547741d5fd412b326", + "0x003d9ce928033ba7d226d2b628f25719ba542013acd53814887b490f4a180cba", + "0x0024c99f45a6d14404a59048fccdabde6e3ab565450eb9899cf9e5f1c8cd849f", + "0x004c827e1232bac81b840913aa79905474448c8295fab9c4805871a8db731d1f", + "0x009f3bc3b5cc1dd63773e2ad1800152783a2602933caa679119760e3c1ae9118", + "0x00e51600c92a4eb77385b25100fbf2730490900bf5c73a25e6ef778c132ecc1d", + "0x0041c57e0bfa00ce329b2418d167c8d858d74611996c3e2bdb49d041e039065f", + "0x00cf16dbba23ca07157819273519263321cdfb48e2310c29658b115bb0cf1c03", + "0x0097ebcd1af54d99b4524fa288162a966410f500a85387ecdefd4033b556773b", + "0x00d5d547d8389741aa534bde2737b1d51879dd0a1bfc53b064068b99a8989585", + "0x00c8f7239e34ce9ca82087ddd79d6252a7a19f4ac074abd2cea5e431ff823085", + "0x00d3ed29e8e8c6db192c72a649bb65d6253faaa69969a6ec79b95b8a7b221896", + "0x00c35f1308a3c3e9536300c83b884d2f8216ef58b8b21b8b04b701b6c0cd4447", + "0x00bc830cd79ab04d7d50615e8eda3d563486c96ca9f4707940d07dd140a408d6", + "0x00c53281fed38fdc84c5d842e92c0f3a4fe6e05771cc117177607d7bffb8fd98", + "0x00c8a2b339fdb7a1b08d322d5e4a1d1ad8fd7acc39ad5b9df402474d9680dc97", + "0x003ce1688dbdacb2f93a0e9c7e812315ad99b4c53980d57353d418806f4cf14e", + "0x003435dd91d11c9c042ce9e8dd41a7a441fa6552a347c292c9a100eb7ed83985", + "0x00faf43ac8a31358d5f648aef904445d2c6267560923b0de6b9f49481b494d11", + "0x005b06f14f6bc33b9513510e4560519b3b54c6f3b8bd9cbd72b95a651bddfac7", + "0x00dd6769011d6513b502a02cc67fc9758d784547ff25c5859c152f3595cb189a", + "0x0019a533814eff8f0d9f42b44be70dbc6b0966bcd514da615ecffad6b83223c2", + "0x001440f624766efafcfcec13105ba32ef96e2eb3bbfa343ce7bcef8a73475049", + "0x006d3271557c4684430032623bf72a57ba663d83e3462d489aa8f56aee05c5c2", + "0x004cec823af0f42a25b26ef9adf22714c83849cb38ff75e5e1b7dcef2b4d9d44", + "0x00372c6ed4248a06db9d58046b72b07a8279170c5231d17a18ee75c503552111", + "0x00f45456461cee1e37855147ae30823388b7723b147528614510e4d9cc58d5da", + "0x00c8c0a707a74b396d4df253f4838386990636026356a99413c0260df7db8052", + "0x00f20ebc42325a78e74719bc0051f7fd9c4af34eddaf02672756726f42d6272a", + "0x0029fcfb9bfd11993863f67b37d5fff9d265195eb1060d9901a50983584fdd89", + "0x00ce46650067c026e42aba4d37045c2d978e85c9241be68ab1491d4c6724964a", + "0x00304d516caaf5e57ee7333bb733a972dbcb9beeaec156ea7e4db160e54f5bf1", + "0x0089ffaf051212c856505e0bc081e9377ae84d74150dea6681535ed9a8121250", + "0x0060e3ebfbf24189f319f856c9cc3585810cc9f0b84faf843c555d1671949d26", + "0x00e58b5e812cc112e05773106d1f1ed3203e6fb84472aed4de38367266450c08", + "0x00f430901b5e3ed316800405a04b937452230b95f5ed9e7920b12cb714995b8d", + "0x00640030d112a9733fe6b1152ab08533254d581d76267bcd26fcc6a1fc045f94", + "0x00372e9d04e1698868aa8bd3c167f5436a6367ab79feec140a56cd4b1ba62ea6", + "0x00d5e370b8c6730c454e68722cb9a37be1056fd359668d118f372f5ee4ac6829", + "0x00b52762e5346f9dea64392b833ad2967489f8390f3c19c2f290133c1cb19f49", + "0x00067102b9895dcdc07fe1f7fa49d8ee9e60d99eec7c799eb43ee217820786f6", + "0x00fa7596f56da982fc484656b1c13a1722464c736cf8ad0ea613d10910fd70a2", + "0x001f42e65fa2d985d678a4a5ea1f6cf4aeca8da9f9e7e1193c0ef7d768aa106c", + "0x001559ffd60971f0517773119be557414ba35fc4600bb4e04870ba6c09e0ba30", + "0x001ed53666e366ca3326058e57411c2c2f66446279e2038fd5860a41fa06c8d5", + "0x00e61211ca273ecdde70bf2d46a530cb3d5ef3a2b6d137d0565b552149a8c053", + "0x00a80cb61439612d3a50a64811a4f42a8af99d8fb26461680c2d06729ee1cf76", + "0x00fbf64622c55642e875e9ea3108fb198cc24832bf03b01a802bf1dcc2aa12d7", + "0x00eb7db4ce4ae3958e3d03dfe4a99d11cbf2c6d224b30ec876d87a5d2b10f11a", + "0x00cdce3fe1e8018f2a7cbc481b84e28c2f4c022799fe54aae56fc05720fbbe85", + "0x00655cd4c2e7e3561dd5fd670314c879cd61d1114425b61e310c8e337b18ce3e", + "0x002b57050aaeb58d5f539ea1739b71c191bca2df6642cdfee9888057fb4969a9", + "0x00b7fb604e759a9b6aad1210019573e8dc1fe913ccf46cdcf15e404ae273954f", + "0x00d239cc56362b69f935eeb4dd5b9aef11579303e05b7f8572a9606ccf7ab0e2", + "0x00834bd8c4a9909fc5b5dae5b81c2d900eacb4bd74a3fb5ef80969ad03f47bf4", + "0x00d0abb3ff815e8be8394744fd580a5e794bf50fbb59973b5bf5667d05081aa4", + "0x00fbb6ad9031289ae63e790a332325372a84fdd95757cadb25584427ff965f23", + "0x001c95b6c4a6fe9c71cc76bc4fc1b03346f80afd7e9038c7919b920c89561092", + "0x00a110c81f156060c7c83f97b82cfb1d0f1e24831669b8f14727164fe224ecd4", + "0x008eb2cec91735a8c912e3f62e907c5785c3048b7f7f24e3d650c726e1258611", + "0x00b8e228e8608e97de9cf062cc26f8d7fae29cb5b2e580d38024f3d78334801f", + "0x002f7b59fb5c3fc560418997c96d64775cf6f12084106ee45828045148221cb9", + "0x000d7fe04cf2b7463b1491350d666f265fc3a3991dccb98db17ef0069f1ddfc2", + "0x00e9cc7662f54126b2738caf510701c6162d67b3ecac048d95e7238adf2858ca", + "0x000f6ba65b9405223b328a41c3e3cc312bacb9d7f65233d8cc6b29003e9ab57a", + "0x00bc868ca5047fd8c463387c9dbea24a56c16e535b8c961dbd325d1308d45173", + "0x008b6f9640a6a6436a67fee6e9106206d9546a512acd031155805576667ed093", + "0x00ac26747a9ec2629facfc760f06c04d62739aedae228d96a9d471781c412e91", + "0x0091525bc02f5f98e068c4fc556727982907c15316d807d5d06aa7951eb6f8f5", + "0x0065b47f6893c1173c767ae7f9fdb6b115d696d67f458db203faf796c68432e2", + "0x00cb2b3983ce23f70c915249729edc6b77ac36d929987afe33339fb08a621dad", + "0x002347bd513f7fe2a279baa0d6a1165192c05434ebfe58be91168cb968f6f02b", + "0x00c20bb7dffaf03931c818bca0a1d752c3cecfb281f85cb4f902bb1708ff6e17", + "0x00e9204943f3c0c404301f55fcf39af7b4786ea03472919d1f87df39544db3fb", + "0x0000b6d1c634b4583696167dbd75d3beadd072cf1fb655d403cfd10c1253baa7", + "0x009c1207cf649c0e907625ed0a07ff783f61c9b9b40c8976983104f4dd690c71", + "0x00291334f05c7055a92eaf148b78b8772dcb4dbd0202cedcabbd486654e5cd79", + "0x0056cbf2e343645c3485dbbf894c991a5a09030eaa4c898dd3e8224794835834", + "0x00463507f3581316b7813fe773e68042738e1caf498019e827d64ac500d1960f", + "0x0091975e35ecb4efc52d1149b07e8b3fc4c34e5eb7ef18d75f50110d561dcf29", + "0x00ebc497743a04302732aae5b9681d3195fb9a83a212311ad0c2217cd389806a", + "0x00efe1e5ffd5df0c8023f1b14dec8ada8af0a4f83aab10946b924708f0aced9e", + "0x008864664262164e1cc333a9df453e951e0c8b643dd5ee3cc14884da43371927", + "0x002141c99dd0c6b07cda2c063720df7ebff1e4feace6395cdfba7364bc07ab91", + "0x00cadd328e4ff6939ddf37b02189d7965dc5ba2379adf5351b070dd5735e51a8", + "0x009fe5191f3c190600145f796aaff4b57f305b4e803cb4f226a46431e90a16d6", + "0x002a1bfc2240dd886145d93943acdd06e7caa65faca316f67df36be141140e7f", + "0x0000a8c3c90dd5a723b1e8004b90ec4c03189679b7fd24e7da1ec436744d95bc", + "0x0044393919fc7e624e0dec063c9ae43a1a3e1162ec475aa4811707c16d4bc259", + "0x00f54d2a61609cad53fedfcd927bcb73e77e280bdc7907d8923c9018a31de6b1", + "0x00a757ebbb46b4bb969e920a8f316720e513f4edaf807dd069a82ccb45160871", + "0x0016e952c8d5f4b81e4a6fb14258607cdc8b89ecbbb347f364b1354d1aca4875", + "0x00c8917a4360f1f36806c46f1c255ce97b5c8248e158a6f8ca4f20d471ed649c", + "0x004c29fdf5dc82205c4e8bef9ca931aaefd2f37c85168fe033074428439070b4", + "0x0005ef155ceba75da577031161523ea99eb9459439f189b79ce542631ef18b18", + "0x0024d86302086673a8d6fe242b4f75d751f2de04beb90cf9416e19918b59f434", + "0x00357a655d969fc33f263b97157ecae96828e35b67f9acf5cc070e982408bb43", + "0x00fc0e422fa16588652c71251b0ea3db809e07b73d2ba2703d2fd9d8661e193b", + "0x002d15ebba724a79bdd2f06f0c44c8565e83d1ebb54c2b1a1591296444fc631a", + "0x00b85541fbf7a120a0c1e0e22b78dda9855c5f94b1824121fc932a489339473f", + "0x00bc2324bcbbee379602e502fd7d45d8e053c37e2a2425773309107c334da5af", + "0x008b9eef0fd97b8ce20f2677301756a5eeca5980ad5920f6bda6df2815cf577d", + "0x00201f7f67886fc2fec37e2e5a67c1136da65d35dce8e47391819df6cdf01fbd", + "0x001d6d5734fc3709a3b9927fa28110b7f59eb179a1a05ec09ed9f48b1c7b6d75", + "0x00d44d330382f744012a369e549db008a841809e376e083618c9633115ff2632", + "0x0058e4ec139219fe7520aa5eaf72aa29624ec76bbdd2f07b536056e8e477ff83", + "0x00d77ca010b80d372c0d5a3abb476c3e8971ed50a4f62ee869c280a28ae9c238", + "0x00e0a03ab52e37a55adfd9f217bb43a6888e1fff5d2c6b516286193bbe56a9b0", + "0x009daa109d1ce7fbb24ee83e024a0b7c2f86a877354383379dfb93405cf24b8c", + "0x00fd473c8e0e8385f1fc93084c1fd725ee63ee2d435445f4c13a2eb7ece497e9", + "0x00dc24ae34f92848d2835a9bb1fac178bd37979c725ea31f5ed57a5b46f96a3c", + "0x0018e614f06801337df497b91f20643b6c7097c7aa2a7ce2226fadf07079757a", + "0x0012af94d997e09956bf8c8ee8ca5bff6139593c3c9c966c0ac214bede9fb144", + "0x00094def406335f4022a92be68ee03ffc750bdb7d9429a55f70c686ff031e053", + "0x00e5000c6b083b8bac149bb0990c4daf08b5a935a40c8484010b94a097fd2488", + "0x00840b821e2d52f41da3299977c7c9d1e85b933baa63b3f7a33d59fd7ec8c581", + "0x006ddf1dd8bc93c78ef442414dd57219a30494de77e7681cdfbddf0451046a1c", + "0x0069792786cb01d3383143141248829d33a8c176395702f96a4845f0f27fc540", + "0x00aa15eaa42396f412951628a429cfb7918a587c234993a8c04760a1b2b23b5e", + "0x006d566de4c8bb17b806d37954ac39104b2c6114c0a70e2bd2b661c6ac6a7367", + "0x0007a4901396283e452d558181ce56def64d1d2b030ef8dd3cc093c747bc2c4a", + "0x00cd5b89fb72dc870ee9f27f63b37ac46f9a151f991ee6a6e1d7a0b57aa2eda9", + "0x0010950bd0da8cee3957ccc4d7d275301d1a294e1deae74ef419e2810b161f70", + "0x005b0a39268256c7a9f5845216aeef688fe2479fc78d166956cad1c31b82172d", + "0x0036d45e03a8cfc6b0ce8bad5f8ff778fb8f836dc6d741a6f50ed571894dee13", + "0x0037603a0cef977a3e47ef3cf7d767fd1d4b31889d5cf706292792aa1a52dbd2", + "0x00b8ad0dbc3da24f6a10f60bc01e58520df0e0ef3eff15d12f03e597734a40a0", + "0x007f51cb29f97b179ba6c796fadfc9f76a34f8b1a3a76de8130645b2152daa78", + "0x003e1b4eb051aef2ce33dd1d0acdefd99fbd2b41ede83c86f93373bd6ef2fcfb", + "0x00e5c3c291c700d0e50e9679381e0c4cf98d4dbdb9683d20947509281d212efa", + "0x00db1c308d2e8060a17e86ddd772906b6f87f59a0adedda10055c83e6b899ed0", + "0x00baea224519324c9184da59e361c08f7918e41c275e6af0a3ea932b7c1cbe99", + "0x00d76fea2d91c69555e3b5617df53a73903251618d40ace31528c92a61cb1255", + "0x004aa0c8816ad1830f42db907b850af3ba94bf706c8955935001c17d4ff3388d", + "0x00d960e5f98c85028e6c2fb85bdd426624b3d28c3735af2754f5d5a52cd5f8c3", + "0x002062a3e5d61950c65eb07624c5b87093c78ba23faed1fcc3eaeb528f243884", + "0x003ff0251d2640df9bdf18c9a8d73e12626cf6904b3953326bfb38c812694347", + "0x004305bdb2a898347b4cf415a35b5c7d1cee7958c8b5cc701adf521bf215e9ba", + "0x00b1c68a5d373c6f04de840483ef22f9d5abfbce7076f4744aafaaf0169cac58", + "0x008c79503cba956bcf3f05ad268bcddba0bd9e998b272242a744a6b8dbe6c664", + "0x006ee06b8df1961c69f022faf53457d47758e02a8850aedad03a9ae0a0b3e6f9", + "0x00c2140567ec52ac2b9041f3b61582f512972b8c376b0fa518efc69102a4a736", + "0x00c27707238bdb9f95e5293fa24d1e5ca4d7f8883b98480a05ef2014a0d31647", + "0x0010b77fc147f7ee574fac6c01ac02fbe076b5dc4ecac99cc4fd3568525ccb52", + "0x00c1eb2c62f1d1e17d0c1113c5fcf7ce332ab0f4257c670a38622a83632ad1d5", + "0x008c98648d5b1592772c9b03f4c30bfed4d276dd6909846b011860a4d7c12452", + "0x006f8ec64e35d5448bccfb03743f16c71df5353b3c91f5606daf145683d4f7f3", + "0x00421ca2ece2675ddf65f147bf3bf7844e35b4cae5ceaf9b9c4c0195502331e0", + "0x00fb191b3ce04810375b5a13d2b9135b65219a13e2be2874fa20d227d8306f6b", + "0x00ab29802898923f97fbfa37f0c41bb51d6059260b0311e647f99f87c323fc92", + "0x00e185b9193bbaa1e00cb8c14c6d2826b17e9a7cd1924fd437040aa294b0f246", + "0x005c6b09cb0ed9abb04a2b69dfacc55c6dcb70ddf2b0225319eedb97b7e85264", + "0x00188205e7c995255f73c535a2d4714b8930192eecce368fbdca2b6cfacbc670", + "0x00ede90e48f63597548988336b9fe8ed97d27590ddb846db07cced7a3764dfa7", + "0x00f51629505fd22e65ad9faec4778e09e25151e8e1bc7c05ca94dc3ae59db028", + "0x005addac251fdc37015fdd966a08eb2342594ba14959caad4b6b2d281b26f259", + "0x008d802f0f8be223b6727f904d8e3bb15112415152638f4c19e4a58ec780a67d", + "0x00ff0f07a72ca4452ade82c61b549936c7114b24874d3ddfe1660156e8db066d", + "0x0056374752298fb868de7eef0ec8b25c503e3e808bfd821aa1b56c1129b36b2d", + "0x00bdf3f73be40591d4fa190c43da7d0153d7e4ad396c03eb92c667196fbb5bfe", + "0x00e9195fd22d207c051a2a0aba2cf98409d73c7d10dc4057f2987f0614a195fe", + "0x009fe81382b481c52d68bb49530ab1dced37d644fb0bb9f349d5f14188686b60", + "0x00a8df96937da63283f9410d79bbbbdaecd8a92f8fd5bdd2694f1c0b1b6262b2", + "0x00af75314f0606ec85d0ae9a4dd7a5e6dd69dd62c4a86098efab6b719b5e6e73", + "0x0021fd05edbafa17e14b42e613d38ce8f901a3d20db14dc7751a6b6ffd569e12", + "0x00fb5fea52783286bbf41c5242b8f914bcf6a5441c962e6222a417851379de11", + "0x002ab134b0b97a2a28dd8e83f28405ae16f20d5dd09d094dfb08ea0767a336b7", + "0x00f750004c68c478e70d62efd058eba44cfa14683bb4cef594dd4e955c2a31d1", + "0x00bb96cf7ed3a1aef2ac7a0d521c129b3c56f65d08bdc59fe8a6e4db0ed814db", + "0x00ac3878cbb5760a6e633125ee30d1e4024eb1d33d138c641fbc64149bd15594", + "0x00f66e6e272a0273ea92e31908d9666f73f298954839a5616c0c20af39941dc8", + "0x00184ed96f271a4b75c811f87f56fc31d99353e26266092a52aad77db23dfdfd", + "0x0055a5729097536c57674df10f6ce6f9e351e63db2d9ac58b8b29d819bfb66e8", + "0x008cbdbe895a31d12948402d67005f9026160dd42b034206028798eb070b3c9f", + "0x006746cde2fa6f8143b716a0c95bb446646f1cda9f1e32680fb77c6a34f6a638", + "0x008734667959f352187a39ff6beccb3cebb5e913e91da935003792a205ef23dc", + "0x00c0ed6c8fec9547aeb80f63d2c294bfcf3c336c837d926d0dc0462924ca4674", + "0x00b53b7a6542729a2d5effc5b3c9df77d3a31741ebd1e70d1f19d5f9f6590be8", + "0x005c0e80875f68cdeeaa1dbee7822b3273dd08c797849b8a7446363363c992d1", + "0x006a70b49f9a8d1b1ed94fb422649de7379ba94a275c68df95b8dc4304704246", + "0x0089e039c63f38f1dabeefbd0ed86ed5b2c17322cddf16716b1c1ea1e4ef5c52", + "0x0040adc7cf5495d2d6edb5a422ab920a83c64e0374eba4ec64d9f77364a98c33", + "0x008ff2dee36c108d7b6c9feb6214c6bb4fb34f62f16ac7a86b99f569d64d40a8", + "0x00ce054f696f09f517bd828aeb81e87eb916e0a0cb539518806c91f69545d0c6", + "0x00a20a4c4bdb3d0080f18a90c6dfa5ef7c152c34af92d6c4d92d754e45fb5c96", + "0x000d07dd5eb4f7c4f809888b722161f30708afbcd52530bdc77ecb7baa75a8b4", + "0x0077fa6061cd79fd8634c1a2e7d698c404ea9253fd4ee28ba766c2118b275f6c", + "0x00b9b1f9595e62977ebed7dafc3b388fecc19c02d89c6425543df201dea54521", + "0x00649abe31e6f3aaf1706eae59310d9ad97677b0b8bdfe39eefbef0fd2f88ff9", + "0x00fec07d236b5ed92d62711b024040312ec1985504583e3ac3fff68d98a37852", + "0x0089437ca12227b83148ca33ba8ec1a379f4ff3e6a3719187cc665d25da365ba", + "0x006466e9ec432867ffdc3320d25f224b7b72ca1d703acea10f581e68843383fc", + "0x00d8500f4d749fc62edccbe7e65317a0325a0664d5eced6893922312ceb29236", + "0x005440b286cd762d3deeb0ca5f027658a99ad93dc1f3f20dc68df2cf6e9b5faa", + "0x007f30632d4d626d70b60574d96949ead72063998c005c4beb759d8145970ef9", + "0x00909a3fc510db029cda97511602c513ad86aba5a59621c7749d163bfa003fdc", + "0x008cd24f0a7cf4e423a524d18a143870f49c668bc913e5d053e092a892585152", + "0x00c4e3a7028e9877934d333d4f8ef6f8ed49fb619292f6d545eb1d3be6321cd3", + "0x00455bea0a889df93d834833c3f34f4586a95ac432248aca0aa9dca5885b69c5", + "0x008dd6c93d8edb2e2a205b15d4aa39dc02d7924df8e6d1e6aa164326ad932207", + "0x00a991623c3bc3863995687399bf95f0087841ff99abdcab713b7fbacecb4a2c", + "0x00d545c7703da835ce26b13dd30b9dc56a474cd77f5c1404287c904c1f658465", + "0x0072d4507c69fad98f167d6673b5a6948a4a3515f9d6f1a6fba29a5a95f1d136", + "0x00f0afada1a46bb9da240c7c898b95b6bbab9fcd959f9b7ee890dd6c4f4deb4a", + "0x00f2f0f614c5998260208cab1f86827b89ab955e864b89d1a9d97ce6b233383e", + "0x003a1150fb617f1736826722946d54fe2cd9f10d0674b8b4890ba94fdf6f1e23", + "0x003a59bf266aaf3c610e861e1dcbd471c30936210e4270af5838134daa3f03d7", + "0x002e88ad76cb03602c0a25a815afa27fb6f582396732b3b8c60f6f8e8c4b4ff5", + "0x00536b1c62274e9af2ca05b753cccd14489ecf7226a745e5e3e9f34e3e370fe3", + "0x001996a8889507901c8018086d987ea8b67002e2fa2fa92ed9a628532372d42b", + "0x009dc53cf645c360cda1dad98345f830f144159640d871014c1b1cb9f0adb9c2", + "0x00f0ca99abdc0e783e8604b8100ac2d8118bb56c9be1b9f07ab26dc5c91d280e", + "0x002a2c369810928b5af07ea0827c90a96a55d717a40fd8119f00db6b1e78e729", + "0x00ad6864a363d0f6e5ae3887e45dcd9316f19e083580f5e13e9d8ce81119f4e2", + "0x0021b6fd88fe82e81db8b703e1a81ca3bde2509faf7d0ba635d2146f18cec297", + "0x00422421b6b5cdfcb93fddabba13fa19491029683c39b41f30eeb5a78a64c4e5", + "0x00a2b7678a71ac153d81d944f2bf5a2e9e84cc0c83a14b843f149bd72e7986de", + "0x0038ee8c7a7dc63c3346e09e1518df4771c900c9820a4b746782b3c863d597b0", + "0x008ca1a3c2f4f4e736f1ed4d87e4f567a9c802a5424caccb83a134fedefe82ed", + "0x00dfdfc05481a892fa9717697035e7c36aa73ca7e0b16d610dab603cba7afe6d", + "0x0059a7b2902345b4c0b8cef85697cf0fbacef99fba1912b6b011b78b27ec9a7c", + "0x008559773f573d2dae717b344a61603eeee5587254979658f319fa6227c229a1", + "0x008e155eac4dfff3102f2deb1345e6dbefb3fb211972fcbed534deb111163339", + "0x0024a9535fbf4ba57dfa098e93ff9838da0ca1ec428bf40b61a77eaa80a9af5b", + "0x003f20a0e912ee9dbde0e97b426dd0e03fda38546df9f7fc002b203ff5b655bb", + "0x00c528a84eb0f3281c89edbcc8919c6ff4ada91514c454a3211e32504761ce9f", + "0x00cc11de3b8e5a288b7e4272a897d35e6d36c391d9a88aeca824e5a044df92d9", + "0x007605b8dc3b8ba7d4d04c8b65140f48e0cc9327def9b098086f892d0734815f", + "0x00a74fb96c02cfe23fce0b4b98ebc4b9e31d0aaa169cf3d29c93602007d2ee9d", + "0x0035546e0e09775bee66d8f19a420fa9ec581caa68ad277f444579ff848b4a04", + "0x00f904ef3967aec255f2562e94d1cbfdb4eb5b2625034ca4e94d2df811e7d338", + "0x000e7dda9ec3b8380028ebe014d0b99d5528240d722c036330830b9c15c71535", + "0x00a71934896ff3bbe9a6fa7024c0038d22b4c4599aba99cacf52246c77bde0cd", + "0x00661fcf3c597c0738dcba554640b550b0d32a0909a2ad8135f45cd017625cec", + "0x0083993aaf8951a77de115d5b7d3edf4abdffca39df4515530384a7c7461d141", + "0x00f07f0c72d6abfa7283aaa8ddbed50b25c771d279a6d93cfab0c5d24b13629a", + "0x001afa0563145f6849031e3f590c628aad1bd0ff9a81598fa7fdf6a5d49eb390", + "0x0007009227beb93641af18cd6bd14b1d1aae11d135d2b7920334e9afaa2965d0", + "0x00db2833bafd7265d994c2c770ca096c76ed8aa135d4b098c0fbefa40dcb66df", + "0x0082f7c776a02fb25d6886d50a22bfdaee36c52dab674b5c2911863557d97f27", + "0x00a3d666beca8180be5dc774bdca7ac8f286935719d83ee68e786ffa17785d4f", + "0x0003e99913e5e8a85c0b8232873ec5b877db25dd8fc5f59c04de435a193ff7d1", + "0x006c9babe4e252bd3d9d092f878bf5e43802d8c22f256a3e8f0e50c7b78f1b2b", + "0x0043906d8dbb1dd6b73ea755924360be8595bd99ac80522330f9be8f6a131f02", + "0x000c952ee4f8db29140021a75549944b6c9bd7d30f4c9c8061ca6d61a3b93ca7", + "0x00f2d39d2906a24b8ebc6cf65844968c3b8bca61bf36b9a0654b1eb466e098cd", + "0x0007cd435d87b57ba3a2885d5ea176388e3b41e874af685784a8e67bd71db795", + "0x004826a3f354770fd5761e7e22d9213d4c30f3bcadd3c5e665020a31bb572faf", + "0x0028de709b0940bd0619a343b312d6ae5900ca8a1b643073743be90451c8f93b", + "0x003d8f439c4596b0086e6ce7a077b1ab20d38754b880f7c14a9893405f96aaa9", + "0x003e53a2b6caa41d04640d55ad3b5009262d2c1f60c1bb4e5e7161224db2c84e", + "0x00aee0f180fa9c8396377d25fbe4a6564019c90c29fe62a8f92928f421c6320d", + "0x00744c92cfaca9de76b1db96ddf9fe10483ad7c941d709fc0e072388e6e092c4", + "0x00cbe9a1b8be150069bb6347ae7dc5b92d6a63d8b2e71e48e6ea84c8315aa3e3", + "0x00a5afb92b839238c63bb3111699702b4dc6f297e608e4c0b0f3837e76c97042", + "0x002464f205628a84ae10847d85485709f2cb641c74ee1fd60c9798f403084a61", + "0x00615c2a9dac4dff6d4629012900d7845a5fb0b20d84e43d1e43af8a2fd5bb4c", + "0x00460252300b17e1dc383ebe450007f925adf23d743392e57dbcc066abfa71fb", + "0x00bbd0d7ce4c1c2622e4b88e05d5f44ab2871e0830e4d200c6547bda96edba66", + "0x00e597612e77e1b03511d4b8942c0298a7c04563bc0152db7354ebd136e2b3ee", + "0x0016557c201242a9f3641390bd6c5ac879b75c21c85f9421bd288f1ec74c0b1f", + "0x00dee67ea58cdbe97d5f0a6098b65afb8b1a77f5fc0a33cb4cdc83b8c5e5a869", + "0x002f7dbca6717d449613cefe5ff4336cecff670f8f9a1840bfa8cec974b518b7", + "0x006bfc50f94b4740ccea0b1374d994b9a1da59b3ff567c0c1b4f284bda4303fb", + "0x00631eb45a1d0260ffeca492931a3fac60a61548e866b7766a199b35bdf69eaa", + "0x00635fadeafa0d3109a35ecfd5ffa64ff17dffcafc66d44ac1793a4f2fb1f09f", + "0x0081a875451ce57e8ec40740b24194020e4565887a00b3e63c499ec8df41e33d", + "0x005892d5a29a186f6806bdd7d19dd561bde46ea3426cdfe623eded04bbe47c06", + "0x001bc11540e8236eba12a9bcbe42bb866cdea59917fc70f4d26334cb17d48ad6", + "0x00ae508c4cdba09a33dcc076f5c41a9fbcf14aac947c284676128cc98c36663c", + "0x000ef01284c788f303e77b6dfba3277646ef024c695b769871ec3fb1f7e80aa8", + "0x00aa15a85964b2761f76c628c94a85a4132d0de2f56e4228af249a59d79802f5", + "0x0034dec5604e45c017032af945a141dde919a629d88253559d8743c0df3b47e4", + "0x00e2bf24139d7752ae3eddcfdd5d3966c3f123355ce3c718d329c5cd09c46e74", + "0x002ca482fc0dd55d3e15d7eee019a7ac63afef0681a3d77bfc5f91a2a9efc9ad", + "0x00d1050c18b0bb9e62ea01b3848eda382aa3a9ae0c728139669a5b6ed281fc45", + "0x00a7def6012800e7337f32a2288db7954541ae5b39308d138aec3f98e950dbf5", + "0x007d85517ed1b314242237dfd94c445e9c9184e005f8eaf2c9b50fddb18f4916", + "0x0054c896747451e3e737c736c11913356f8220d68bfb418d9ff09f3e9e45c889", + "0x0016c0b72585664f1b4ebc5da937df987ead7f2505e502c547d2fbb1d5c00a7a", + "0x00c6713eda85b2457f2506d223085186d8ba7578869235332d1473f4069e4322", + "0x00141acc879ed5fbcb594ce1d2915aeab077b14aacac69b3f7e0cb51c4886532", + "0x00607210591876f70cca333dde488f01144bdf791f6e916304cd1d5af82a99ef", + "0x00f1b6183fe628a6693f38d878f7c9714c92578602d644039d60748271bce30d", + "0x001e0df4443607e7019764598749ba87f2ba5399bb707b3a72c624af44e39260", + "0x00cc7e0670ed61ef504c3b012d36364df70fcae96b80505e313e4371035eb412", + "0x00d7776caf2c112bcea4dad0e2f086fe9b367318af20552ad89f1629d493d786", + "0x008c45e467c46492e30d6a530909c6aba230410fb1e10eb9004bae44fea78fc3", + "0x00b28303342ee9f3094a81d530d935db1283a751d9b5840a8f706ef400322508", + "0x00b103049290bd9b03cf9cf93b39323537029065700c496444b29dfd934feb00", + "0x00bf855f5cd30eaede975db777ef130e0f1d7776a61215c6d4dac3369fd27d9c", + "0x00acbb365576f11edac23edef27ed9cea3a7182e1a41804e498612da2875d339", + "0x00f8e7abedfb7f75b64ba4a5dc82acb01f275077b1e1e292cf0893de63fcb018", + "0x00f55a0c03c22f55d775241b7f9bf56ab2de8175dbf08cd6afb9a2402438cc63", + "0x00c1af397db0bb155ec19d19d24c1e519ab2d7e8f4204393f1839493da58a87d", + "0x009536fe888673415fab5a0ccd587aef5d9656018ab01c5cf6b99e750ad3eeda", + "0x00fe47f6efa1a4c52490e78f3846eabc6001d94392f070584e97f67fc30649fc", + "0x00a6928cf41afcd03c5db75b178b40591af2aa718d2a5a18f6f18f0b43d4bed5", + "0x0057d7e94547d3ef55a0bb621b6f6005d7172daaa693d9d055b910d92245259a", + "0x0088d5d1477ccc696104c8817c42eb3ac5c21baf9987b3b5cdf3d10321099e29", + "0x00137356dd2c2c7fafad21f38dbed01e30a01740e9d67b980b819c4c7cdcf405", + "0x008e9896d16c5b0f36dafe3bafcf8b1eef3c23337eac3b01622ff75b6ad6d27f", + "0x00ca1ca0817b531ec96e952f33f95c7355717f9e12aefa7d77556707553af4a6", + "0x000423edc5b2cda58cfbe301df1ed585b0ea93dd86ea2ddd55271fd45c6e2caf", + "0x00a1614dee2cb5f74a4d7de7699483ce984999e429b5fb812c6d244d1351dc93", + "0x005025aba41f51ca85339563747bf2ba81d6a1d8a4c183b22c9714d58fede22b", + "0x00e3a3c48e3f5d84052f433e938452ac07998511ec244971990f74c985f11902", + "0x002e04effe571f39d3b1149c44c380a45ef9f1f8b033a3d3737f24f507531eb8", + "0x00f7ffcf80d2195f025d23e9b76de3c7b1b0f2fa4748f5da71f11f22fae8d1dc", + "0x00493222e73304f1f43f6bed16057c3ab2aea20bc43c1b8ce663a11cb033c0af", + "0x00d7f1856086fc73efafafc47dd945a74c9043b79a0f23c3a0abcd8ad4222b92", + "0x00e4d0d528a91dd9a13e144ddc401d9abea4a1b9a9d126af0945a5994b9eef73", + "0x00e5ce130ce2a7057893bed312f854d5a1c3d78a4c0e0df3c78bad8985261611", + "0x00d1ecbb2f325e7989b53f1b45a28885c59158ba5e0fb8c7f6aa9a9f19f2e038", + "0x001ad47f590e8d8fc32aa5dabce0c104b677e1f6d3c4c42fa8b60d2b6d06b2ab", + "0x00b0053c38e2a19040dcadf23fbeee9c2f525d0e19a6712947432718c5acdcf9", + "0x008b77831fd02616523ab7d566fab79741e2f507618d99ea07320a238c6c6c80", + "0x0067d40f755ee4c63cdd9fce7fbadae3c1c5e65cd3cd8081e904d43ca89d8056", + "0x00e2bfaaddbc7cc917ea1479e724697b486c133b87fe6cfcad7784780f98e1c9", + "0x00564407b037013a205b05c9359243897592440305a0a20190e70d8349249917", + "0x00c139d64ce95ac253055a44c1b70056f8153265f59dae6d41b76178bd4eec5b", + "0x006edd15ff128e1775f15c9fb0c704235d611f3aaba14d1aa619f0a05a922f6e", + "0x008e5ac9b34a4a92394d19533938b92a21efacc7355fc9a75739b8cbce1b5298", + "0x00c83ff1b0f60694b190b99007d58573f876706116da2f581a5b5aaa8861866f", + "0x00e41323e5d71373e079bce185816b995dcadbb6bff1e1b2069465bd25f2fbaa", + "0x006af0f5565c96a494deea44b33e890737449409954b797e80e74a6ec6e43663", + "0x005cc71691a7d44ca214766c073aff6aa26de7d6598b18619e82643af12c7cba", + "0x009ae3c3aed9e63aea307b6b7aac913d6717e461d15741fcedeee116279d724d", + "0x00fe1e6ec5a8264b017ed2820afdb888fa8e7403a0bfbebe6f68360a3e3bfb2b", + "0x0070da2f8c6dbb137e625a3c449012941f9d16062d765d73659bc9f322ad8f6e", + "0x00a2ce406f6a4bbe60bd53831e758971aa5aa19d65a7ee92aeb52a2c4923f633", + "0x0049c6e8613c1befecd4c8585ed360f2e566b395f7df07f4a9aa002935ee2671", + "0x0036cf1ad0eaf94febe13b674d2f6a3b830d709d9f05edbfc7462ff4d83f12e2", + "0x00ff1fc2b862a75f823dd4fba92b14b9783f4309043e1aa241ed5ca692773b71", + "0x001fa1c540ec26e6a3dc37b74b28e5d8ab7eebe2969eac94c5d0a350e844fe4a", + "0x008c01720f3634b731387c18ea8576defc45f4e8a4f939a9414a97c783508c1d", + "0x00564257dbb48f271f6cb7f484f4234f5ad8dc397b769b8bd1f17c58305f0536", + "0x00379fb37ef3e206d8b6b028aa06a98404cbc16383724ebf3f72096e5fd12600", + "0x005a177d52a9b785bd822ed7b0fb22bf9f36b3a92b53d7bf082ae54a83dcfb7c", + "0x000f9c7b02c3b42d5820e5298030304496bc4cf24767b43ff8ca3fbe97bcb8b4", + "0x00510c5ad81c4344ea4230e9f87c3ac5fab6fc182212d028f8a8a0d521a41afd", + "0x0016cc6fa35686c054d80c0e63b3a6fce915ca5e7ea09ea8e69478b8c36fb731", + "0x0082ce97486c8c3292541069b6343e3cd3abc762313cf4ddb3dff3ad5b65de7f", + "0x00aeee1f8e089a98a370755fece332a68adfa1dbe3a02953d770abbbe4aeb983", + "0x005524661fa1ff7ec198e4c08ff6582096716265de4a8cda965d88e98e3b44d3", + "0x00f5eebfd1805f2785546498dc2cf8eedba90564f6da43630c222bd9a8f6816e", + "0x00ac20ed809bd1d79b0743d482c1bd0e6a8bd6d256271a9e9eab3889dec9fc0c", + "0x007dda517b8b56a65e1146cda92594b458a98acd435c9badb48ca4ff3edd8ea7", + "0x002e910b6ac608f55cf0ee37f5247ef7b040ce6a7de71990a8bff26dcb54025e", + "0x007de36c75a5c9ad3159e006cbb7d4c8eef697b80fe30649be3e0960f2381b9e", + "0x004bcece90ef3bfc65fa6c4c91458f2c205f4994044beefabb12a655442d33b1", + "0x00ffda3dbebabb56f4d62b54038e90bc371f48b372a3f7b775903cb790582f95", + "0x00f11065a07a0c28c83237a2045eafa9960226a27c3e945e59a6e3b4f15b16eb", + "0x0046fb4cba845316fdd94592a3a5de90500f79f24f0394f1ad0c4062dd0a6f78", + "0x00cd5674917561029c53fcdc239e4af2f606ad5663698a52db7fa611a3c91c15", + "0x00369fffe79c35644be45b98360b9d54b1e9d31b83a8c523605be6dfc94fd857", + "0x001e95a3450f40152adcc535851a3e6c0fb3df1a3e59583bea7661d84ab3666c", + "0x0026eb28842dfbc1cc996cf3ef83da7ffd8030f11714458232955dc9fe95a8a3", + "0x00d17ac17d942136b4ce271c05933274c42091bcc54ccb12372ef8c0388cf730", + "0x00318749db4de3108d34ca9cf3b21e222cd91a0a9c645fb883eedf8c5205733d", + "0x00315985f352543b45f3fbe7ad94bb4ea24a0473c8f124ddca69e02817f2c12e", + "0x003b5aa530ac24999ca687c7344bb5b90148d0d87c960a4f1b0fb068c45b1d35", + "0x00b9886d0c006ee2736a6a6687de43ec563528134953c9cd39d1dbed199e0c2f", + "0x001d6535187369a6a661e0925e88dc023296fc333aa1a358864bee551eb2bd20", + "0x009899d4b91646ad02cfe0226165a82b6f789bc07558301f7c7a9ee90ec91d10", + "0x00c4c737d5ae82188bf1583bdde5768c1413b682a4a23a5501638cc6dc1ae166", + "0x002398bcd0fa3671190a74240c1891aa6d85abb3b45b7331f6f8c685a917e827", + "0x002d9e5432ec1756b279ce5fdf96eb71d63ca1546cfff7867059e287bc3f0c5e", + "0x00421b3787295eb5fc21207c03af136652676462c9cf8ad4ba5a10586e769ba0", + "0x00350b52802bbfaca002d0e268acef9920c86a4ab21dcd7d6a34a11581c13de7", + "0x008eeb3e6e8e03955fdf2f7e398b340e4e67e768dcfc120fb677f26bc6a45384", + "0x002923b8ea3cfc0c1b9127d0e44d68a19664607e48465d96e69b53662239d087", + "0x00bbe343caab431effafa5b4e8741823808effabda6e2047ddfbf685c1a97186", + "0x001c6a9dd94993da74826229c51ee636df37dbb7390d673c4eef34c7e0d5525b", + "0x0065b2f768d7cfbecb907cc1d98936107fc09982045b991cf16b85ae631778fb", + "0x00a4096fb94055bbf51d21dc5f4b44810b11f358d9d3c6014d821ab6d8e2520b", + "0x00af0b8ff1d6034f2234eae5191d3f57da3abc1519cf571028f9d3dc4d830a3a", + "0x00f6005bd94e3cf79266f4f90b082b7d93c07492b0ba20164f6e48b5215fde02", + "0x0046e3cac093bb3977326ba19ccd1a1f7e770cc8b08dbd38d3dd2144327b1620", + "0x00af0f32a85afdf5206e896943347bc7214da505a36965c4d5be0fb843f24614", + "0x00033abb82b7274dd0ec956df5f33e944db39727481182338f27c8db5f173f53", + "0x002235077c0d53ea3c30bc68dbb161c6e5a472bdcd1c016434fadc9c1ff74a98", + "0x006e2181920546770c6f4efef7d6b3b547096e43dc6fb7e5105f43a7a484da68", + "0x0062607dcf405e3cc5d4b4909ed1f71b4b95e3399289ef233c1381de56b6c904", + "0x0068a498f85336d3e1242e5125c56bc348599139c72a0724cc49a0bf802b321e", + "0x001c7c8d345c4160f9659c1311a82e618f6ddc7a26862580ee7cdd5006c24892", + "0x00a3587c53163dff704789146c796027770ab738c60d275e6f044629cab52ba8", + "0x00da3365ad6f9a2975202353997021f60e71bd37e5b8e9d1988796b8f5357e43", + "0x0029a520be0f4044542b4a906de0af4ec65e232b02f4a17077f1738827c39425", + "0x00410cab2daf88854c72b56f5198ca47750662de198b43654744d70b1a576339", + "0x00c699d2deb82985f62f9def0acd27e44ff848ae1ff7c0ec9c9613b38fd54d1d", + "0x000909f60d1d4f89a2fa9307ba788ac1acd1d7dd0d78f899c9c57a1f468a3357", + "0x00f2687370eed8794b2ecce425d88e33f8242d05dbe571ba34903a14d95e891b", + "0x00198d47e1b4e419601ac167d324ef4554089e6d501b010b84bf264a0e20d79f", + "0x000378b5dcfef287f274aba0d42f4b83c9050efe46209c4924613e5fd3154443", + "0x008727698a90815c2f7cf89b3237df105c591c41d7e201743882e53dd726a021", + "0x004b2c536852b39af3b37f38d86b4cf5344857b405480a2937a302bb42ca8bfe", + "0x006761ebf156b136664f5f92778d9d16d12d6e1f3fd227b2e688e218fb0e9a2e", + "0x00f15fba34a67de48bfea135e8314825094ae6433b8784d644bb65523f8867f8", + "0x006df54cfd22c6994da5a651dfb11b8f7bce4422672d2645120ebf3bdb5f9045", + "0x00b3811b364d4520a134d54673a9c97e04952920d1c360a209c96c2a79eaea4f", + "0x0055206a9ea94de30a58f121c2245ed80c2ad62a6017c926decf285fe110208b", + "0x00da7b679e79e39e158ed71a9b7424ad08b4bba7c2919886f232672158e07233", + "0x0087b0ee4d0458ba866031a5c9a2bbbedf10c2494a5d8665a1bd04e619dd2632", + "0x00700aa238f47feda0cce0c37d43ea675ea7fba392fe58739b4ca00c88b7e60c", + "0x009f945062a9717cb7a330074bd6cdcaa1d7f17b6141794b97b4e6a804ba896f", + "0x00e298bb7cb442dc3aabdec9be6399e9ccb3ef47708c21f6ca1cf7bc3226f89e", + "0x005ef053018084ad3dba81ac3b54839bb1da568824cbfa0a97fdac6620e5408c", + "0x00b08a4c1676b9a5a2e08d912865fb02713ee0ba1c5a84290021ae5cb67ee348", + "0x0049b88b3e5f14917e2750a7176ebc1c0eae9152d23f8d30ac10ccbebf8f1a96", + "0x0022d5ca38dc6d91383d2d3d17239c5867527147ea9bd98d4b501ca56b626839", + "0x00c8edb14209666368adf17b456de719ca620e984ae2d8f2b14e21acfa598ca8", + "0x000bbdadcb7e7b6dd200c4ba8ca6fe14f6c6db720836b9f739ca9b5a8731ab26", + "0x00bceace5630e59c29f7c90c2227067d5a79f16770d98d5832642e17331380e2", + "0x00c17640e8140bacb22bfa851d1d35097f0013b144032342e5dce5186a2c975a", + "0x00627352f3209286700bb745d522fbf8df1b5d1dcc074778039947c1eef5a5c7", + "0x004ae7450d8a695cb21ec142394da3f0f500b07dee7b63bc88f89034a9d9a7be", + "0x00fb4570bb0d3c99302f91009a82a76bfad0ac39ef1c3f77a2a7bb49f60f8e1f", + "0x0016f7772793651ee4692254bcb589a4fe18dc8ff1c32c1a4e23c8888754590e", + "0x008c693a06ca63b8b03e23a190645c6710a894f7e1519ebb9bda88a578eaccae", + "0x00e5fe3b8dc1ed1bf3d1b98ac8f1a54d407c352b0d4867d2411f297f864cebb5", + "0x0018219ea955f9c2b9ffc5a228f43b76d583dd6865de9ff57fe5f6f18e90fa65", + "0x00da8bdd7895e44791d1436d806247d0c7e233e4a3c0d81e4cdfc7d9d7b2d9bf", + "0x002ab236b7b972200d03df41a686da769200f17707fb1fdc46ba036f235fb961", + "0x007a6a56e7d2e50df18ff008694204e1e497877a5b4e8b76c162e7aa6c22e973", + "0x00b184a6426e90274514014c073b9c7712d401bb03f9fb0a125aa867c1f3d3bc", + "0x00c62a088ece9694a537568fe3117652effa695ecdcf0123757a6118c7169add", + "0x001191a12e8fce172f2736c3d60d8a6c28626f09e0593d07b26f16081b32c8ff", + "0x0035a547a9bcddaab6f0dbe5d5f2190b05e3ec4b2094fffab1d5da8e453e62e1", + "0x00ec83c47e1dafb5c8c158ff65d77be051d762cb89c3f6e30fde1427e6f6d46e", + "0x009fa8ff679a2a0a4fcb5b22cc18914176b54dc3c7e666534b4eb10607444cf9", + "0x007c52f5c9a3747936c504b29c1f48dc3ef7eff53af015c47862b589b76ba5f2", + "0x007bad765ebb25e8f5d4e5f37023136681e105bebe287246ca80535dc2126934", + "0x0009c9126d49dd05ac4b972ca4eb38bf561a57f904bf3e1a01621de4ee3cceef", + "0x0027376a5f7c8ae393c37ea9f7ce2d5cf02691e38ab4001dfe4c69b1620b60e8", + "0x00627f421267013f2cf8a6c2b0fea08e60ef42e27b2a1cf4ef9ca851050b07a0", + "0x001cdbd40d871785a241f2059f7226ab7f52adb24de078a72b287f760538e279", + "0x00794e04b2fefbf60cde6bd40706bc4e7bae4c4dd3ec5c9e86f60bf85c8b11e1", + "0x00a0f8bd90448159219570ffe3800c759bf3b95913453e352d1108693ff49af3", + "0x00acdc46d8b6f9714425a08160f18245409830b49f6891a11412ee7f5ab2a49b", + "0x005e9039506c8b15e1200e3a957b0fa78581e412548f12bad62e6db79e1e747d", + "0x00561ec4b59e3fb603d2368905f6990e4063d58fcf32eb6e63f0282fa0974322", + "0x00e57984a179a986ed64a592aa1ea6ab6ae2933176425e1d228f2812ae0d889e", + "0x003500f3d7122b41fe27078513cba1f2ea8a51a5cf5813613b2cff82771ad389", + "0x002c8e78ca4b682ff89e22029f431651e8e15c7d0d0fdd83d44555d0fb0dd25c", + "0x008783e02b3dd9bf4fe65f89f03b58c5a6b3d822cf1655cc241234e9563520dd", + "0x002ca2bb5a795666ba51bb9cb01b2b3ec7a3c7974a5dacef56e993e79f8b1376", + "0x00a38fc87dac35c6dfcada684d2b47f0af175140af9bc906834a622ebcc21f9a", + "0x0066d4b869505855761fd5ec89c9e3a668daaf7eedd4c0f27b6f41bfd156e2bf", + "0x001f3b05d8d1384e0c6dfe592e1675a5579fdb388e319fc2cf53e4b8d3ff000b", + "0x00b371becc28d8c66be7a9d5e053061b709d6a402d41a964c3cac85277477d6f", + "0x001b8a19bf68201d749e94373ab899837eb803de0fc23a539a7d52f909a6c22e", + "0x000bbb66b4247a108e66a4b58d53930b7c77985043c9d81edc85a43d67ffc93f", + "0x00137c6f9b1bfe88fdd7fbf7e00fe16a0d86594f6ab138f5b856b92b9fb57059", + "0x001b97efc361fd8b90f573d5f9fb831cf7792efb59d067938a870773ff002431", + "0x00dc67fa7038294c732ba51ab0ac21506163f3df15075b844e1249a88727e1e7", + "0x00b00ffe5b062ccb77baf0e6b372772e28898a4f9b4ac289d24f4cd38b7e1d1a", + "0x00375c14972f58e3da2249d168bc1fed0ef17644545800ac376da98b6d4c1d2c", + "0x006d6867c499b60773827ce09a5d34d75260c0aaa6356e74cd8614b535c159de", + "0x008775c4ec0a0c51900f2f9483db4cc019dc83b46af48ecdfc8958a6f0b77891", + "0x001ddc732b1cacc736678399eb62723715a3616bb916cf9065caf4fa36034459", + "0x0077f8217269c35dce737eb0b64733c83891dc8484ffb560592bded450eaa7ae", + "0x006ee828f26826b1193678e4b029edf47122399ba13d41b48626242f3f46f727", + "0x006c10c18af4d6e0c2620d30a152b4cbcd1bf1c45f78e620ee0d50af02b24fab", + "0x007f86395552dd090a4daafd4e23804a59a1a030a657b309c2c1f8e838f922d7", + "0x002b008332921c404a616dbb2db663f598be93d4ca857ba3429f7b82a3def34e", + "0x00f489dcb10ba2699a731032160987f9071c1cbe4090e289cddeb51cf2e7f547", + "0x00ba2a046b900cb8354e4dc07c8410c165343e12a4c51bdaf9d0802ac61b0edd", + "0x00396cd3c94c193aed303d1f7a89455ea6a58af473bfdd1f367b9315e6ab2e93", + "0x00a69c15043ba8fd582d1e6950dd24f08ce651eabaa2ca9870abee0576e0d095", + "0x00469a2a6492dec2bff0acc3169da4d244856435c44545f175761985b22614b1", + "0x00ccc7b964c286c5d94a6c4482ce37c2a4a13adf2a8012bac1f6bb305de582c2", + "0x00e0f2f06b219cd3e1db685bdd1229c422570c5cc7bff38114bf5cfe20d9d167", + "0x009f728750639c4f96d5b80f5d2d4524f67ce3f7eff3a9fbd1fe0eba762031f4", + "0x00fe54a5c08c8421cefb33eae5660fa547d4eb9451da923a78f7e5260dac2442", + "0x005ede7dce6b73dfb9bf0b56fe954e171047bd3013c73a50a8fce792cd03dd70", + "0x008ca7663a803b374ad621292ed8a882b99dfa008624356887b118e7409a0bc2", + "0x00eb270c23ad0661d6ff80c5c9d2f16a010fef59a55d5d7409061d2ed2588172", + "0x00602b240652d573ebc080802af8ee36fd57ad2134a6899ed8d1f14d72832071", + "0x00542f16afa1c5f48f80fb2b9613b81d3367ea927581f6e76d1ac7487e665532", + "0x00a9e676b4079a55d38465e38e9f571e765870cd56afd430b449f6ec466d1e53", + "0x0087771d0d2c3213131105e236f4bd977b5caf2f6d8f2a29fa76012cfef2dff8", + "0x0080be21e26da89cd04b89d62fa0377056d5291709f3e48317f43b5da776080a", + "0x000ae081debebcb9b984e7a4bf3ed2df8594e08ccc60cb557a83c4f66010d1d1", + "0x00190c767653e21da5d3c5475312ca1353659f79d7305269c6cb8b657af0fa1f", + "0x001e020a8c15d97e86ae90fd125e595e9a420c49ab020ea98b404c565002908a", + "0x00a1703412b010db0e01cef183ebddc9a398e76f6f0a77301201e79d07001972", + "0x00bc338aee6b23df256bbc354f943435e7588e63c92ba2fcb6f15c9a0036a028", + "0x0040d51bf7980b36b796aa20ed639a6592c97671a0ea4266d484c4a763bd2c8b", + "0x00601dab93b22e03c90b84813419f93b3784b1e9971959aece586896e29817ae", + "0x0037644acd46c1eec8ba09390bb02c839d972c29dd3a2dafcd07cef3f6399c01", + "0x004195f89c9ec29dd2d944fd1a8967a2d5508d7c834742eb08fc051a90b29f16", + "0x00961785f8a7bb2890fa8cfbe0993ee3271500dc6fe9ddacb859b8594a614e79", + "0x00265abf1173c9df95081f9a7c5f3686ca71c11c82515cdf97368f86e4cb2fd8", + "0x00114f29cde13ad52ad1db5ef3da6ef1c8c60d9f270115e7d3e7f2d6cdc0d9be", + "0x00d7b6f71bd4cb2f65ec7781743f042563637d4b3dda268c9c1e59500fcd4a06", + "0x009e9822765f21f911cd63e731ea0c11b0fef736181d2268aef34fb55baafb59", + "0x004a42d830dea62d7116fa0657cdad9e79ac7eb307c099263289464c463287be", + "0x005b75874a0fde8e1c8ab5343bbbd9aedc80b5b215c0576c929d157619217b68", + "0x00a7b362ececab2d2c8c13ae6d129448bae0667aca2fa1296b8ccff05fd312ef", + "0x003f37a490aa4f43103af3e3073d7826af6236e6d6bfed5465f24491da1c1e6c", + "0x00a90a141e6d06e4e29e79efeacec91edfae7612581d2418f33fb725fa7400e1", + "0x00a8915028e26310943c311734a19ec2dd7d84ef6e98c7d05ee46bb54a7590c7", + "0x00fb76add26d7c5582e1682aeeaffec7956f7df0a7d18c4b0ac8b61d297651c5", + "0x006c66c4d8143ac281edef1f1a594128ab388c7b7fdb85c353999d0fd2b9691f", + "0x009fa9ddf89dfa37ac79c5a18dbd8573c9a0e27c5517f60e82f0e05c8892c712", + "0x007ffe8d5bcadc45dae7c30a97a64b4ad5f1ee3743a9a6229a29bca313ec7d8e", + "0x0009c3fc85f8fec72e33b82b5daaafa5dcf31ad7e1afe37bad9e679f4610a27e", + "0x00d5d9ae6f08db53f4399aa5fc7dec997e48f66b5e2ce1ab0ec61c0750127b6f", + "0x005c77ea569fdf4c5d020b8875299a71cd98631f24977db2f67d179a4412535a", + "0x00174e8a6d94e8aee09c5e0ae9d2d5533ff365ff2fedccb5e02b82e208b8d49b", + "0x0000c9cad232e6395616f02a132c6625e6a3403500f2399a4bf4953140ebdc95", + "0x0090881285e2caf2b7da98985e5bbabc33e0113cb613bac64c64679f6b3f989f", + "0x00dfc2f8d3e135b8a2b0006801f33a90c5a7a0df0484bb3947256d9e8c100abc", + "0x0003847ddc6ed5730319591e735581da65e5967810514351df9e3417466fd75d", + "0x00a310e501668c264d6365be857abe7b7e66892724f2d4339cc29fe6bfd73b94", + "0x0034212e00a5fa1112158519473df23875fd5cc969a85fc90ddc51d5eefd61c9", + "0x00680f5b49de8277f4155b7cf07ce9abaa1fdfa3bc26694805c679687c0b8ccc", + "0x00cf9a9e212b2d7a572e13456410374d8a6a2ab9f0f24544e9c38e926772c31a", + "0x00f323ec242436f7d8d44020cfd0e635b0f150becfdead01eec6b433c5d11daa", + "0x0018c5e0afce29966a2d929ec82f62b9123cc1115f7a76ac7f95a9d7ba69ae85", + "0x008e7567b24b43a5692336bdb34a808575c18a272e73c71b4949dff4cbb1ea18", + "0x00865118e58dbd42fb4fd4dd96fa0b4fdaa057b5e66c3602205aa3a9b8d12ea2", + "0x0018a10da461c08dc97aa2a9e6a60e65e5edfac04551dd3338f91f0981bbecc2", + "0x00e5d899d5b7e55960904e6091e2d1382d507ae7a9018cdac090c9b71d8f8a12", + "0x00a35468f8d216ac07ba8b38ea5c93d6a6f52f071c5fca296d5d036cd60c46d1", + "0x00eef3139238f601cd2d2173f5e441af295ec6cd0c0efea17b2e3a83135471f6", + "0x002769405cefd3db62ee6fc9f65807254af58eead753ce39c6c64a3afaf58333", + "0x00e89ce79fc77e8e2362b659491063ba0ea946189cb39b4df1c422ca334e3022", + "0x005e9dbaf57c48cbcaa54c193bd9121df987f0c1a0e6073ca2690142b9f22f09", + "0x00088468267eaa52dbd642d0520deb794bcf4d20517d94c6ecd2e0b28afeb894", + "0x003927bb8eb9bcd25e758ee2cc5a3e89c23fa4b4f824dfc316b5130e1354679a", + "0x00a661e8dacf1ca804efec24a59bc6d75ab44d7f8ef5b31c0be2f1518b2b6ff3", + "0x008125cec080f4130f2ce97a1237dcf1e154fa4832b3f19f6a37b241bfd9d2a4", + "0x0091b492f6dfa733701ba602a98349e55a8b819f87cd6c50ad2f03ae9288aa9c", + "0x00a91141476a76b3411c6996635eacaae56b11dd286d8a8eae672dc2220fbb14", + "0x001b23aed13af21e14d9cf0f5500dbd43b103a637ccbe9e52738cba7b9c70d83", + "0x00fd743113921c6846db1602c95497bf800f4f4cb030ac985763448c460f757e", + "0x0036d2bc4ea27e1d3e5f082cf9da3e98413da55d48bb561f6ae1d96d1600efc9", + "0x00734c01eebdfe281bfc4aa19ed6a48c20a21026f288cbb3be828307167f02dc", + "0x003a57d43ebc83bc118419a301482bd3de97f9bf1b9e7e98725f9e453cd0daae", + "0x003f669de44965410615d4b4a54fa55c924a49685d51ac6ac985d8679b5fb6f4", + "0x002f5fc1061af5d9e4c9259ecaa1dab8ae1dd8e9a60fe4aacf43a22c22714ba1", + "0x002923b9a381b1f51bab4c47e46c88f50ea9b9d857532219c29e4087a1b626f6", + "0x00726ac5c7108337908fd5552c4cba9cc509bd051ec7110186a98b433392f810", + "0x00b68fa15281e7e2c4cf4f77ab0962c51b9ae1843a3bbe105b5c850fb1f0a5de", + "0x00de2a7670253122d05fbeb5e9173f102fea26551e996ee42e3b6856c4e053fe", + "0x00270266c79aaa2d65c8b61a99b48bc32b3341240aa9cde060df922d4215a576", + "0x0058ae10a11bebe52a9ef7c1ce16d063662f8af9dcdd3bfabe3ed564b0be9d14", + "0x00f9159208c8804381ee45529cf830f624f2e4d4c3d01b17b84e4792abe6d0cc", + "0x0000c37840eb4b2ef06a5cd1532614c90a1fc5fda3b3cf9c2609ebece740c7e2", + "0x005267050d2a8312e139b855d6a36393fe3ee52d72498b9562d0669944a1da01", + "0x0095f0efc09b1bb49e91a63e421abc32994863db5666668e39472917c1ef09b6", + "0x001f4d8bfd0cdab2e32d206ac4e98538f5597d23946e8c83c6e496eeb65fc72a", + "0x00fe4ad3ef5a71412d9fba4460eb093d6ec740d38360fc89c17bc7362379f3d4", + "0x00a29bbcf4dbacc031b71ac62ea577634d148eac466f274238b19517a72ecce0", + "0x001385c2bf0d089092e66a5b4468a056de112c88f618ee5443aeb9035b35fa4c", + "0x00abc884167b4974f9988517e674c165a8b24279d2848ffcc12e53f40cdb77eb", + "0x00e077cfa06b593ff001b8bd409438dd31c1283ad8feee022d0d0d54cd562531", + "0x00aecfaed78bb0e27b0b9b5ce9960eee09334d556a34baf7433036190f969b5c", + "0x0052aa6fef5c8da7bd4693a3f494a6dfb3267b708379948efed69e696deddcfa", + "0x006b33874720a9bc9c5b2cfee84c5791d7f883259ec898e72f57ac968f60eb28", + "0x009f09445c70ec4a7f55e0116d6dc33dd93df7a0c6860721b1660a86fcd523a9", + "0x00d174b6420d81bb5a5308eb6aade26923d22dd8d60dd79475b164551c7643de", + "0x0028ec3d1e5ec22fa284d45def8c0d97e7f2f1a1e8057afe7a745e6c7898e355", + "0x0088b74fae1d2485b2393fafa3e2f887a6e916b1ee8fe7a6eead1e9dc74bc673", + "0x0054716297cf24223a89d573a5efcac22b7cdcf8d57ceea84624d2f2771d4b44", + "0x0021352e6d4fe252e8fbf30d723bfb69d3e627f820a21dd6adbb2b83db0b1a89", + "0x00a71c887cd749e80e8e356e40c9b8a5e81d480169e3665e97847a910f000af3", + "0x00ff544bdf4ad0d5fde152142e83aabe239afbe915c26bd71cd7856d9fb606ec", + "0x00605bdd46721f704a6704c62c066e75160bf24f709c0eb5402b4a066e2b3f57", + "0x004c54120a67ef67642c68bba2538e8e5ee395622da93fcd30f5f9a8226c1f5e", + "0x000e61ff22c05bc4d312fa1ffaad9e603de0aa468cae727e0b774c65e4f6c4ad", + "0x009692405e7cc5cc0ed49cf951da4ccd6e3bf78808cb82c7d5bf698f6c901393", + "0x00d25990aa96912e00b17698244476009b6b3091d0a5965dd94a232a5b9af35f", + "0x003bae82d33ed4f77b72ac6d0cc13863cb37222ab9057b5e3320f0a3b2feb60a", + "0x00e379743537cda2d25048b928cfd8913019f20c66f1f7f4337fd9643c91fb00", + "0x0008ff39c95c444dcd451d7c7612a634b93b91063c35e7919a379baaa13591be", + "0x00a509042dee9a82aa55c81f3c40f61f635779928e9ffcfeabd7e2f01996fae9", + "0x00179af0c679a37d7713b8c60e58dc18ac03455f309014e61ea489b51818dddd", + "0x00122924375fd015628b8aec8a3b8123b2c7fa2ecbb9762b0d0322a93e90537c", + "0x001dde22879df890ae4440ed8070b25b4b322ef31a8bb9bd62f946cdfd6fb4b3", + "0x002cd7dbc0aa86897b4be42152a447e99894a51cc904687026815cba7447e7e0", + "0x00d99af4220caa6da793cb4c6c63c58c46dd6a89ffc0981554916666675b8cbb", + "0x00743faccbb1e17982c21e1f00d0e2fcc37f3f75e6dc38a7f2180c093fe3d7d4", + "0x001bac07b686f1de2fc50a3d7d4718e69d522e956364212b150e1e9a06d306f0", + "0x009eb333e68d3426a500fd65caa900bcb724db2130b8c2a4c5fca194191d5e63", + "0x0083050446655c703b91592d65c0984de7deafbd5d53cfe5e762dfc871e2761f", + "0x00123192a4f7502afb1dd12b9631330b2901e2fde01c048718590ff5188ac502", + "0x00399a9e2dc4c0eec24c3f0c0499cb841bb5d3350cd7532596727d8d8b182d27", + "0x007bd7eb4828660b20343e2fecfb4a32847763f45ebbee46a5a9835761a59e88", + "0x003089c5f5425eb54fd2ec28b4d4327f61823a8f2452d9bc021d2f5eb6692016", + "0x008f37b3a53fc4174b4ef0daac0b7a5b0d14fa6997b71436101eb1c9b7bb471e", + "0x001df66c2e7fec0d700bf0ff1fe79f8b97ae6382f74f6f2dbb8719df23018a95", + "0x0092acb80f4ea0d1d9ce07db293af5abb7f2de24c6f4e8a8f5a0ed29891a4988", + "0x000927a1ce3cb35de266f5eeabf50e0bdd27377012b3b56880a089463efa2e5a", + "0x003aab75cb8f4b21c51587fb500e0eaff573c8b42788b29c2276ba2869c7d8bb", + "0x00da850235fdcfaa5d1db2ce751c1870df8ebb5e132cb664007c8b5ebb70a545", + "0x00b9865a688d49a15835afe14d3966aed49f5f0bb840509fdf002fee6bbb6b71", + "0x00df1a98df2df91be201f342c6fc1f6968fa95a70b6b080f9073c5b53d722aaf", + "0x00ea3ebed52d6ed37b068b4584cb152a06a357c6ad99fd04fb6961050172436a", + "0x00b7d0f7aa7bf49eba73e6bfa21e4b1a09dfc3c374ba5559cd49ca29d7021815", + "0x00833edff95ae7031e687f0cc921e64c09ec5fe2567dc42f88f136440788287e", + "0x00845933da913784231f9ce2003d6a68205cf7aed4f00659aadfa345678172ec", + "0x00372731bdff60c01cec3a99c1fc4e4b47de861e08aeed8983480a9de634a5e4", + "0x00bb008c81c1a566572b42ee774c2dc581863b05831bf5e645ec96962501dbd8", + "0x005b491ac79d1355832c45dadc1ca1a944975bacc28b04d00ab57332e68bfe2e", + "0x00a90b236cb48a54ac70cda38f1776fcd7398c477ad3f0cc7fa3d13129ffd5d1", + "0x00167353fc67ba25994d3001473ad7bb4cb4025c79b41913fc0830124601bf30", + "0x00119295154ac30594aadb834b9483ef3af1d3253bb604b6e79a40556bb6f4f0", + "0x00a8898b63b2ab4e22690adc2d523fdef4c8782edb64e075cf05dcdc1b090edc", + "0x00773f28e3879ed3fba1a86ba292448da856eb1a4fb7b038b59a1cdcd51db285", + "0x004294fe9fdd3d0417fe044ddfd360d09833e04cd398dba2fa018f0ecc827fab", + "0x0009f745c4f310e5f6fe9ab6c2b4bc35535cb32ce511c1a72c6bb2cb3d25337b", + "0x00befa487c7a3696a75c4cf36fb1ddf12a1cf03481e7137fab7b28ac55ee1226", + "0x003b2c1fa0a7ef76c2ddd4fa4a79256f69b026bf5db43df841d88614a40cd2c5", + "0x002f4b3c98fddbc449b91cca5675ed8626bafe401519cfe0627da29c82e1376c", + "0x00002159a42ed7b57c4d73da2bd9f420728f8d4eff09b0c2c5e677c33cb2dcef", + "0x00fe4d3f501fefd10ff2657911c7aeca0916f326ff2ba6ae0daa8799c7e98ceb", + "0x008f9da976e8796ad360d9ad2a87cb9567e726c53c118cabaf2790b5c7d098b8", + "0x008751f1135bdea8679f6a49c95381a7ddbe561e5e85c369523dc8e0146ac0d3", + "0x00bbc1a064b5a40349b6824f5692db02c758edee30bb316871d2a5f7967d604a", + "0x004870a015969d28bc2be27b4be442f00bc7eed2b63c9c76143e378b1357a817", + "0x00ebd004e7de1003e6f4beeabaa7f1ca6a3047228d1dbb2790f0764a5c261d35", + "0x00caf36fa36117449fc6b3ff1180c1ef1e6f75cadf5e4044209b0f5c8b607666", + "0x00d3d849e4d7283dded573a18324a66152bcac48f787f9a2d98326c0e105180d", + "0x0009e97d94bdf44683ae6e226c969014445d8f1d80293275e7c65a184f120a12", + "0x00b23c05001402a74284f35cf11790d34660b17d97d5022dc15204a98f0c6554", + "0x003c793fcb3c42d90448a6090738979930d04ceccc82a7aa6c7888372bb6afe5", + "0x00d2d35338ef4ad56627aad5a26843f221e76c930d57ece1a480c94c62c34b30", + "0x0081a87cd1cf66101ae48e39e7a9b447a582e1fe8496b972825b5f824ef5ca3b", + "0x00de5ed613f4c8541993074f95e26e9d9f8a3e3e72d1330c7b4af33ed3485df0", + "0x001fc252845c9cbb3675b8606f1e2b87c4de2639817b55610304ad8c1ad5ccea", + "0x00e0e47b0dddf0f4f19ed5673c3ba1efa383b178f9e63c4e675975ff073bb2b7", + "0x000184dcae551a4f427a0aaf38cdcffd58e1c9b2662f2be8b8b481dbf24a0ee4", + "0x008d54764bd32f85daef0af7b9133c23d7903ef18de33a0d4ff2bb304c69c781", + "0x00e5b9d11718112a1b5335cd29d4de904cbc9669ea81e4007dd97c6ebb645bb3", + "0x00a9161993c43c4d9f87ccaaa72063ec0299994db79302290246e6eec2b5e661", + "0x004b0c40182d466dca8eac07afd94760136abb11cd30d99a9a4b8edcaf74eac4", + "0x001313c4c4801fe3e110280828c3738c0d175b45286d6c1128f795ed245d5693", + "0x0073169a5fc6886992e12a4fa02a78d2e933a9df27881460c2ba4da00c5f5807", + "0x0044cd10759a6ba08f2f5f28573282ea605d2167f52f5d355e8af7756c49140b", + "0x00739fbb3d467ebe3c2f9856f2f0101c76df08859ed8400a4b307a05b4ed9dfc", + "0x00c9d11e0b280ec0ae375052bd26b062eab5b08640ba682d59209b1d7c26f568", + "0x00ffb2a1895f14e065a10fbe44e354fdc65dbb28ce6571ec1627d5eaeef85a12", + "0x002e4b96d57045441972c974706dd6c72660fe7450e82366a51f2577ecf50d59", + "0x00679748188b2cd57d71e356502ae4599ce693360ab0a4fd88d58bcc8b420fe6", + "0x001f8a45821e7d7978e96627faaa44dd1231c163368d4cb2a1d32821ff63729c", + "0x00f0501c92e6f3df5ca617b6f185134c69c310943452200c5fb5fc87df686557", + "0x00da964fd5fce9c631453c572cac86621ebcb9a7726f6eb6f59638901c507df7", + "0x00fce799379d1b1e4dd8a0d8d75b11b710f4e5ffd605fbd5e31c8caa303dfa32", + "0x00cc83df8b0a72aef0da0da7e346f27fa137a34cd7fa50bc3b95993e60f6fc76", + "0x009d093ef2e4de01477049f7d6e52597e2bf5019944b09d4f60c642e3b729fe4", + "0x004c78379ecdee7845eee4a318086a56dae0757749bd007bb86e83e4c581028b", + "0x00567d50f78a3cb1c67847e813ff8ccce9f227226d4cadece824f5876e49d6bf", + "0x0014f098190bb8bd9254291a12cddb970c590a2c15b696c367a4d6c0682cf92a", + "0x0057143d105f0f81de410a6d2ba0194f5ae77c2f39e5cdf155e807497d15d50f", + "0x00f9c6f6e3425e311031461c01e9baf02970213b89c51e2559ff35e2556c71f1", + "0x00fea2c52aa6e2384f7e0be11e09de011a43322e0df7c149cd91cc21449c42ce", + "0x0034675ef6709df12f812b230d910e683fabe35394ca79e16e7c5ce35e6f49d9", + "0x000a8db43236793fa847a181c7cc3826b6d74baa3c6f8da8d66fc2e6a42e4720", + "0x000692bc457e1f3483d88a63695285216ffc3047130c64bda589db6e3df59c6c", + "0x006077bee60f1b2f7ac4b5e65250b32d311e2671955378a86e80cb2a0c4b824a", + "0x009aef501fe0e7f3ae4cbc6709e2b7f3ccfe8796e3282657a3ecaf7a1f31587d", + "0x00d356c23fdf0feedbcf1603322bb5eccb3eb6a7e0c60f7081911dcdcf97e88d", + "0x00cf0d997c4c681b6b2505b28a0b088cc8da1ae86a9f75d1b8ad0a90e5bd9885", + "0x0092f95171bdc8f3a1d704ad330ad822f68576de9b9305ebc7bf35e9a6317cdb", + "0x0038e5b6bbb4ed2527db139a1fafca1e9315661178288580ac7deb1bd8d1e26e", + "0x0067d2f1570a04214472f892b736d8aea37cbe95e349a0d695cd358fa9f5b249", + "0x00472d78a0e58e90a60bf1e6c673702bdd5fa79c7e90630dc707175ec1a02d45", + "0x0071b1bb00287492e8653601a09cfe7203e3e73455243574096f43a98fa8256f", + "0x002863d63b3929ad84e0d0efc8c3df63f8ffa747cc3cedb19175b3e54b20c646", + "0x00a6fef2e3823b8bdb77a6588110a9cd36a7678e37c1a38656c69c6366650777", + "0x00b269d64cfff1a256cb0296eb7c4856c2e90c9d05d1cd110a20165a62dada09", + "0x00f5881da3d667fd0d054105e82d824ea07fc54aa17ff93074c9ff32069451b8", + "0x00db725d03edfd9f31eb8912076abaebeb30ad7127afd868383a40694ed006e3", + "0x004fa386aeb561a392b84fa60ad613ccb84669461bf2b855b7eea7cbad24e057", + "0x0032a5d5c55cee5eb1c50b45d8e671ab35fefb5d9fd94eca33eaa1a7a85ef2b9", + "0x00d3e31bb1405028d7b615d6593e51141598d45af8cba8371000e1b1a09246b1", + "0x00529423074d74612871dd6644eb5fe1dafc427f8bcb1fac7d43f53dc41c6ee3", + "0x00e0c965c0bb8c807a4898901fb30f9bced900e8b16599dcae9074b5dc36a33a", + "0x00edbce0b9ca8c0c8293db8f6f54084987dccfe668115838c05cc867ef044822", + "0x00e8d97347ca53bcde2d01638ce662753dfc3c0c265656d7c37a3c841ba3afd1", + "0x001ac3b9f9aae2d672ed1ff9ba7c283a1ca274d043135650ae0dbc594fbb0ce5", + "0x0058a0ea7c2b3c748072d70c255717034ffe9129cf9cd7c21e4837b47943add4", + "0x00a5fbc0f3807868c89d8f6143ca78aa415302b0b4b392798e7a9341a849377f", + "0x0043f4f91970c2721fe282c2205421536b43aa7ef4cd6fb4c6b527c324643bee", + "0x00a632e7af7251287cdb39e9f49bc44a132f9bfc8f18bf277fc7119bb3d7c210", + "0x001bfe4274ae40da83116e93299149303f6b9ecdd08b98c7510c4912b2639fd4", + "0x004be0ade3771c19ceb861e913ee8b625ca65a030d835f989b3587129fbe49c5", + "0x0056e39bffb5ba939f3d5080683108668cb18f14d95220aed641fcb623f494eb", + "0x00a3eb2a02e417e56d17229383b3c276fe484c229876157ab831fa539d1e29e2", + "0x001c666b4abb783808901ad67c53f9fc5e06a104c134d741d323f14659b02ce3", + "0x00dc9dcff33d403bd77b6f754fd485cf320377dd2ba9e4da0537a68a006d3d00", + "0x00daef04d2de2f2574942a135fb4b1e7524416997f8597e72aaa2ca6ab841a06", + "0x00dd281f15e896e7ce40fcaf9fb8402867ae33f9a992c76e78fcde216092acb4", + "0x006a56e8669cb555268672ded50212ed042bbcaca87209e5dbf30750249129dc", + "0x00b516a84fc8962c0f8369a943253abdfa8f609067f09989967659f8618d0470", + "0x009f202c09bbdaea9db09f49b5e550210ec3b2c4c530e4e86555faec28a442ba", + "0x005d786cc722eb262fddef23c362d96b8a2b3cf659f0fc39f721bf5184170b5e", + "0x002450bfc0e1df9e3f64094be072aa20e769e9f9ce164c2fd8cc303fac8d1f9b", + "0x00db58c3fe0e631c948bd2e5b1fe9134bcdffab8f2ccdc7c066dc78c2abf4bff", + "0x00c037b8d2642ff4eab9b8f1024bf8590635e901f04721cdbbf84667b41f4417", + "0x00dbbdd4a2ed8607327b0bd2755423b1df309e1dd4c8c650fd8f4be3e63b4521", + "0x00931e59d5c328411400af2fa634897bd19c5d7c6ab2cb31503032d0aab2d9d6", + "0x00684078aa752b5ee624fd0b0ca99002bd99571db012eb971398801a1cab9ef5", + "0x00e9910e6c54e8d2f517a6c763bf9b6ee6dba6e8eeecd889752973c3a6b21255", + "0x008df7df42630253f423bc75bf74908fcf32d5613890578c333aba7a45dcd5ca", + "0x009521c259ce8cada2ee081eb502a09c361d9750803792c5c5a9368c814fcc4b", + "0x00b19016fad1a6820aa1b283f74d325f004ef75aacc8ed5b070e801d9ce9b94a", + "0x0009c0f49ed7afb01a510699afa5e4d259139f5822211d5cd83ea5b8d63a12f9", + "0x006c70a70ef906a624bccdd19b28712f9df3be92543d71627dad2e0687efcef6", + "0x00b5312512a7df3fd71c972c4455172320772e4d42a149dd9bef0bc4919c48be", + "0x00e5b2e8617cb3601e8000461f71f01cf797cf732302d0859118c868fbee063e", + "0x0015315714bde8eb1e9e9993a260603a7fdf53d2c4d8deb2964e8a9efe0be6fc", + "0x00cfcb27f28265842a8a09c85758653e8e0d8425f08c47ca84f385400e2fe623", + "0x00ec5f3ff75a42ec99823569f2c3ab7e4bc2dcff824c9cc3eb26ce7ff430449c", + "0x004211f68dc1437664b53729185451169d507d3113118386a9a31970c617ce5d", + "0x003a626153e3014be32609d9df4bf9793647898abc7f9c9617a12b38f68d5681", + "0x0039e65d3cc5d7ccb80f16a160c3c64c92642f2ca47f1d2088c57a9b18e1dbb2", + "0x0082be09431245184e59019901caf8116c981f8fccacc4a44e32f8bfce775d8c", + "0x005c0a9d17df9a96cabafba9ea94bf891b4940a88ebba483bc611cedb3d7c764", + "0x009be41a54367b0e250a4809e2312d1729d67707b5635a5c2697451de52eb83a", + "0x0039319e8bb94c83b9e28d70f9824e27e7e51546d0110e99d3ec3a1de3736eb2", + "0x00538dc21bf9835a47a8f02159fb75ce547af28aac2668db6edbdff9ba4edfdb", + "0x00f91c3b76ce1277bdf344a5b3aacb13e4d64c1a96a8bb6a4be9d18ee700f251", + "0x000baff02bda85c7bf3650f776c760cc4214aeb9e8e8192ff176ae80babc403c", + "0x00196dad97f4bc1f93fcfcff4f754b4c7397049c78fb4a2f407d1503f76abe0e", + "0x002e6f6526fa14540471e57c578510cb628990bba62ef3193f5757e048c933b0", + "0x00697f19eda8b8fe006296c530fc7e35c1df8efe1623ef5a6b049d47c817a523", + "0x00e9cdea2a2e692c6bb7a1e497282495c3d132db44aca5841a99bec09679ef90", + "0x007aebb60041f6ae5d5a01447fb4703c4e866610c37beb8dab75b858e5f88c5e", + "0x0061075df819feeb3c606bd610774fac37db66262ae12eb1fb13459584b70d66", + "0x00d42cab0afc61aaa5f72f99215a6acb518b087215acc228ddb42147a7b7e7c0", + "0x00864c9090d607dd0de6db93e0165a4f83091458e25c9956d5d143f766fe693a", + "0x009d852a9139688ea87e49935a607e7d76948b294d5e63d09f27da2b7f0fee42", + "0x00accb8d13aa6d81885ac785499483923b1e1359a909b89f19ce489cd01b58e8", + "0x00e2a767e1bb7ab59c7b8ee3ddeeed90f7f75bb2e8dc16af79aff476677fbf82", + "0x00684bae9ed5f1763fa0c985d884fc88a8cbe5bd3072b54cffa843c80be4aff3", + "0x00f06d5d5de585203a7d9e2ad6f4317cd0db5637bb72a7606cb91f730efa6be3", + "0x006a02bdb8c551fa65e84714fe65769b76843cad2836b23a08a6b136050be456", + "0x0021f99757db2adf7c3c6d4a3a8d26355eeaa485f30bd8ff395a62c5896af1dc", + "0x004ff31f843561e5a9ebe5ef0f8f6cb1d85b24025b84b25aaebf39ea8761d700", + "0x007aa202b18a873c6fc866a5d1de1d36a9f3fe1155b4203da8cedc981184d343", + "0x006136ad055218ac36659f843b539961e02a668a27c5465e39afcb38fc697336", + "0x007967fd79eb3c580ed5220622e5526d77d764b119bd333603f11763c3efb07b", + "0x00bbc3c7cd5781921224c9c58558cb8cf447b6a450f07299d6d6c61a8eda074b", + "0x00e963afe31b4206435fd393f60bee69846def054be386020b3323c56646a1e5", + "0x00cfd2383f1d277b786ac9a49281e88386ea8429fff5a7b77cae6f707da2dcf3", + "0x000c9bc1eca10119523302a8595ab28d909974b296e742e4e47453de73aa34fc", + "0x00f3d98ab68b177df2e7822b012e56a47f94cce0978516d8b8ceda353b38a7ee", + "0x00bda596281daca5fffe62257c07885425cd0ab868b50c9ecca4dd0c9ca6cc00", + "0x007e79dbdf2a73c764af2ca536c09074f743889c12fbd68e6fe131aa4f92c418", + "0x008e5e18c2d6ce5550882a8ce8289d2f180ed8520d59987913b5a48c8ac24b87", + "0x00e9d1175351a02c0992fe80a23780c22390669cb00dd2bd4429cc086a060819", + "0x0019501180f48011b2953c9c632e727d1a5bd5a6e9eafc3ad6d272056d4ac780", + "0x000a55288c11408a3b36adf1946bc04a83a492a7b2c2a73d453b4fe83673b20f", + "0x00bf9310111257d619b3cdd6369344f43c179082d54c1ca9c379bb053bff9422", + "0x00c11be50442a1ff3d97eb9f063479718811046197c0a75d03929c545f2f30fc", + "0x00ad499c2c077902bb44cb36cba5f9619dcaae391b52075d84f846a463bfe2f9", + "0x00b90be8d5bc7f0b91a86ca0a28b402fd84d38258aa061301daa5982d534f0fd", + "0x00121228edff23042c9873ee4c161b0a106245bbbe02acaf11f4c1e881e21629", + "0x008281ba44e9b4aec225ef730db3b3513725739b002377dde0398a66e90858b0", + "0x003e67e6fed8cb267f61826d10802b76d174015be4da448ef6d289a08bd719d3", + "0x001e47926407e2b02a96ac26662902ac8b2d0cffdc456712ac23e744ba148ac1", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4413,19 +4413,19 @@ contract_class_log_fields = [ ] [inputs.hiding_kernel_proof_data.public_inputs] - expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069ff1b30" + expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c70e7" [inputs.hiding_kernel_proof_data.public_inputs.constants] - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" - protocol_contracts_hash = "0x0333160f082dfc02e255c756febac14dc42c4c88b882e0403d44710c1f0bb80f" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" + protocol_contracts_hash = "0x2947d6ab285fab4b2cde4c027aa22c2146ab8470fe246c99c958116105ad615e" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x13a1bf44c19e7c2eb7fc1a96527d072cf424bc99c760e392f4abcecc1fc597f8" - total_fees = "0x00000000000000000000000000000000000000000000000002b26ec5db7a7140" - total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a3979" + sponge_blob_hash = "0x2ad6fde853521717c1ca3718c050ed1bba49a6d75f58f6f226df5f9280a79f69" + total_fees = "0x00000000000000000000000000000000000000000000000002449f1e83b9af00" + total_mana_used = "0x000000000000000000000000000000000000000000000000000000000008992c" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.last_archive] - root = "0x0d18996e508e8c1e51f6a56652cc5d71169450ff16c25de9af7f79af5385e334" + root = "0x2d7278322ae3f2f02196f7b5eb323c037067b5a8bb27bb36e5936e01618b922e" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] @@ -4433,26 +4433,26 @@ root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x1c223e428d6faa36822890e3b99417ddf73ffb069bf4c44b6ae9d7fc741733f6" +root = "0x1ebd1f6284edfa586309202f29d58f8211b22ad55f0913e7a61e37e8f558c52b" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x01c778a6b3dcb1245bb0aee174252dd95256e67309f952e5d2f8cbafffe20d0f" +root = "0x1e42767e9c9083af802ea9f53b7957180260f8a4cd73a99b61551c292f090fbe" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x134e44df49ddb89525046d19bcfc2734c78e419994de9d6f7467eb84d02d1060" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x24d209b2c68b99743e478e8ff0ffe01bf8b627abb2c72b2d74253277ffbe26a0" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x0000000000000000000000000000000000000000000000000000000069fdd7c0" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0b2d77" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4463,7 +4463,7 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" [inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" @@ -4483,8 +4483,8 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 [inputs.hiding_kernel_proof_data.public_inputs.end] note_hashes = [ - "0x2295fa9f079bf362a4f01c3b07d9f912f9b484e5ee527ad7a528025a165b9352", - "0x27f0738f58cf7f88e6845175913245e6f82475f464578de70619eceaff66402e", + "0x21c7e2027864f293ff502b26ca73419fb7de391a18467849bba3e7debd669312", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4549,9 +4549,9 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x282b555a2f009837bd02f744ae119250934c991464481b5613f7f2112a615f7c", - "0x1567c8c1ff81dda9727361df23c92849c46772567aa0bf3723db03c3751e9d2e", - "0x1cb96ed0bfe97ed05e23f013062425e5ce6599fb6430b162e69edfc317d5bf82", + "0x15664292cc693dcb31f3638ce704a65d0776e3d3a3a0138517913a429ea63c4b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4697,66 +4697,66 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] fields = [ - "0x2c3715409dc4762ec9a9a602d199ea9932d61edd3fd32c9891fe5ea5a722acde", - "0x10433733db106ed8336b9b799ec2debee9fe2da75f114f567eefde5abf9f74d3", - "0x17440c522b009a136c2207db86790b05464774690523c7fbf949ad381664d0ea", - "0x0a5e8928a4d74ad3256e8a697cfdf84b7baae32abad67b2de7c36ffd67acb665", - "0x0b1200621e156c6d79f463e17e81b96f11d18d716ca5222e7276e07d45845a26", - "0x04b2b64d09e487d10d557106046a94a97f2c40f4316e6667a2c2d9a99db05385", - "0x193da3d713c24b85e1c8f22dd8ef575e88d19c6732f8fd17e370cf64e65b3e04", - "0x08569203e8f3d028234ed200df77bca848c9b4b015ad8797c37669a5e5d1ee0c", - "0x13a9b2003409ad3d4f38caba797acc77092ddd431af25a955a83dc6f5b92cc93", - "0x16fece01bc0b0205bcbaca2904d5674d10573bfef038f94d3e5d526596da2ae9", - "0x0a438177a05071eaeb1862f154b187315de4dc804e275b0f2258baf4700c6d64", - "0x0959244a76e5e861ce5b8833101b91e19d758109d68cc174a6f9eec9c7afa008", - "0x03533d18a1c3ebcf22f820a243be161c9798ea59a506572e32e125c53b7aee7e", - "0x1e2b22ea302597bfcbcfdefcda48b60e35fce9c70f46c6cb90fa6db6e8d4dc6d", - "0x28fab93b8cd28d8d2a993badc3d1a080902feecfab019dc7c00af0ea9f6f403d", - "0x104c4c81c135af94af35a1eeb49b1262e5c53e25ee513731ddeb9f6496eea2ab" + "0x2e6635123c11ea371de1f0de5f7297edba9bd1ee4419a2baa9017834545196cf", + "0x22d45c5ecf33caca73655293c9c044de949350fbeb99751edee46bff7266df18", + "0x00aca686dd1494b88f1e99b9e0bf383beca6e79ee2fee64787081f71b3b55667", + "0x1c314fd1d2ed42ff85cc036bea4bd2fb15d110b6faa48ed8b0669dc30c94dbbd", + "0x2df45aed68ae9a8905fbe509e7f8d23f2fb5e9762f55c254e7f88c49b0506ff0", + "0x1195fd070cbaeed0ceb7aa9e8a9e5fee29e5ed025d288c9a56324d21601de372", + "0x001e27b9bc0a61e287574cfaeb9ea8a875daeaa683218bb33d95706d602269ba", + "0x0f4d2a7c2cdd6d3437522a159d3cbdda6402e5a5d7a9a1ac24f82727330bdbdf", + "0x2c2c768c42de26d71a1fa968c89abd1759a227ea1d15c124f45b20debc4320ea", + "0x1310ad0816e6c567cc27b94659907153bf9da9325a909ec25551a80f11b1bcea", + "0x0172c17ffcac570994c8a7f61065d71781221f210cf9931696a8acd553e68995", + "0x23e5bacd81360b2de450b8e39300120dc63d6312a525b0ebf2dea8f312d27fb3", + "0x1fba8519bacf0550c03873c8575c9f820db6d1b877e27f4e1adcaa0471394f95", + "0x03550ee6245d89cb2586fbcccd88e8052c64379c7e19103dff6bc53bb7a72aa5", + "0x2f530df6da91d1a2a47cb71cf6cb966b5253f4b412a454dd87bdd6a141eeca71", + "0x139da0492d7abf2cc4f359067e959399a31cb8b685c447eeb85ebfdb4faaddbf" ] length = "0x0000000000000000000000000000000000000000000000000000000000000010" [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] fields = [ - "0x1b7f52b7a346b47077bab6835a0810e5d75e977fc3f3fbb0436055bcdaa167ee", - "0x2320e89fb76918e7dc48b13861302dbf78af5ba8d5a20da77d19781ac32b9bc2", - "0x2a99619c0d4d380dbc3d53d03ed35011aa9c296a507fabcf712f43a0e5a10850", - "0x02e5d98e7dfbe7653dafb14afddd7e00f403b5a60816d7ab961823bd3cc4b628", - "0x223b37d6caffe87e91cddafdf65c4f641a609ff13350d02654b0fed1443088ab", - "0x2846b9aa4544f8f8851554f5d0c189c188756d734112e1eedd6840c8aeb0e66f", - "0x21cda3f228d55fb1b37f2b7c7a5d42066007143db17645669521ff58956fa7bf", - "0x1d8d79951d7389e5f9dfa963f93e399aebaa346e9ce3b3a5da1b45e4600a1553", - "0x15eabc8ed921f60621fa4fa35214748a7593f1c06a1e66b76092f789b4960bc5", - "0x16babb28d68725cb64d6d7558d49fb921c480359488fcdfb5292019239a50563", - "0x015e561b49da425d081b87bac01336defa1e29ee50d01b7be798ac28e05b24d6", - "0x04bf1a23807cb0711511a6140caf195df55fcf029842652243034ae2ca740648", - "0x2789cc422a86395739004c513cf6a15024e3adf5f2e238b18e1b4f1211a9383a", - "0x00c4e950cfe804e8a3623fe768c82b7340b0216f93c00351c53e2144364cfb51", - "0x2fd9827b4118b7ef401dff1727785e46fdd31947d2e733f4b39076f43652c18a", - "0x158ca7fba6e7fa7b3eb7c062751182d93b4e36b5c77d2e609e246b810650e59e" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000010" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] fields = [ - "0x07d20bd951900d3094f2894e3c76c117114e3150dc3197e9e325e42b4487c6e2", - "0x127157561e774918ba656738fb61ad37f92086431bd4f1e4842ab11928b0f8d2", - "0x2e5cf59c8f2eee7a06d14cdedb8fe58945357cb16f4c792094325909a12924b2", - "0x0e29376c31f2aa7a156c6ce6d1fc9529998251d8500604658f173ff86adffa98", - "0x20761b8be9a186cf6a1730b8a1e99049a07e45c005e66d27b6e0ef15a2833e2f", - "0x1adf679b2441cf3535241924a35164cf8309256721e3f9fcb860bc2acc462b46", - "0x06a613741497b7b7ee978a495bfed7d19bbf76c462d268cee17a3920b1b1abe0", - "0x10ade06e253c1cfd65f24246211fb703c157fd9b563ffaf6ab01b6fba4635155", - "0x2311c6b104555d4d9afc7d66be6b47a41f8aa96eb77f613a75fc952da5975ccf", - "0x08431c3838d7ad6198c1d33ff138953ace3520551bd95b69692609ee11ded216", - "0x1822c33cf8097138c896bb9f7aad7def909a6859d5e640919fd16ebcf153a0db", - "0x11203b31ef49d39fb85a5ea474116c334c156091ab468493a480f13ad1ec1849", - "0x207a4712bacadd2f631fe253cb62932a7acb586dd6dd1b10e0fbe733f61a8f11", - "0x2c862b0eb14b1325a0ca63dda4570f718541d998fb4aba96339b7913b80757c9", - "0x1bf17ee7d3cf2487dcf1eb7a3647b0920c9e68aacc0a33c9a424d4ee6601ded3", - "0x2c70c9b7da7d7df78fcae182d124d7041209070f76d920e5d5c2d7590c385ea1" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000010" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] fields = [ @@ -6048,22 +6048,22 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.hiding_kernel_proof_data.public_inputs.gas_used] - da_gas = "0x0000000000000000000000000000000000000000000000000000000000000760" - l2_gas = "0x000000000000000000000000000000000000000000000000000000000007d76c" + da_gas = "0x00000000000000000000000000000000000000000000000000000000000002c0" + l2_gas = "0x00000000000000000000000000000000000000000000000000000000000722f4" [inputs.hiding_kernel_proof_data.public_inputs.fee_payer] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2" [inputs.hiding_kernel_proof_data.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000004" sibling_path = [ "0x242211eb4067563a1667c912cfa2492c7b8bcf5e2b97fde4d26fd9bef12ee5f8", - "0x0e20194c2fc70cf5d2006345608c9f5abc7cdaf2cebe11870301359962bf326e", - "0x08c3364c5142d8fe956b12902940b54a7be36a42ce00cfc5831385a9d55cbe99", - "0x166399703d23a5c22febc6185f8eb93c72b65906eefef226e643c35fa0022adb", - "0x25f6f5fc25ee815cef59a1889f1e39db3d431d01b01ee1554f9492afec9d41d6", - "0x28650667b92be48b116289119fa4794a5fe8fe5792a49d89b9977feae7f685a6", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x0bd0a68a914cc9453fa207323a819e6b1f4f432a1ea1e3185a55ef85fd1d4e68", + "0x1c3b50ab3c647b6d36f1830308d4542ce50afddf32694ad04eb0cd74c3745ac8", + "0x09ef85eaa102507d30f8dd98ca7ac4118e672d857aa409ddcbfcd5ead95566f9", + "0x1256e2d7faae3069ab6b6eeecdd2ca57f968531ba26c9523d7873d1c01d8a712", + "0x130ead05bf8609707d66dc246899574c8d5f3f60fdc65b3affa4dfdd50c9c602", + "0x175bb0190a44c00aa0f83b47bd63259e980f01e24e9518b9bb8abd2c25e49a02" ] [inputs.hiding_kernel_proof_data.vk_data.vk] @@ -6215,16 +6215,16 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" hash = "0x0adf07f9ae6efe161812ba23ef36c864880bc3b0a8461ffaf756f4400c7e9f80" [inputs.start_tree_snapshots.note_hash_tree] -root = "0x1c223e428d6faa36822890e3b99417ddf73ffb069bf4c44b6ae9d7fc741733f6" +root = "0x1ebd1f6284edfa586309202f29d58f8211b22ad55f0913e7a61e37e8f558c52b" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.start_tree_snapshots.nullifier_tree] -root = "0x01c778a6b3dcb1245bb0aee174252dd95256e67309f952e5d2f8cbafffe20d0f" +root = "0x1e42767e9c9083af802ea9f53b7957180260f8a4cd73a99b61551c292f090fbe" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.start_tree_snapshots.public_data_tree] -root = "0x134e44df49ddb89525046d19bcfc2734c78e419994de9d6f7467eb84d02d1060" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x24d209b2c68b99743e478e8ff0ffe01bf8b627abb2c72b2d74253277ffbe26a0" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.start_sponge_blob] num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6249,7 +6249,7 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x119f56a2e8423a7feaab49b9b5dcbadec0648dfa4096b61b6774ea33ae29dc7f", "0x221cf368938c74e4fced9dfb2a8e37cd8a6c57d21385c249f0b5c2412341287f", "0x2c5214dfc4d70d2619fce2a7e02ddcf380576dca42b66c9215c7d8d1ec154116", - "0x1b250005eb96ff625256d16bb83fedca81f8952f06c2d3031636c0e1d8c9fecd", + "0x096edd31a317c6cc09d90028076aa45ef130565dd27e9d6bb76ede7390bb505c", "0x0d04c63f36bd168215c9b09a227c7e8d3ad48e2f11b8202fd07c524bd30ee88f", "0x042c72d0ca208f0631ed947050258333518c26059f0a2ef041e933b1b2a6d8ad", "0x00c21235cdc5d4241fab782680421cdd99c088a3b48a740d8289d0e67b2ee5da", @@ -6284,9 +6284,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x08c286d5f8584ac20b64b63f763d4ec37d3fa13244234a3280f34bbc70a32d53" ] sorted_nullifiers = [ - "0x282b555a2f009837bd02f744ae119250934c991464481b5613f7f2112a615f7c", - "0x1cb96ed0bfe97ed05e23f013062425e5ce6599fb6430b162e69edfc317d5bf82", - "0x1567c8c1ff81dda9727361df23c92849c46772567aa0bf3723db03c3751e9d2e", + "0x15664292cc693dcb31f3638ce704a65d0776e3d3a3a0138517913a429ea63c4b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6351,8 +6351,8 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] sorted_nullifier_indexes = [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000003", "0x0000000000000000000000000000000000000000000000000000000000000004", "0x0000000000000000000000000000000000000000000000000000000000000005", @@ -6417,9 +6417,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] nullifier_subtree_root_sibling_path = [ "0x09166b559c0f096e897bb202971954b6c576adc978e55de25b96e97269f0e461", - "0x0362ef192033d8dd7561fb3d5599ffef50988df3dfb2d2a62db522b4dd468396", + "0x0e60bad1964713fbdd46c647c5eac792cc80a557602143931b895d1cd0367840", "0x2e5d15ff444e6868f293419113070aae8ce133e2ab4d2705a6a696caf2a17e21", - "0x11b6672806903af07ce5206700433633952804bd3668e15fac8868f0695bed72", + "0x2e7e6d33d178e492419788f2c1939a32602095f55adab3b2c2a8862f6d5a2981", "0x2842a7e5a723d69a6f6c088fcc7b2e289173ca583987359c712c15ee44806960", "0x2bc8d89815dcd02215ab5a89956f9743a205a7fd71e002096d7c250ffc3544bf", "0x01d2012039a4d9492bb83367eead0282083ff9011b9c3884c96022f90dcf7432", @@ -6455,19 +6455,19 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x20847724d5be09ca0af6e9b36ec5ce1147d557c6a4a2c61bb2aa4d62bdc08e66" - next_nullifier = "0x2bd24d9521cfcd8b14bb5f749a761545f4fe94dcc56618d57bcfea385a5db168" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000145" + nullifier = "0x14a78fd09108f21352c459933d7249a29259439d15d464562ffdd3e76d9c8a60" + next_nullifier = "0x190fcbb9384f74f5537b08d81102312ba13fea5a3bbfa55589497863ca3c05d4" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000100" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x1b292354acb3ba526050467dbc93d2d505c80e73a41b7d2fb0c09cd32d03875f" - next_nullifier = "0x1ceec3511b2489568c8344be81e970a769044dd97be95562536c6867e09b8677" - next_index = "0x00000000000000000000000000000000000000000000000000000000000000c1" + nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" + next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x1546bc72fd1c9f595cc29ec322397f0c1306a17f5de02a12ae937e48b30f316d" - next_nullifier = "0x16c07a80d3d164d5d8082a5dda9fb5d5f0de35fc2bc4ac2fa36182ed91ce381f" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000146" + nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" + next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6775,18 +6775,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "449" + leaf_index = "327" sibling_path = [ - "0x2941a7272bf49125b7e5c8f9c8a06939064d366f933f8ebfcbe4257716243dad", - "0x19b8970c3845d2244da0851d0f9b631fae6156a9846a5598a0216fb537fb37d9", - "0x1fca8e5d48b8e1a70cb333a4f5ca28a3355ec77b582acf926a4a17d42c31f776", + "0x11e4524abf621361d914b2e2a9c620e31e8c611d5c9e2dae20810eb13fcb4d3f", + "0x0ab52f1e5cd20bd58359a914345e5aa1c07f92b3ff66c9549637a8029eb7c875", + "0x0b1235834e142a7ca83f6c68a977e24e5101e53b2288fc95dd63456f0d3c3724", "0x218d6b91b3a210e878d135aab2560fb2801db442dbd439ff2efd1fdfdfeeaad0", "0x0b926aa38fc854f094d02c0b719a75e50a7d4a0ef11685217c6568095b41fccc", "0x09c18d449a07bd072b1eb2b042e466fde1f82f740d57ab0ecb3ff368b3868abd", - "0x0df0ef1adc3691e5553b5304a971c203841eabef3423142e2e3c0bb4cfb01a82", - "0x233e166aa2a44dc5f9bcfbba514493bab8b8a00e3dd56e0d813888f5d06203f8", - "0x24bd80edafc13493c1edb17a018f34698eca5bed3b768dee95961dc577560e4e", - "0x29dbd0f2b5aec42761b1d801d1f899352dbb3b8c358abbf17c97069b6827de9e", + "0x130e440f3661265e95d02c65c164bca11f068700d185c854e8d8d249c88ff343", + "0x23777262752a110196cfb8aea4336fcf72709e5aa223ecdd70026cdced152de2", + "0x022583491e3efb346bd1c50a927a25b3cbcd82418dda6780c05be0e5654cdca5", + "0x2d8d44b58b661a6bf00468c07860bc5742006d7e6b1749d9a049a18376e80500", "0x2842a7e5a723d69a6f6c088fcc7b2e289173ca583987359c712c15ee44806960", "0x2bc8d89815dcd02215ab5a89956f9743a205a7fd71e002096d7c250ffc3544bf", "0x01d2012039a4d9492bb83367eead0282083ff9011b9c3884c96022f90dcf7432", @@ -6822,97 +6822,97 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "327" + leaf_index = "0" sibling_path = [ - "0x10ef06a0c859785e8d7fcbbf7d1a624f045c1544816d195838405eaacd740010", - "0x2573a0e9cf295372545c619b8c9329e46b01b7ab974cec3bd12def9098d16620", - "0x08db730f7a5e1eed62556f1a919321b5e4f5ab9cf68cd8982fd80e1cadc6369f", - "0x218d6b91b3a210e878d135aab2560fb2801db442dbd439ff2efd1fdfdfeeaad0", - "0x0b926aa38fc854f094d02c0b719a75e50a7d4a0ef11685217c6568095b41fccc", - "0x09c18d449a07bd072b1eb2b042e466fde1f82f740d57ab0ecb3ff368b3868abd", - "0x259490a13493a82580afd12e91ff42f23d398b46827e29d819e2a64dfa907c47", - "0x20b151f51c25e2fbf0e6eb3c22eddd39b87ca1836592ed50d5d8fd3b489ee69d", - "0x24bd80edafc13493c1edb17a018f34698eca5bed3b768dee95961dc577560e4e", - "0x29dbd0f2b5aec42761b1d801d1f899352dbb3b8c358abbf17c97069b6827de9e", - "0x2842a7e5a723d69a6f6c088fcc7b2e289173ca583987359c712c15ee44806960", - "0x2bc8d89815dcd02215ab5a89956f9743a205a7fd71e002096d7c250ffc3544bf", - "0x01d2012039a4d9492bb83367eead0282083ff9011b9c3884c96022f90dcf7432", - "0x1778f17c8e296c4932de3439ce9789f59b83d5d3b856937f72a288ae1bc374af", - "0x095c78afebf8964a4900d8fd66177a0984fb2edc4f356630aa51f907c85e84a7", - "0x046adaf8a40ea8887051610d6ab46dd6b048b5d9c53059df80986b5bef657f6d", - "0x1e11d1859ad659a0335c8fd61dc426014864e5a55bcaeb257f9d227feae35f6c", - "0x0d5672a31f96065cfd886a178fb8a68f39359e072cc46059f829646a54bd5fea", - "0x002d4f87866c996c7cf08f9f2586b9352c6cb232f63f1f409442e79544ed1fea", - "0x1ae0d30f052aa078af8db1a19c5b29221eede6254d8456d4cfee32c7a1b65478", - "0x1081707dd8a7f5c1a530083104d13fea9af029da4d2e61245362c1f3ecf48196", - "0x15e1c98c82aa0a3259bb22b05652d09fd002a68bf0e1d7653bf43e362fd9ba1f", - "0x27f95c7a4ac6c88c7de9875b118e512b5e2d37a2831fc024f8a19b8bdc93fdf7", - "0x2554df241c43f2f76d7a85046a677f6d9427a26ac0cd46ac0b50c4ed838a674b", - "0x2f195708750d44098049e52b6adfde393658f69efea5a667ffee73f6cc80aa50", - "0x0b7a6d34dcaea7f093ac0b9772051418f48daae9bf84cf17f70a296aef62ecdc", - "0x1b653bd3cc2dfcf3f3b3afb2d217a9b88780027696d7768efd448c49a19f8224", - "0x2df1dcfeb9b7af5dcb96a8b534dd71ef3d552a4137be5614178cc1495f7f75f5", - "0x0f0331f8536e68b278f5de7801c132c4147fdfaf87315d527d151ae390381ece", - "0x2f2d601c41f429882eba885efe4ce645282a3637cbd0ee792e1ac739039330b6", - "0x0d516d0b39971ef19fe22dd4ec75c46671f4565bfb058d2680822b9553744dee", - "0x2f2b3594d5c121e620d1c673958d592972294602c0f3e4fe3492b49fc8ee9b0b", - "0x16d9a5f4522dfbf3ffd8faa23855178b54891fa521cf64dc8b2ce9870443cb08", - "0x248a6f54e4dc5bd76713782a6b65b972110f1892ef8c95cbf20105b6f12f207e", - "0x08b23d0504724cba951bcc67ba6181d9a4fd3a8b214095edaffb0d7c8db16dd9", - "0x12660ba2b4cee62a89cbf769915ebdeded1f9b6e6ebb843944ec836659c9528b", - "0x0eb5f9c7ca6420724b0fc9b01a3662e3fe6f51c54d3978a61171326bf3ee92e3", - "0x0fbea79b7a5d8b5e9d1177db2431cb7882995d5ef59bbf97e0e20b5ae3288c40", - "0x05b719cf2bc233946ac8066663c68c9fe008f7fe6c22711946861ddbd61ab5ac", - "0x05fe8d565aede597081b80f58cac87763f6c9ee43a7ab0a5f2b6baa3a97802d2", - "0x2fca418f250f4226d90e9c46b86a7fde2b88532fd817811a5de8b9c5bcac7298", - "0x06c52a2b4d052ab23fd5106d1e8b198fb13c934bd5a27f7e06bce496e1c6c205" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "448" + leaf_index = "0" sibling_path = [ - "0x09828dd1f15420f5ae235412b7e16ecbce1b932812b73b7564e762bfd566f9a5", - "0x19b8970c3845d2244da0851d0f9b631fae6156a9846a5598a0216fb537fb37d9", - "0x1fca8e5d48b8e1a70cb333a4f5ca28a3355ec77b582acf926a4a17d42c31f776", - "0x218d6b91b3a210e878d135aab2560fb2801db442dbd439ff2efd1fdfdfeeaad0", - "0x0b926aa38fc854f094d02c0b719a75e50a7d4a0ef11685217c6568095b41fccc", - "0x09c18d449a07bd072b1eb2b042e466fde1f82f740d57ab0ecb3ff368b3868abd", - "0x0df0ef1adc3691e5553b5304a971c203841eabef3423142e2e3c0bb4cfb01a82", - "0x1cf8e3ee3a38d1b5aa62577b1820cc6a13b2bd9af440383c958fb833e05e831a", - "0x24bd80edafc13493c1edb17a018f34698eca5bed3b768dee95961dc577560e4e", - "0x29dbd0f2b5aec42761b1d801d1f899352dbb3b8c358abbf17c97069b6827de9e", - "0x2842a7e5a723d69a6f6c088fcc7b2e289173ca583987359c712c15ee44806960", - "0x2bc8d89815dcd02215ab5a89956f9743a205a7fd71e002096d7c250ffc3544bf", - "0x01d2012039a4d9492bb83367eead0282083ff9011b9c3884c96022f90dcf7432", - "0x1778f17c8e296c4932de3439ce9789f59b83d5d3b856937f72a288ae1bc374af", - "0x095c78afebf8964a4900d8fd66177a0984fb2edc4f356630aa51f907c85e84a7", - "0x046adaf8a40ea8887051610d6ab46dd6b048b5d9c53059df80986b5bef657f6d", - "0x1e11d1859ad659a0335c8fd61dc426014864e5a55bcaeb257f9d227feae35f6c", - "0x0d5672a31f96065cfd886a178fb8a68f39359e072cc46059f829646a54bd5fea", - "0x002d4f87866c996c7cf08f9f2586b9352c6cb232f63f1f409442e79544ed1fea", - "0x1ae0d30f052aa078af8db1a19c5b29221eede6254d8456d4cfee32c7a1b65478", - "0x1081707dd8a7f5c1a530083104d13fea9af029da4d2e61245362c1f3ecf48196", - "0x15e1c98c82aa0a3259bb22b05652d09fd002a68bf0e1d7653bf43e362fd9ba1f", - "0x27f95c7a4ac6c88c7de9875b118e512b5e2d37a2831fc024f8a19b8bdc93fdf7", - "0x2554df241c43f2f76d7a85046a677f6d9427a26ac0cd46ac0b50c4ed838a674b", - "0x2f195708750d44098049e52b6adfde393658f69efea5a667ffee73f6cc80aa50", - "0x0b7a6d34dcaea7f093ac0b9772051418f48daae9bf84cf17f70a296aef62ecdc", - "0x1b653bd3cc2dfcf3f3b3afb2d217a9b88780027696d7768efd448c49a19f8224", - "0x2df1dcfeb9b7af5dcb96a8b534dd71ef3d552a4137be5614178cc1495f7f75f5", - "0x0f0331f8536e68b278f5de7801c132c4147fdfaf87315d527d151ae390381ece", - "0x2f2d601c41f429882eba885efe4ce645282a3637cbd0ee792e1ac739039330b6", - "0x0d516d0b39971ef19fe22dd4ec75c46671f4565bfb058d2680822b9553744dee", - "0x2f2b3594d5c121e620d1c673958d592972294602c0f3e4fe3492b49fc8ee9b0b", - "0x16d9a5f4522dfbf3ffd8faa23855178b54891fa521cf64dc8b2ce9870443cb08", - "0x248a6f54e4dc5bd76713782a6b65b972110f1892ef8c95cbf20105b6f12f207e", - "0x08b23d0504724cba951bcc67ba6181d9a4fd3a8b214095edaffb0d7c8db16dd9", - "0x12660ba2b4cee62a89cbf769915ebdeded1f9b6e6ebb843944ec836659c9528b", - "0x0eb5f9c7ca6420724b0fc9b01a3662e3fe6f51c54d3978a61171326bf3ee92e3", - "0x0fbea79b7a5d8b5e9d1177db2431cb7882995d5ef59bbf97e0e20b5ae3288c40", - "0x05b719cf2bc233946ac8066663c68c9fe008f7fe6c22711946861ddbd61ab5ac", - "0x05fe8d565aede597081b80f58cac87763f6c9ee43a7ab0a5f2b6baa3a97802d2", - "0x2fca418f250f4226d90e9c46b86a7fde2b88532fd817811a5de8b9c5bcac7298", - "0x06c52a2b4d052ab23fd5106d1e8b198fb13c934bd5a27f7e06bce496e1c6c205" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" ] [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_membership_witnesses]] @@ -9783,16 +9783,16 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.tree_snapshot_diff_hints.fee_payer_balance_membership_witness] - leaf_index = "120" + leaf_index = "118" sibling_path = [ - "0x13d5c2f78d433c774b2f9be7bb5d666fb8fd80452d0896af987365d04f9f681b", - "0x25f3536c3eb76fd96d5ccdde3cbbe50f5548e23683bf9f2cbad67f53d10537bc", - "0x2835a744c1a26d89fca8be670b7b8d7a2473a3eb7fd72bf533a007d6cc443772", - "0x2d0726c97dd7add62ef5c3e71e02ff90e76079e2650f2217ec0fe5e678b0bb8c", + "0x013c095d61087adcef13cfdeb887287dba3806baf73093ee460023cfb7730f22", + "0x060b5c8a3d6c10c09c2c4ef7897592f838ac2433c4ca664adc73ae6bf507aff4", + "0x2523970382de270c1acd87f98b4ed454353257f9c689dc608f7dc1b6ca23741a", + "0x12bef12e0e192e65178ebf9707e29797e5afdace0a42a17d796d1c40e5b7501c", "0x2edd4e68944dac758244213037fbe9d622c7c28d6070f16862b3e8986090bee4", "0x1d5ea1a288ff1ff4cabceaaa2f93eda378a5fb0a2a55423f4d4d205969181931", "0x23b80d0ef13d744a52faabf5651164d28f7faf902653e41a35472eea87936e6e", - "0x27c696ad87d2ae17e4005225c67d015eaca8a9c6e97dec181f97f15e2c1ff894", + "0x1ff2ba9f5f44162476e89f994a79debf4b9af550a887b5b484d18f5997553566", "0x16c8aff52f0422f4bfc502620fe15dd6a4de67637563b7a8175f2d5727d268a4", "0x1c76b6744bc3d6b1cd4b53459a08b4959643c0768fde657299fcc82e2732f744", "0x12a6fac0fdfbd7897d8fe955f454cdb309ce8597d647ebfd0ba614c4eb215581", @@ -9828,18 +9828,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.fee_payer_balance_leaf_preimage] - slot = "0x12d1296a2643b832fbd1d6d3ed3678833fce770084efd75adfd517de8214ccf3" - value = "0x00000000000000000000000000000000000000000000021e01deb310ea6e1140" - next_slot = "0x133d35b9030a815b221f9205ef080f220fd8ba968e9bd88b60033b4854e100ad" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000085" + slot = "0x041ecbe21bbbbefd34a95c40b18be9f5fca1323072eeea3a6f5d0136c2a71969" + value = "0x00000000000000000000000000000000000000000000021e0219674fdaa32380" + next_slot = "0x07e3196f3e5be886c078da1e359a784f0451f3b454344a3c6482a090708f2547" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000087" [inputs.constants] - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" - protocol_contracts_hash = "0x0333160f082dfc02e255c756febac14dc42c4c88b882e0403d44710c1f0bb80f" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" + protocol_contracts_hash = "0x2947d6ab285fab4b2cde4c027aa22c2146ab8470fe246c99c958116105ad615e" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.constants.last_archive] - root = "0x00f30d99838de8d9e0b40bb5f19c53ebd2cea2e4e324a6b48a4db2655906ad63" + root = "0x24b436e53660fa0ce7ece2c6a741d91157cbb61a10885ac29d14d58cd3180af8" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.constants.l1_to_l2_tree_snapshot] @@ -9848,13 +9848,13 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000041" - timestamp = "0x0000000000000000000000000000000000000000000000000000000069fde078" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0b2dbf" [inputs.constants.global_variables.coinbase] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-public/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-public/Prover.toml index d2414328ae1d..41eca05ca9e8 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-public/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-public/Prover.toml @@ -1,9 +1,9 @@ [inputs] anchor_block_archive_sibling_path = [ - "0x1444237c68ff756b5bcab6ef4b010657fbc4911b8a806638579f1df27f6e43f0", - "0x048c76bde3b9047f9f34f7fe8811109eafa422f663c1825d2399df06f4f11689", + "0x09ae38c4bdd7cdbfee06b35cc61272ed229c502820948e040a4acf7081f149e0", + "0x162a8906e43df2f5e1ea3d0d32a2ccdcd0d4581e5307025f0796d0b64f937d13", "0x14e4b977b2203b70e6ee1c2456eb7114d090fe4b907f631eecd0919fed432e7d", - "0x2b3b2f80ea4227dfe7ab4edec33942ff08b95b023d6d15efb0abde90594c993b", + "0x08ead7d93a6e0ab74b47c029605a16640557a4c3e830a2f6294aea4559e5325d", "0x1e20ad4181460cbfdc74ca773502c59b890f184efe300ebad895956d318422da", "0x1434e6e2d5db1053ab8a3be58704509c799ee17e109c77f441f7bf1755400249", "0x119f56a2e8423a7feaab49b9b5dcbadec0648dfa4096b61b6774ea33ae29dc7f", @@ -3547,57 +3547,57 @@ contract_class_log_fields = [ prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail] - expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069ff1b30" + expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000006a0c712f" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants] - vk_tree_root = "0x0c16448b65c4b3f83f9db3bebf635bd38957c74c9c1ea36036cbda16432cf558" - protocol_contracts_hash = "0x0333160f082dfc02e255c756febac14dc42c4c88b882e0403d44710c1f0bb80f" + vk_tree_root = "0x17276f417e92c8fbe3f6b33784b982b5f9616034e7b092140f1d53bf11e7b27f" + protocol_contracts_hash = "0x2947d6ab285fab4b2cde4c027aa22c2146ab8470fe246c99c958116105ad615e" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header] - sponge_blob_hash = "0x13a1bf44c19e7c2eb7fc1a96527d072cf424bc99c760e392f4abcecc1fc597f8" - total_fees = "0x00000000000000000000000000000000000000000000000002b26ec5db7a7140" - total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000a3979" + sponge_blob_hash = "0x07b265010fd2cc21c16b1d2594ca99672e2cfff5ca81945b3a0831755b42379f" + total_fees = "0x0000000000000000000000000000000000000000000000000035dd7429a09780" + total_mana_used = "0x00000000000000000000000000000000000000000000000000000000000722f4" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.last_archive] - root = "0x0d18996e508e8c1e51f6a56652cc5d71169450ff16c25de9af7f79af5385e334" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" + root = "0x24b436e53660fa0ce7ece2c6a741d91157cbb61a10885ac29d14d58cd3180af8" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.state.l1_to_l2_message_tree] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x1c223e428d6faa36822890e3b99417ddf73ffb069bf4c44b6ae9d7fc741733f6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x2ec6c12dea917fa19ec74a89fa547c25e2894a67f1d0f6b816fb105662287c8d" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x01c778a6b3dcb1245bb0aee174252dd95256e67309f952e5d2f8cbafffe20d0f" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" +root = "0x144143122fcbe95a5aab0c5c25ba91279b425eb8f5dff6ff7fcc2fd9eb65aa64" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x134e44df49ddb89525046d19bcfc2734c78e419994de9d6f7467eb84d02d1060" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x19208383914fedc1cee3bbbda84965791ab30ab104aca7d2f9131dd853eba7db" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x0000000000000000000000000000000000000000000000000000000069fdd7c0" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0b2dbf" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.global_variables.coinbase] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000004386faeb40" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000030000" @@ -3683,7 +3683,7 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x09fac458f9e079d0117ef63746c55ce66b3e5d95c8420974d9c69f369b0d77ef", + "0x233e95769f6a7d3be5b0c68b13431ad2214bcede52ae9c10e340ac57871b65fb", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -7069,13 +7069,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.revertible_accumulated_data.public_call_requests]] is_static_call = false - calldata_hash = "0x16acf8ee72d77f214e5286307ed2710fda25445374c38debbef546a746b679ce" + calldata_hash = "0x00a5e40cab902df3efe088094577e83eb92103581c990f351edf1dfba3778905" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x16fc6ad8c94527d45832bb8631b0c1dedf3218fe7c3ca04e01850a3eff6a511a" + inner = "0x1be490a4b344f41827e94113f628fb311efc1abac19bc1e84b08fd578708964a" [[inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.revertible_accumulated_data.public_call_requests]] is_static_call = false @@ -7402,18 +7402,18 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000000903d0" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.fee_payer] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2" [inputs.public_chonk_verifier_proof_data.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" sibling_path = [ - "0x1b3bb563a5febae9302424bc9b80841523b8773b3e521fb20de577a64e78bc9e", + "0x0a7fb889325f39bec13ee8f853c529ad8458c39c703cf4277c5b066d8d2eee15", "0x0a2d5d1c88992fa153310bc96af4c750c81353526f8c7dfe2b069ed57136e696", - "0x08c3364c5142d8fe956b12902940b54a7be36a42ce00cfc5831385a9d55cbe99", - "0x166399703d23a5c22febc6185f8eb93c72b65906eefef226e643c35fa0022adb", - "0x25f6f5fc25ee815cef59a1889f1e39db3d431d01b01ee1554f9492afec9d41d6", - "0x28650667b92be48b116289119fa4794a5fe8fe5792a49d89b9977feae7f685a6", - "0x2aa74c20807e8cbb3e32a86ad29472c42a3fb7021dcfaad112a6b68eb0eca98e" + "0x1c3b50ab3c647b6d36f1830308d4542ce50afddf32694ad04eb0cd74c3745ac8", + "0x09ef85eaa102507d30f8dd98ca7ac4118e672d857aa409ddcbfcd5ead95566f9", + "0x1256e2d7faae3069ab6b6eeecdd2ca57f968531ba26c9523d7873d1c01d8a712", + "0x130ead05bf8609707d66dc246899574c8d5f3f60fdc65b3affa4dfdd50c9c602", + "0x175bb0190a44c00aa0f83b47bd63259e980f01e24e9518b9bb8abd2c25e49a02" ] [inputs.public_chonk_verifier_proof_data.vk_data.vk] @@ -7421,94 +7421,94 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000015", "0x0000000000000000000000000000000000000000000000000000000000000aef", "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x0000000000000000000000000000001a8ea793d4cdae748667e6cdeb797ade65", - "0x00000000000000000000000000000000001cdf44a19565682df1db9105c2cd50", - "0x0000000000000000000000000000007d45bf53693d1e5f8c726b3b9090a3bdba", - "0x00000000000000000000000000000000002ddd08200eb9544a216dd19a8b59c9", - "0x00000000000000000000000000000096b0edfeb3ee3338c818b6e462ae496f95", - "0x00000000000000000000000000000000001bb979e3cd7d8111d021237de30bb7", - "0x000000000000000000000000000000e785a70c5bc29de6993bcd63514b5b856f", - "0x00000000000000000000000000000000001b6701a1a9de0c4e25c2eee81fbfc5", - "0x000000000000000000000000000000ccad5e1b43ec3cad430d126196ed4b784f", - "0x000000000000000000000000000000000026c8cfeea88730a069f9f8aae45eff", - "0x000000000000000000000000000000f25307bf7ae8166628fb8ca2aa186d80cc", - "0x000000000000000000000000000000000022a312b7a1b12f670d059924fde061", - "0x000000000000000000000000000000cfa8bf07d4dd07bd309194ad43dcf460aa", - "0x0000000000000000000000000000000000167ca0ccc32845025c5a76273b1b08", - "0x0000000000000000000000000000002a2f6be8e93ea920cd14a7b043ef6ed5d1", - "0x0000000000000000000000000000000000277ea66800e42f0b7078688718305a", - "0x0000000000000000000000000000007f88f1687491d3f3326c737061282c2e20", - "0x000000000000000000000000000000000019f0c295284fc42024aacbd46f9ae9", - "0x0000000000000000000000000000008a6e059479dbef05407682d018e1d7fd0d", - "0x0000000000000000000000000000000000276f6c02388d41b068d36f0e4082b0", - "0x0000000000000000000000000000006fe39d9df6859556bc04a2847a62aad7ff", - "0x00000000000000000000000000000000000faecf34f51e503f9c5bdf6f57aca8", - "0x0000000000000000000000000000004b4587deb70388b513862ba57de24e4596", - "0x0000000000000000000000000000000000167c35f16800e5924b66b6c395c2e1", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000351e060c59f2f13ceb5c631381e110552b", - "0x00000000000000000000000000000000002eeb2d2cba09260a9e138d0d24555c", - "0x000000000000000000000000000000d3bae05ebcb86c7b4921f00e4c579e9c5f", - "0x00000000000000000000000000000000002d4be8ae9ebbf085739d2c52d2ab93", - "0x000000000000000000000000000000940377e34f17c5ad22102cca865bb574a1", - "0x00000000000000000000000000000000000a723717bfcee9dcb71e21b6de10f8", - "0x000000000000000000000000000000991a4b02291df9c14b77e2473315d673b3", - "0x00000000000000000000000000000000001e89b95cf6b2ad2506d684fc7b7a30", - "0x0000000000000000000000000000004022b331528bfac4bdb04464fc89ff83fb", - "0x0000000000000000000000000000000000196330867786a8c08738881b739ce0", - "0x0000000000000000000000000000009df8b221819ebf22dc413d730b0c8a1e31", - "0x0000000000000000000000000000000000276ed9c7e725f586bf3b0f7d5f1594", - "0x0000000000000000000000000000008eb30c526734ef3a740aea96282908f962", - "0x00000000000000000000000000000000001624f456603c219b9f79b39960c61b", - "0x000000000000000000000000000000b9e9ead3a80d73be248eb82b65a23dbaf9", - "0x000000000000000000000000000000000022e03caaedc42d8b4b100610f33723", - "0x00000000000000000000000000000004914aab219c2e5c1388d1c5b276006436", - "0x00000000000000000000000000000000002426e1277a7907df8ec2e0e609f0a6", - "0x000000000000000000000000000000508e79b26489525bf5386a5c910dca5a5d", - "0x00000000000000000000000000000000003063b87ddf8ff817e547fe4ac149dc", - "0x000000000000000000000000000000f106fc4afe6bda7761c0d4ed7ded72ce1c", - "0x00000000000000000000000000000000002547059f6e3ae71ef9efe2be7dc5c0", - "0x0000000000000000000000000000001c8589cec2b200eed912f3e76cf5562b2b", - "0x0000000000000000000000000000000000154c96e49bb18fdd1aed7abd315822", - "0x0000000000000000000000000000009c4fcdf6541a1a4fd3d01630e1bba3fad8", - "0x00000000000000000000000000000000000e2b7c9dabb30e63d6cb909551d6d8", - "0x0000000000000000000000000000003e17757fa84eda964303f6fea5cca55ef1", - "0x00000000000000000000000000000000001efc4c896804eb95a3b76060ee5db8", - "0x000000000000000000000000000000514fabf9f6c618a2c084e1e9e64393459d", - "0x00000000000000000000000000000000000e851da603a179ea88a694100ed72e", - "0x00000000000000000000000000000081c7f92e6390c9fbe0627a879ecbd8f8e4", - "0x00000000000000000000000000000000002378d597dead1c2952534dc50aa04f", - "0x00000000000000000000000000000033435458f18b0436847ac2652e1aab3a81", - "0x000000000000000000000000000000000010f0f995d2e1ddfc2e2820abac64f5", - "0x000000000000000000000000000000cdc9c148beeb2652667b2a4be097432e98", - "0x00000000000000000000000000000000001790fa444ce77b0f17ced05ac77644", - "0x000000000000000000000000000000b4e0fa181577e0fce2a73e33cb1c7ef76a", - "0x00000000000000000000000000000000001248979a0b4c713d52467ef1091214", - "0x00000000000000000000000000000078b68a818812e294d27ed5173181eca67b", - "0x00000000000000000000000000000000001202f015e527e07bc8aa3b29bfc68a", - "0x0000000000000000000000000000002e37c769468f1d3bd64860032eeec60c95", - "0x000000000000000000000000000000000013a9a82892cb1b4ba982fa96f6fe5f", - "0x000000000000000000000000000000a4f97445c3ce77b60a4f89e090ed25f90d", - "0x00000000000000000000000000000000001bfe48767b9d9852929fd6c6ef7489", - "0x000000000000000000000000000000009788ffc458269e32c68d8529122209c6", - "0x00000000000000000000000000000000001ad94133da104b491b0533c283058d", - "0x00000000000000000000000000000082943f7e3e8277c5573c7bc01ee756e08e", - "0x0000000000000000000000000000000000093e0b3b3b286763d72202e7d89bd3", - "0x000000000000000000000000000000661e1803122d810a714ede90be3cff69ed", - "0x00000000000000000000000000000000000d11450f56fe63fe8dc9c9bcf5e0cd", - "0x0000000000000000000000000000003bbb3abba3a132e8d8f45f371281a8162a", - "0x000000000000000000000000000000000022484ddb85caad7259d40a2feaf9f0", - "0x000000000000000000000000000000d5c60aad9d3206ac85c01b2bbe07bb882c", - "0x0000000000000000000000000000000000064dbab19fabf630e0a01c9c644f28", - "0x0000000000000000000000000000000c6d39a6cc1814cb9c474639a2c85d7696", - "0x0000000000000000000000000000000000052e9746024ad3039b28344dff0160", - "0x00000000000000000000000000000082d5e3a922fab44e31d4948721b4c26f6a", - "0x00000000000000000000000000000000000209322634f0a5d2a3bd73f1e3eefa", - "0x000000000000000000000000000000ae542b5e28179ea83bd48b32d82857e6ce", - "0x00000000000000000000000000000000002e46a1b641046cc74f095ebc925043", + "0x000000000000000000000000000000b684f3822d696c3ecf484a7fe34791f63b", + "0x00000000000000000000000000000000002e9cd7590551679f2745acc9a6166b", + "0x000000000000000000000000000000c0fa18a8ea0c5477840072169c70c27083", + "0x000000000000000000000000000000000006fed68edbd8843dd0ab879a772fc6", + "0x00000000000000000000000000000026e7b1ee3942c1a107eb829a4a1fa2804d", + "0x000000000000000000000000000000000009789bf7546013a4f03234c7cf7806", + "0x00000000000000000000000000000008b9a37ec6fc3442e0c17c53d3e10b0b85", + "0x00000000000000000000000000000000001ec5dc87962d6200825abf3d662edc", + "0x0000000000000000000000000000007d544b6605780427b276080dcba2d3a6b1", + "0x00000000000000000000000000000000000e462e18915af1093432e4b54d56b5", + "0x0000000000000000000000000000002d05ce754d8790322afa554bb538c82ce7", + "0x0000000000000000000000000000000000217fb463fb96af6e79b1a94df4de2b", + "0x000000000000000000000000000000988e396bb90b6bb7bdbf004d58ee206dc7", + "0x00000000000000000000000000000000000ba1855ea83b7c95ca53b8080e4d9a", + "0x0000000000000000000000000000000542d08371517becedf53f97ab311ed352", + "0x00000000000000000000000000000000001da797344377e013d7ace7bd0b582a", + "0x00000000000000000000000000000020166ea9997b1c239d34547f165b8d5982", + "0x00000000000000000000000000000000001850619eba2054f9f41324786599c0", + "0x0000000000000000000000000000007b9e1bf48be054d6a7281d9aef57fa66c6", + "0x00000000000000000000000000000000002a965ef9ba89270efb7a138db9f3a5", + "0x000000000000000000000000000000b8eaa90b65a792f984baa676b46045473b", + "0x00000000000000000000000000000000002bdf1ff1c21dbc118d6b878d504e6d", + "0x0000000000000000000000000000001ff7882b2fdd2ca32c857c77a380501a10", + "0x000000000000000000000000000000000005d51203c3526df0478a7275d46c7b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000598c8acc7fbfa779ed23372aba38bee64e", + "0x000000000000000000000000000000000001984ff4c3c19be7573bd5bb20b210", + "0x000000000000000000000000000000cd57f43bdf29875704dbb8e152f13aa037", + "0x00000000000000000000000000000000000dd55c58c84f3d5e854644f37177e4", + "0x0000000000000000000000000000001f02ca88c525a96b8563b48a7aabfc6b24", + "0x000000000000000000000000000000000002c93e0923d1b6d1e60d43a3928487", + "0x0000000000000000000000000000003c44cb74e2b6818ca4c75759ea23191cdb", + "0x00000000000000000000000000000000000e4db22c7616ee8c3c75b705bc7668", + "0x000000000000000000000000000000cabb69affcf99d1cc46c03c4140cb33f47", + "0x00000000000000000000000000000000001c15d7c93bbec9b2c897220b1c1420", + "0x000000000000000000000000000000090d5378c110fa9fd29af632a34cf84470", + "0x00000000000000000000000000000000001c8f5e33fd9b7841bda781b9a1a2af", + "0x000000000000000000000000000000b268933977ad81d4b2a90d89d86fef1cd6", + "0x00000000000000000000000000000000002f05ee0ba26ee4625875220a4e9f51", + "0x000000000000000000000000000000b79359439c800d1ff8759390cf8e9877b8", + "0x00000000000000000000000000000000000907e60e1332a9c7d1543b5429af59", + "0x00000000000000000000000000000084be3aaaa5d4b2ce869b94d84b180886c8", + "0x00000000000000000000000000000000002bf2641799eea22ca7c17fcd0170bd", + "0x000000000000000000000000000000ffd7944bc577de67a10fa61e563e39a199", + "0x000000000000000000000000000000000018ee5274d9d59c7a4e6ea4e9086857", + "0x000000000000000000000000000000913cedb17e467b5ec128fcd30a5d8f45a4", + "0x00000000000000000000000000000000000c36352a17ffaa1baa9f6f4ab990f0", + "0x000000000000000000000000000000d1d15826519e7557e9252e25cca7b68234", + "0x00000000000000000000000000000000002d8d82a0d2a2dafaa5c30e4fd0beca", + "0x000000000000000000000000000000f366069eb603ece7d5dbe351d3a7f8cb99", + "0x00000000000000000000000000000000000119a645221fedcdd2f0ccc55659aa", + "0x000000000000000000000000000000d4c5aa8f13dc73d1efb124730021df3c0d", + "0x0000000000000000000000000000000000173a91d164168b2a104f8a445923e3", + "0x0000000000000000000000000000001e0da0a289c24c20d61d63757e40d52e9e", + "0x00000000000000000000000000000000000873f2a70e71f36a677fac98b0f223", + "0x0000000000000000000000000000006363e418625d1a87b6c793a3fa67b62c8a", + "0x00000000000000000000000000000000001ad07fff2f60d183c6bbb52a88a076", + "0x000000000000000000000000000000602ed6d6e8441b84b20d5cf2eefe2b5730", + "0x0000000000000000000000000000000000011db44c3dd41d17fd5a5da5841ab1", + "0x000000000000000000000000000000ef6dbd36e70930ca9ecea70731b3ae2952", + "0x000000000000000000000000000000000012198e0151358cf72269f25d98a7d6", + "0x000000000000000000000000000000a9c62bc5e4859d84a6b71f0eb9ae002076", + "0x0000000000000000000000000000000000146b4d83228248fb4daeceb484a5cf", + "0x00000000000000000000000000000024272119fa5ea3659f5cc93e6906346041", + "0x00000000000000000000000000000000000e6f203351dc3d501e96deeacd1745", + "0x00000000000000000000000000000042723ba67f449f887a257cff0077f60df2", + "0x00000000000000000000000000000000000d5d772ba32d8ea22a4a0ca387da7c", + "0x0000000000000000000000000000008768ff19c1d3a20e9d334a1dfc81d182a6", + "0x00000000000000000000000000000000001f094f6d1eb8ebb46d7095f5cc262d", + "0x0000000000000000000000000000000efeb2b7db33a990c506e101c73afeed1c", + "0x00000000000000000000000000000000001381f886e9f8fd1aaf0824301d7f8e", + "0x00000000000000000000000000000026555700b99ad174e75f4fb2d54779813b", + "0x00000000000000000000000000000000001c184192b5ddd9b083ea27a2d01025", + "0x000000000000000000000000000000182a4013ec7ec4cabe96b2bd1a6ab6430f", + "0x0000000000000000000000000000000000266cf97a9846e58c82026b73f6be09", + "0x000000000000000000000000000000a0520688f4f47af3d195d4177dea4f6e70", + "0x000000000000000000000000000000000006dc9cef5b50392a5b25ffcd69e751", + "0x000000000000000000000000000000527d7c6049997c4de9bee2ace160dfd14a", + "0x000000000000000000000000000000000015e9a964515f16d454fb7d7e2e565e", + "0x000000000000000000000000000000cbf8b366a6c9c4395540c30f766a303cb9", + "0x00000000000000000000000000000000000fbb75e876fd119e954d22ceeea95c", + "0x000000000000000000000000000000922cfb797e0ee95d7bb31ceeeeb4d433c7", + "0x00000000000000000000000000000000000f2223f49c2f01718041ba6c8ff4e5", + "0x000000000000000000000000000000a0d4ea1e1c31cb33177efc4f9a6e1652ca", + "0x000000000000000000000000000000000017d878dd102598b8a90d658d650bba", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -7529,12 +7529,12 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x00000000000000000000000000000000002a56ce41f6b0be13b9c26747621b82", "0x000000000000000000000000000000d5827d6338c78656c0d12ca1aea6ef2c7c", "0x00000000000000000000000000000000001aa98f2de3ddda547d8f6de4e725de", - "0x000000000000000000000000000000b2cda22d682b80465a610820a455ccfe00", - "0x000000000000000000000000000000000014dbf65b57cd412e5a4e51e2e8fcb1", - "0x0000000000000000000000000000009324a599f7e39fa876752e4178e66cf056", - "0x000000000000000000000000000000000012a5445413899397985b2de3535efa" + "0x000000000000000000000000000000a353727eecbeb2708a0ba7438c9f67ac9f", + "0x000000000000000000000000000000000016d8906c48c640faac59aa0947b8bd", + "0x000000000000000000000000000000c14d66a59de329aabcfb5715846504a4e4", + "0x000000000000000000000000000000000009a577481460dded82d652c6abc7f8" ] - hash = "0x0c77683b8fb3dbb3c652ec7c75c7edab0f9597a4763fa388ed23a1a7dc7d4ba0" + hash = "0x1ef80142d10a45fb61f3a4192d352f1d813530777b10ca6db9613ccf5d025640" [inputs.avm_proof_data] proof = [ @@ -23942,43 +23942,43 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.avm_proof_data.public_inputs] prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" - transaction_fee = "0x0000000000000000000000000000000000000000000000000022e452ad469ea0" + transaction_fee = "0x000000000000000000000000000000000000000000000000004d2c208a4b8060" reverted = false [inputs.avm_proof_data.public_inputs.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000ad49d7cd" - block_number = "0x000000000000000000000000000000000000000000000000000000000000000b" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000043" - timestamp = "0x0000000000000000000000000000000000000000000000000000000069fde108" + version = "0x000000000000000000000000000000000000000000000000000000007597d4fd" + block_number = "0x000000000000000000000000000000000000000000000000000000000000000c" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000026" + timestamp = "0x000000000000000000000000000000000000000000000000000000006a0b2e97" [inputs.avm_proof_data.public_inputs.global_variables.coinbase] - inner = "0x000000000000000000000000fde0805eba75f23cd30a3bb4f0e567a356075904" + inner = "0x0000000000000000000000000058eeb4a1d899caaeae3694cae1527237e4f56c" [inputs.avm_proof_data.public_inputs.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.avm_proof_data.public_inputs.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000003699e8ba0" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x1520f4bb11a3a1d2248a03d8472e9af4bb8324eb1d2d8c83bce61894383464b9" +inner = "0x2c78cadfe08eabbb0e2a15b62eefd07a08cbc1631fa2be7962fd219308d9f1e3" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x26a43bf066852a7b1ec3c5b454f41735fea12e2ffbefed471058124b91d94018" +inner = "0x0d6429ccd33eeec2a03a7b2f78d6c901ad9406bf2058231382147de5014303fd" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x1bd26c6831ebc53674b13ac69a0c534563c37e46c2cbb36f2deca107a26515fa" +inner = "0x0b286a1c928fbe1ca3be78fe2f2bd25a2eec7f5f15c2757a2db53b2a8d499358" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x06870c63132d2a4e3356a76d773240efe729e7d9b9380a7a3cf1798fc9031aed" +inner = "0x1cef6885d1ace5a36534202d1f593b94ac0876ff4933745085ad62da062a3b5e" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x0083c4dfb922796f1086d399f8f3d021159d1a87ba3b833dcdf9863c630ba643" +inner = "0x2ccc3471349063b3b0c5a6362e0dbfc3c21b534f84fc963483667b32840e259a" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x0b4d3a9a7a3caf83f9c2060347e48cc28c7f04d2560d1cbf5bf08d4832128a97" +inner = "0x0ad78bd90b0e2e0887928b98b621517d04a6bddebf6b20bdb76ddd8aec6f05fd" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -23997,18 +23997,18 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.l1_to_l2_message_tree] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002c00" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000003000" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x2126a6e400b3fae90b44b74482d5b59dc707ba8f044c90a5f0e06ff48029f19f" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" +root = "0x17220b63d32aab917a748a18b8074aff52332c70604bcad27008d4867e2feea8" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x0e8d32952999631ff527d706426177bdb3208db1d3b8dd4e74ba883610dc37e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" +root = "0x1cfed5fd7ef032befae488393236dfabcdca928fd71b5775b02eeeca5952b149" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000003c0" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x0d21d4944ca04ad548057c7362ba76b7370e29929fe9cdd32ec1d04c07e21179" +root = "0x17809078aea757181529cc251693b3402311164785b07da22da983ca02d24ffa" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.avm_proof_data.public_inputs.start_gas_used] @@ -24033,10 +24033,10 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 [inputs.avm_proof_data.public_inputs.effective_gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000003699e8ba0" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000078c3bcb60" [inputs.avm_proof_data.public_inputs.fee_payer] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2" [inputs.avm_proof_data.public_inputs.public_call_request_array_lengths] setup_calls = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -24365,13 +24365,13 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] is_static_call = false - calldata_hash = "0x16acf8ee72d77f214e5286307ed2710fda25445374c38debbef546a746b679ce" + calldata_hash = "0x00a5e40cab902df3efe088094577e83eb92103581c990f351edf1dfba3778905" [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0635e757a5f05ba5322db37d6930525b43c2e055ed7c4600559a07fc38ab09ec" + inner = "0x2d56768ff7de67ad18e8f657deb90e0e541d951a204fb19910831c2021c1dca2" [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x16fc6ad8c94527d45832bb8631b0c1dedf3218fe7c3ca04e01850a3eff6a511a" + inner = "0x1be490a4b344f41827e94113f628fb311efc1abac19bc1e84b08fd578708964a" [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] is_static_call = false @@ -24771,7 +24771,7 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x09fac458f9e079d0117ef63746c55ce66b3e5d95c8420974d9c69f369b0d77ef", + "0x233e95769f6a7d3be5b0c68b13431ad2214bcede52ae9c10e340ac57871b65fb", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -25133,18 +25133,18 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.l1_to_l2_message_tree] root = "0x0fef6d80d31109ddb56d6b3f607cbc9c0af0bff3ea0d43e8f278983c64c11f7a" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002c00" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000003000" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x2126a6e400b3fae90b44b74482d5b59dc707ba8f044c90a5f0e06ff48029f19f" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" +root = "0x17220b63d32aab917a748a18b8074aff52332c70604bcad27008d4867e2feea8" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x28f8d2b1f0315d8539c1e4ff651e2eaac034de0a2271cd6f198f557ecf449cb1" -next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000003c0" +root = "0x1b9b13fad9b8c5689ecb8b3449c932a2d4ce5b1bb6c66b151c74151b7a909287" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000400" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x1a010e7a4312757d9349e0058c907064764c9836de016199dbd957ca46fefc3b" +root = "0x042e24ca2f4d3cda89d63c923672cba1d069fd15c9575270effd23fb306ee5b1" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.avm_proof_data.public_inputs.end_gas_used] @@ -25225,7 +25225,7 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x09fac458f9e079d0117ef63746c55ce66b3e5d95c8420974d9c69f369b0d77ef", + "0x233e95769f6a7d3be5b0c68b13431ad2214bcede52ae9c10e340ac57871b65fb", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -29473,16 +29473,16 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" ] [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x2935995b8343928a25acdb09654bdc27aeef345ec185caa48fb0048bd475fbcb" - value = "0x0000000000000000000000000000000000000000000000000000000000001c20" + leaf_slot = "0x1e116153847a288031b32de76feba5606af7f48ea6844ed7f788cb4937c97651" + value = "0x0000000000000000000000000000000000000000000000000000000000001f40" [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0dc02e099550676b3dcfd522010d4db9d2c47a4556dfa28aa20a4a0eb35c54a4" - value = "0x0000000000000000000000000000000000000000000000000000000000000af0" + leaf_slot = "0x22d51324ad539ea879ef28ac3e794fc1fa95103211f0d355b7edbf0795a37e5a" + value = "0x00000000000000000000000000000000000000000000000000000000000007d0" [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x12d1296a2643b832fbd1d6d3ed3678833fce770084efd75adfd517de8214ccf3" - value = "0x00000000000000000000000000000000000000000000021e00afaeb15ed67ca0" + leaf_slot = "0x041ecbe21bbbbefd34a95c40b18be9f5fca1323072eeea3a6f5d0136c2a71969" + value = "0x00000000000000000000000000000000000000000000021e008a3dae486615a0" [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -29747,5 +29747,5 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" squeeze_mode = false [inputs.last_archive] - root = "0x24f3d6261780561e8ede638edf15d34d9f93372572631856307c57a08dfb9cb1" - next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" + root = "0x2d4409306059501fce0434d5913ad345e014fc870961be182b636a307b3d06d8" + next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000c" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml index 9181896a6389..a86acdd36df9 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml @@ -489,8 +489,8 @@ proof = [ accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x0141caf6779674bc31225636c4cc4259a731835c52fc462f2dcbfabf7de01a1d" - protocol_contracts_hash = "0x01af64239167dcc8333e25456aab71348f66d9f6de731a8b62181d16cf0818c1" + vk_tree_root = "0x0b701ee3d1002ca8a5a73a81bcb2e0d84e6c30222be65f508574f182569b718f" + protocol_contracts_hash = "0x0fcccdf7958e813bb1d24f764ae13ff08a999008434c2e4dec55f4401564b05e" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.last_archive] @@ -570,10 +570,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7d1b34e" ] state = [ - "0x0dbad51bb440650e97a5db6945e0b816676a7c99a97b61f7575f7ebb0302cb74", - "0x153f707b3f374da7de4e7558dd131ca1b276367234300e2061ebb6a80c9321cd", - "0x301693101ecf5431e14201ddc3e55cb8715203dcc3e3d159df5c63bdbde17381", - "0x223072f1c5ac6c338cf08c7043aa64605f2ba6feec29f658343ec4db85070b27" + "0x28ceaed15a6167592482697da06ac405557958a88659e8a294d4a863e97f8cbe", + "0x16710e00e80f40036d0a39c58a3269bf0e03b7c095b904499bdab6f3ef5ccd71", + "0x25a44adf4bb8ea266cd5398139a046115f57ab3cbbf9827ae3edb4dca94d8fd1", + "0x13551db592560b9a6d2ffed579ee3530d463b8baa035312dccd664e01e077a66" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -581,134 +581,134 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" sibling_path = [ - "0x0f8f726e833df2994b5e4f7236bb20b770b92eeddaa5e11c229e396b784aac56", - "0x24d3d34d155de7ba76e941299ef9b12edeb7de094e758c30ab32f54a32954ae5", - "0x234d319aa3526e9e00d76d9b5b9b18b435756035ad00d8d716e1be50ac82ead3", - "0x2648004ca39ab2f7f01e8733c2de2d035675568a1c98d1410ce90ac2512e72e2", - "0x15313312ac8ca4825afd3891479fbb14626ca65499d939e23b1f653cd7d018ea", - "0x19de2a32662702dd872e529ad89836e16b013012f910daf2bc7c2a67356dd107", - "0x1f07bca7a14f9a969539c0afd388affa18926689f431fc541841a2a7604d388c" + "0x09b4bb0061881fc354c5fadf8dc55f36b0c67dc3b2f58a18406363dfa0b079fa", + "0x2136af42d41c58f3fd528f4e88c2de5152c2bb251a3c4d8950d4401a0c8ae6ff", + "0x02d4017a1d1c142d1fdf34bf701748bd9db29906e0114ac657648a51d10b6799", + "0x146274c75e0cce377b1764ae8c0ba9167cfb0632d9453ac4c5b521f5d45cee4c", + "0x10fa882cccd67cfee268da2a5d99ed42a34302ecebc26f4b3254e41507b3ee42", + "0x133dc174ef877c42d59ac5fe87733ce13f9355587db788e3b490832c7afbcfd2", + "0x13482b383bc59a6da6ab4e998b0986c23166d0aba121fc0789e9f14605af653b" ] [inputs.previous_rollups.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000008580b9a8c85e4a3c1e7b1089bd79f3bc28", - "0x000000000000000000000000000000000022dc01e3ed0e1b10bdcff9d093431a", - "0x00000000000000000000000000000054f9950035e8ffae852707e9d1a9032e59", - "0x0000000000000000000000000000000000276c56cb94e0545b3bfd85919a8ce8", - "0x0000000000000000000000000000009352ff9d82645804416a2b338260fa235d", - "0x000000000000000000000000000000000010a253776d2bdcb7129acfa2e91ac5", - "0x00000000000000000000000000000095babbbc4a6d5a9b68707c3a8e1e9508e2", - "0x000000000000000000000000000000000030157ca77e90f7ee9155c1009b06a1", - "0x000000000000000000000000000000068047e82e283284235befaa9cc7a1838d", - "0x00000000000000000000000000000000000bcd70cc5042e81e440b1ea5ef3c3f", - "0x0000000000000000000000000000007702a95c1bf5e2923ca69f26cc2d7efe0f", - "0x00000000000000000000000000000000000adeb0e8b1074c68de2b2172f21c5e", - "0x000000000000000000000000000000520354133ccbbccfc69be0c01b92abdf0f", - "0x00000000000000000000000000000000002dea248e3c2fe054c698a861bf4c27", - "0x000000000000000000000000000000f93b6112b7de5c27298a81c68d502b7beb", - "0x00000000000000000000000000000000002be3a33fc9502b0cc8b9427fcfe50f", - "0x000000000000000000000000000000168f01ff83f4a014a90db19e5d882a0a0a", - "0x000000000000000000000000000000000008876edc3cc7e3825dc194e21cb011", - "0x0000000000000000000000000000006d1df389f06e514e1829af3744dc64294a", - "0x000000000000000000000000000000000022e86ef68622bd107e5080cc062a4f", - "0x000000000000000000000000000000d137fc89e86049cb1b141b67b3361b6298", - "0x00000000000000000000000000000000001d7ad7d0634dc08d7d9816b5b6814c", - "0x000000000000000000000000000000defd2454e2c3a75ec8e0730bd3640b9408", - "0x00000000000000000000000000000000000b189f6ee9395b1ca5771c361501d7", - "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", - "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", - "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", - "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x00000000000000000000000000000008262b430328dcaab242dd8acc504e8ac9", - "0x000000000000000000000000000000000015f3ab1410f0e5dd3e00f03b9f563b", - "0x0000000000000000000000000000008fca5ff8ed9a5d41fe9b451f02502dd1c9", - "0x0000000000000000000000000000000000266aa6e4947434ef18adeba3700713", - "0x000000000000000000000000000000d93cecd04341f5da304f3c92f0670afc43", - "0x000000000000000000000000000000000020165b3fd2bfb72a4de3dc68f66eed", - "0x000000000000000000000000000000094a6d376eb3cc1ba94b4da00dea583eac", - "0x00000000000000000000000000000000001caf7742d251b04f3517f0f1e5a625", - "0x0000000000000000000000000000003be5647cd472ad0b06a48f632997e3eea2", - "0x000000000000000000000000000000000015fb4d9ecb8125b3243cee37698c48", - "0x0000000000000000000000000000000854a3ab5bcbca1e86d4949b1b7c5f4b0e", - "0x000000000000000000000000000000000015450314fbf315448dc3379dc82214", - "0x0000000000000000000000000000009c2c55d2ea5bdf5fc5e28f1a78b1d29625", - "0x000000000000000000000000000000000020b36a8406ec64352600587cf04194", - "0x000000000000000000000000000000f14d08d9dab6a54412d741166146188ae6", - "0x00000000000000000000000000000000001b5a34ccd7eaf5cd09ab920011552f", - "0x00000000000000000000000000000074b7827a59faf701f7f41df26e5476c40c", - "0x00000000000000000000000000000000002decbab1c87b933da1625951860793", - "0x000000000000000000000000000000751aab48a0e01094128242ea0aaab63ff7", - "0x00000000000000000000000000000000001a2a334289adf8d23d4d52caf4cfe6", - "0x000000000000000000000000000000f6a41261290460b25e1e7d7bf69b564ae6", - "0x00000000000000000000000000000000000296925feaed4585bb03319f126d96", - "0x00000000000000000000000000000055b70d653ebd7df04f720951e76a27369b", - "0x000000000000000000000000000000000019744937a687edc9f46fb8323a46d9", - "0x00000000000000000000000000000047978fda5b64d8fc4571f09da3e8ccc7de", - "0x0000000000000000000000000000000000139de6a387109f47ecbacc74e03742", - "0x0000000000000000000000000000007f5afdfcb7bcd85aa293676e18e899a03e", - "0x000000000000000000000000000000000006a2971c1c947f4cadb07ebc9bc980", - "0x0000000000000000000000000000006cdb69a57b7f7a25b99e18fc0f83c1bc70", - "0x000000000000000000000000000000000028f2a76a01dc3cc927cdba29383e9b", - "0x0000000000000000000000000000001bbc4d6033de44907975ce473bc0f4f148", - "0x00000000000000000000000000000000002642f26fc1850c4b9b7fc4cd860ab9", - "0x000000000000000000000000000000ac996074e35eb268f6ebbe99e9c7d26c47", - "0x00000000000000000000000000000000002262620617978a01f75646f1909969", - "0x000000000000000000000000000000e63aa32bcc098428f407b5e07d9cb26118", - "0x000000000000000000000000000000000022b294b6a7dc4c17319f9a91a1b443", - "0x000000000000000000000000000000649d9ce9147431632893f55d3c6bbc158e", - "0x000000000000000000000000000000000020698c9b0787f14aa66a57bc232ec1", - "0x000000000000000000000000000000b4fde29f9bde909609d70bf9862dd65cf1", - "0x000000000000000000000000000000000005fcac9b75cac50d87ca827678c070", - "0x00000000000000000000000000000071e27b0a0dd0e2180985072f4a949f0c1d", - "0x000000000000000000000000000000000025d2d1388eddcf016213f1cadc763f", - "0x000000000000000000000000000000b216bad715cdfa7c382d30d7a368cc1346", - "0x0000000000000000000000000000000000302dbbf78b13a6d71d1978b5607145", - "0x00000000000000000000000000000002ebdec49969d2ff9220240bbcb8730617", - "0x000000000000000000000000000000000027f41cad8540e47008c1da90340ef6", - "0x000000000000000000000000000000e8259148321315cc34166a206fe910c6cb", - "0x000000000000000000000000000000000013444efc30c7688d961f36de252af6", - "0x0000000000000000000000000000005b7c7ad432291e9dff1dfad51159e50dbf", - "0x0000000000000000000000000000000000205ec973a0d1c898c1def7852353b3", - "0x0000000000000000000000000000007940a7e88fe5ce47af688975c92be1b62a", - "0x000000000000000000000000000000000015bdab44fe41eec6ee62ed58f55ff5", - "0x0000000000000000000000000000003693b90aedcd664eede665df6f376cf526", - "0x0000000000000000000000000000000000207c38fd6851d1568fe18a83585f31", - "0x000000000000000000000000000000f1a8a60975b9b092aab1421166be08c2f5", - "0x000000000000000000000000000000000015450d2e8ea17db209302582b886f1", - "0x000000000000000000000000000000526e857040a344bd434bfdbf94d3a49196", - "0x00000000000000000000000000000000000d0112b922a852c4754ab3929d6d02", - "0x000000000000000000000000000000d88041fa28c8118a58ceacbcc8780844b5", - "0x00000000000000000000000000000000002584170ebef150b71c5e6aa93e2fbb", - "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", - "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", - "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", - "0x000000000000000000000000000000000017080f8d1d21b541de1c64d8b794df", - "0x000000000000000000000000000000621557759a0775ea5575adc9c6fbd96d56", - "0x00000000000000000000000000000000001cd60c23a37c42d7e46e1e19e966ae", - "0x0000000000000000000000000000000d52081b2311a7e9bf52407cf3d2c336b3", - "0x0000000000000000000000000000000000003b2312f2f2f419434a1440d40c69", - "0x000000000000000000000000000000d26082083660d6ac8bffb639994e4500e7", - "0x000000000000000000000000000000000019d6ef8ce569e7fa55b8aab7f5eea6", - "0x00000000000000000000000000000078d8a04f7b6c536d3a8a35c790b4dc7ddc", - "0x00000000000000000000000000000000001111470a41156a530334d2c08511a5", - "0x0000000000000000000000000000008ab4119a5478448b7ec3573de2cdfd8e56", - "0x0000000000000000000000000000000000263c7bd4cde5591308156c458d2989", - "0x0000000000000000000000000000004a676142c9eca140ac96ab9ca49633e141", - "0x00000000000000000000000000000000001de62520faa095ad7513f753e0a73e", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000a2c4fbcbebac01e208127093cbf44780d4", - "0x00000000000000000000000000000000001ca34545a074b1cb689aa0b343402d", - "0x000000000000000000000000000000a58c28598055d8818a6dbadd0018904386", - "0x0000000000000000000000000000000000152154cbc213630f5c7ec1ee37751b" + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x000000000000000000000000000000f944590031f1d3b251c3dc90ea2821c71d", + "0x00000000000000000000000000000000000d31fd1a4942efade625e012c77df1", + "0x0000000000000000000000000000001e9acd89b92c18e3d89b881b26312bb12b", + "0x000000000000000000000000000000000000736f00a23cbea07da614d8b767e4", + "0x00000000000000000000000000000012167fb1f0d3b9afea7d534404e3b36b53", + "0x0000000000000000000000000000000000021e6d056d0d40c720927abd39c872", + "0x0000000000000000000000000000004ea3f0c21ee1056b3e2ad9c082242e5a2e", + "0x00000000000000000000000000000000000c574204fd079871ae599e192d72c8", + "0x0000000000000000000000000000002654c5b2b175f95fdb2ab405dcc4220545", + "0x00000000000000000000000000000000001fd13a35df71290c2354c6c5f610de", + "0x000000000000000000000000000000d5e3b3464d67c82f035b33016912264b04", + "0x000000000000000000000000000000000009fcdab45c12d2f313f95b94a1dcb8", + "0x000000000000000000000000000000768c5a9d8ca0081f67ff3171a7ffe3ba49", + "0x00000000000000000000000000000000001cd676b8d32bb0bb898d83a9f49a2b", + "0x00000000000000000000000000000028650bc3473de217fbfec1e9fb10e4e999", + "0x0000000000000000000000000000000000260c000ea0ebc3db3ba672328007a5", + "0x000000000000000000000000000000f1948fbf68599bf0628f118156de61f57f", + "0x00000000000000000000000000000000000033e796d200425f6a499de18dbfeb", + "0x00000000000000000000000000000016a35cf8fc5f017037adf860723e6346e5", + "0x0000000000000000000000000000000000088cf6d72197800bb1300677f734a7", + "0x00000000000000000000000000000047169c153b6cc24bbac1e4126410779ccb", + "0x000000000000000000000000000000000022b70bfb92e8c7944ae65a49b7effa", + "0x000000000000000000000000000000425c661c37104ad33c2054f3cfde9954d0", + "0x000000000000000000000000000000000000c36b8ecc5963bef022dea4dfadcc", + "0x0000000000000000000000000000006f206a04895661d3bd004222a1f8a7fc73", + "0x00000000000000000000000000000000001b12a59a820d3aa543a594a1b9d92f", + "0x0000000000000000000000000000002103559842aca1e08af33bb1f714ebc02a", + "0x00000000000000000000000000000000001b8936a0be628b58af9859c2a851d1", + "0x000000000000000000000000000000862e0c485b99696417d296ecc2b2bac316", + "0x00000000000000000000000000000000000ae46fcce211297d2d7fcab27fc041", + "0x000000000000000000000000000000551700c158e12cb40d8ea4ef2563b6fb43", + "0x00000000000000000000000000000000000b515d88939b250a4a4758e4e2ea53", + "0x000000000000000000000000000000f4bae0ad0baeb9d42c7fe2ae3d18c98fad", + "0x00000000000000000000000000000000002a20d66bd435a17fdf1eaf345d5933", + "0x000000000000000000000000000000ed8a8ba528c7088b1ae4730572e1ec32c8", + "0x000000000000000000000000000000000009506de430d6b9f9863e6f10cd35fb", + "0x000000000000000000000000000000682b627744ce0319f4d9191675057282fb", + "0x000000000000000000000000000000000017de059961f8c12752abd299396f86", + "0x000000000000000000000000000000b975958ec262178729e94350c0e7543fb0", + "0x0000000000000000000000000000000000220ce50e394560e53f025e094d17aa", + "0x0000000000000000000000000000001fca3a68a28d438e85e9dc955856752779", + "0x000000000000000000000000000000000028f8f3400bb3b9d19b02ec709e2ee4", + "0x0000000000000000000000000000004e35d073460b0634ebe216d49a3dca9b36", + "0x00000000000000000000000000000000000cb0f5827b08075c405353f10ba632", + "0x0000000000000000000000000000001ece860550ce14fae74eda0123ded56a74", + "0x00000000000000000000000000000000000a34b258bd3daaf8f9edd201c25ed3", + "0x0000000000000000000000000000008cb28ae85d58a75302229585a9ad114c2b", + "0x000000000000000000000000000000000014aac1da344ad32659c3036510fcc1", + "0x000000000000000000000000000000822b45036d5c2befa8a20df910513570c4", + "0x000000000000000000000000000000000011244b388e709fbcb7f54658cfac43", + "0x000000000000000000000000000000389de9951eb8fad7e25e4ad0a9229d2275", + "0x0000000000000000000000000000000000136e6eb0ee251f9b12336cb7bb46ee", + "0x00000000000000000000000000000088f21d9f6c7c54ce4e9a4c103a91b54a58", + "0x0000000000000000000000000000000000187f2beab9a05ca29d2137ee7cbc19", + "0x0000000000000000000000000000009c703a5eb43dcef0686e08fa57ef452f68", + "0x000000000000000000000000000000000012caebb183f1490d3e4f2a2c583ab6", + "0x0000000000000000000000000000009dab4a0aa8d4954a8e1761db3da148a746", + "0x0000000000000000000000000000000000230a08da3b62fd6479b4230760b686", + "0x00000000000000000000000000000081a00a1e38bbd5212603f18ef982a5189d", + "0x000000000000000000000000000000000021ae0f9df38f1e70fa3c26867f4ee8", + "0x0000000000000000000000000000001a722dbd34f841b4823cd055149fce642f", + "0x000000000000000000000000000000000002df2693a9b134670cfe72bf29b363", + "0x00000000000000000000000000000007c906c328630b844b0797e34cedccd1ec", + "0x00000000000000000000000000000000002ab2ae39dd9c0259f7dfb1dda47e81", + "0x000000000000000000000000000000ac6642a4923aa2df07a00a9d3e462b0ed1", + "0x000000000000000000000000000000000015afb7af6c0fc23a24457aa887df9c", + "0x0000000000000000000000000000004d916ec23ef29c0b6134f208e3535671d4", + "0x00000000000000000000000000000000000d37c6c25852903d79475133d414e8", + "0x00000000000000000000000000000029ad212431ba1972de7ee0ba9f12113be3", + "0x000000000000000000000000000000000005c2393db23155844d4f71bead84d0", + "0x000000000000000000000000000000c69074efa82a4910eaf8ab8689d7aafcad", + "0x000000000000000000000000000000000029f3d77437006a0eacf1a149c4b8a0", + "0x00000000000000000000000000000030926853da69d4016eca2f1f0df5e5316f", + "0x000000000000000000000000000000000014841d3291aecd45ea0e05657dbed2", + "0x00000000000000000000000000000052fdb060fe666a3f686088f1f6996a1cf9", + "0x00000000000000000000000000000000002be878eb09939603b391aa9ee0393a", + "0x000000000000000000000000000000d99de3b49476e64c0138037838cfc63803", + "0x0000000000000000000000000000000000260874b43f32c373783efe7ef200a2", + "0x0000000000000000000000000000004951edbb25e9c6b65d446e3418b2b3f16e", + "0x00000000000000000000000000000000002300fac13ab48d40a91114d1ff9627", + "0x00000000000000000000000000000090b8d216da73861ee276dddb17428d8c09", + "0x000000000000000000000000000000000028f906106984e5fa78812869cc1aee", + "0x000000000000000000000000000000ce2aff6eda49d5b8be6ee42104d2aa21e0", + "0x000000000000000000000000000000000002833f671993d2b772b5dec0e12056", + "0x0000000000000000000000000000008be4e7cfb1fdf317a33b7bc3530625e6b8", + "0x000000000000000000000000000000000023404bed8e224a350755410e5c96b2", + "0x000000000000000000000000000000cd9a812fad3fe3a89983e416b70529445b", + "0x00000000000000000000000000000000000b66296ff191a2cf6dbe6ca03dcd0c", + "0x0000000000000000000000000000005eefcb3c6f69064ed55425945fcc74c2bc", + "0x00000000000000000000000000000000001613278bd29c20c182e6f3b5e367ce", + "0x0000000000000000000000000000006c39d4dd8c65752b9bc2628fcc3dbf415c", + "0x00000000000000000000000000000000000d4b721e385647b57de3efbc9952db", + "0x000000000000000000000000000000e26e87fb5ad793c153110c1e55129d9ee7", + "0x00000000000000000000000000000000001986fe851f46fd25818f580f9d55f1", + "0x0000000000000000000000000000007a7eb895f6f2419aafb58de3f81b3f6739", + "0x00000000000000000000000000000000000d1289085013119c588fbcdbb11f5e", + "0x00000000000000000000000000000061358ce9820bc7ced39ca91d017f767cfa", + "0x000000000000000000000000000000000018a26c04d92048605adf6b40fbe696", + "0x000000000000000000000000000000924ee754d49e43f0991a540ece79958ad1", + "0x00000000000000000000000000000000001faa0f64d400addf955b2f4a8181ec", + "0x0000000000000000000000000000000c13651a87f101a4d0bf32619d4326c45b", + "0x000000000000000000000000000000000002809feb719732fbf341dd249e671d", + "0x0000000000000000000000000000003523e8c751d17a4dcd30540a4f9261403b", + "0x00000000000000000000000000000000001466cc1bd7c1743fca0477c4ea4481", + "0x0000000000000000000000000000001eee81b23a887f299049b14c11e98460d6", + "0x00000000000000000000000000000000002a56ce41f6b0be13b9c26747621b82", + "0x000000000000000000000000000000d5827d6338c78656c0d12ca1aea6ef2c7c", + "0x00000000000000000000000000000000001aa98f2de3ddda547d8f6de4e725de", + "0x0000000000000000000000000000003e895e3756deb16393c59a6a9d3669ce0f", + "0x0000000000000000000000000000000000262d7f27b9058ca9bd2e0620f9a3d3", + "0x000000000000000000000000000000b98c4ce00d755cb57daf4bc1b860536fc3", + "0x0000000000000000000000000000000000017137ecc6753555f49859a34eeb62" ] - hash = "0x0c9b0fab06de495eb1835dc184eb51d6584a970a90bb9c9dba17ab97e9b6dee6" + hash = "0x05df4d5edfe80160c2f684f683ed1ef5fb3a539be4cfb97957b2d7f5c3ab9ead" [[inputs.previous_rollups]] proof = [ @@ -1201,8 +1201,8 @@ proof = [ accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x0141caf6779674bc31225636c4cc4259a731835c52fc462f2dcbfabf7de01a1d" - protocol_contracts_hash = "0x01af64239167dcc8333e25456aab71348f66d9f6de731a8b62181d16cf0818c1" + vk_tree_root = "0x0b701ee3d1002ca8a5a73a81bcb2e0d84e6c30222be65f508574f182569b718f" + protocol_contracts_hash = "0x0fcccdf7958e813bb1d24f764ae13ff08a999008434c2e4dec55f4401564b05e" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.last_archive] @@ -1264,10 +1264,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7d1b34e" ] state = [ - "0x0dbad51bb440650e97a5db6945e0b816676a7c99a97b61f7575f7ebb0302cb74", - "0x153f707b3f374da7de4e7558dd131ca1b276367234300e2061ebb6a80c9321cd", - "0x301693101ecf5431e14201ddc3e55cb8715203dcc3e3d159df5c63bdbde17381", - "0x223072f1c5ac6c338cf08c7043aa64605f2ba6feec29f658343ec4db85070b27" + "0x28ceaed15a6167592482697da06ac405557958a88659e8a294d4a863e97f8cbe", + "0x16710e00e80f40036d0a39c58a3269bf0e03b7c095b904499bdab6f3ef5ccd71", + "0x25a44adf4bb8ea266cd5398139a046115f57ab3cbbf9827ae3edb4dca94d8fd1", + "0x13551db592560b9a6d2ffed579ee3530d463b8baa035312dccd664e01e077a66" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -1282,10 +1282,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c34c" ] state = [ - "0x095ff6c475ee1af84257c77b73b727e6ebf0cc7015e0318ea5ceb14044e637a8", - "0x28810b36811d26c3700f0c7867fc191986df3ef57ea3a195b396ae8e1516b1a7", - "0x0d0d075374c48ade348ced65280060db0bfe6c16752688a5d65a07afc55cf16c", - "0x0b29f6eee3031f85d7f5ce02982c80e8fc06b552319a441c5b0fc3521d9c801c" + "0x019c8b37514a1a54433fb4ee411ccaf6da8c99234b4e5d11cc5f6b95c3989bb5", + "0x026875d420939d38c5495ee684f0a31efd5cab908193ae929d1c426d68bb9409", + "0x1a8c7e8add3b6e5ee547b84164a1d59756426ff82c71128c0627a7c01c830220", + "0x081d1fadf8d9a49f296a172486009b0c5f64d52de31142cfc01bc2b08387210a" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -1293,131 +1293,131 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" sibling_path = [ - "0x0f8f726e833df2994b5e4f7236bb20b770b92eeddaa5e11c229e396b784aac56", - "0x24d3d34d155de7ba76e941299ef9b12edeb7de094e758c30ab32f54a32954ae5", - "0x234d319aa3526e9e00d76d9b5b9b18b435756035ad00d8d716e1be50ac82ead3", - "0x2648004ca39ab2f7f01e8733c2de2d035675568a1c98d1410ce90ac2512e72e2", - "0x15313312ac8ca4825afd3891479fbb14626ca65499d939e23b1f653cd7d018ea", - "0x19de2a32662702dd872e529ad89836e16b013012f910daf2bc7c2a67356dd107", - "0x1f07bca7a14f9a969539c0afd388affa18926689f431fc541841a2a7604d388c" + "0x09b4bb0061881fc354c5fadf8dc55f36b0c67dc3b2f58a18406363dfa0b079fa", + "0x2136af42d41c58f3fd528f4e88c2de5152c2bb251a3c4d8950d4401a0c8ae6ff", + "0x02d4017a1d1c142d1fdf34bf701748bd9db29906e0114ac657648a51d10b6799", + "0x146274c75e0cce377b1764ae8c0ba9167cfb0632d9453ac4c5b521f5d45cee4c", + "0x10fa882cccd67cfee268da2a5d99ed42a34302ecebc26f4b3254e41507b3ee42", + "0x133dc174ef877c42d59ac5fe87733ce13f9355587db788e3b490832c7afbcfd2", + "0x13482b383bc59a6da6ab4e998b0986c23166d0aba121fc0789e9f14605af653b" ] [inputs.previous_rollups.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000008580b9a8c85e4a3c1e7b1089bd79f3bc28", - "0x000000000000000000000000000000000022dc01e3ed0e1b10bdcff9d093431a", - "0x00000000000000000000000000000054f9950035e8ffae852707e9d1a9032e59", - "0x0000000000000000000000000000000000276c56cb94e0545b3bfd85919a8ce8", - "0x0000000000000000000000000000009352ff9d82645804416a2b338260fa235d", - "0x000000000000000000000000000000000010a253776d2bdcb7129acfa2e91ac5", - "0x00000000000000000000000000000095babbbc4a6d5a9b68707c3a8e1e9508e2", - "0x000000000000000000000000000000000030157ca77e90f7ee9155c1009b06a1", - "0x000000000000000000000000000000068047e82e283284235befaa9cc7a1838d", - "0x00000000000000000000000000000000000bcd70cc5042e81e440b1ea5ef3c3f", - "0x0000000000000000000000000000007702a95c1bf5e2923ca69f26cc2d7efe0f", - "0x00000000000000000000000000000000000adeb0e8b1074c68de2b2172f21c5e", - "0x000000000000000000000000000000520354133ccbbccfc69be0c01b92abdf0f", - "0x00000000000000000000000000000000002dea248e3c2fe054c698a861bf4c27", - "0x000000000000000000000000000000f93b6112b7de5c27298a81c68d502b7beb", - "0x00000000000000000000000000000000002be3a33fc9502b0cc8b9427fcfe50f", - "0x000000000000000000000000000000168f01ff83f4a014a90db19e5d882a0a0a", - "0x000000000000000000000000000000000008876edc3cc7e3825dc194e21cb011", - "0x0000000000000000000000000000006d1df389f06e514e1829af3744dc64294a", - "0x000000000000000000000000000000000022e86ef68622bd107e5080cc062a4f", - "0x000000000000000000000000000000d137fc89e86049cb1b141b67b3361b6298", - "0x00000000000000000000000000000000001d7ad7d0634dc08d7d9816b5b6814c", - "0x000000000000000000000000000000defd2454e2c3a75ec8e0730bd3640b9408", - "0x00000000000000000000000000000000000b189f6ee9395b1ca5771c361501d7", - "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", - "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", - "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", - "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x00000000000000000000000000000008262b430328dcaab242dd8acc504e8ac9", - "0x000000000000000000000000000000000015f3ab1410f0e5dd3e00f03b9f563b", - "0x0000000000000000000000000000008fca5ff8ed9a5d41fe9b451f02502dd1c9", - "0x0000000000000000000000000000000000266aa6e4947434ef18adeba3700713", - "0x000000000000000000000000000000d93cecd04341f5da304f3c92f0670afc43", - "0x000000000000000000000000000000000020165b3fd2bfb72a4de3dc68f66eed", - "0x000000000000000000000000000000094a6d376eb3cc1ba94b4da00dea583eac", - "0x00000000000000000000000000000000001caf7742d251b04f3517f0f1e5a625", - "0x0000000000000000000000000000003be5647cd472ad0b06a48f632997e3eea2", - "0x000000000000000000000000000000000015fb4d9ecb8125b3243cee37698c48", - "0x0000000000000000000000000000000854a3ab5bcbca1e86d4949b1b7c5f4b0e", - "0x000000000000000000000000000000000015450314fbf315448dc3379dc82214", - "0x0000000000000000000000000000009c2c55d2ea5bdf5fc5e28f1a78b1d29625", - "0x000000000000000000000000000000000020b36a8406ec64352600587cf04194", - "0x000000000000000000000000000000f14d08d9dab6a54412d741166146188ae6", - "0x00000000000000000000000000000000001b5a34ccd7eaf5cd09ab920011552f", - "0x00000000000000000000000000000074b7827a59faf701f7f41df26e5476c40c", - "0x00000000000000000000000000000000002decbab1c87b933da1625951860793", - "0x000000000000000000000000000000751aab48a0e01094128242ea0aaab63ff7", - "0x00000000000000000000000000000000001a2a334289adf8d23d4d52caf4cfe6", - "0x000000000000000000000000000000f6a41261290460b25e1e7d7bf69b564ae6", - "0x00000000000000000000000000000000000296925feaed4585bb03319f126d96", - "0x00000000000000000000000000000055b70d653ebd7df04f720951e76a27369b", - "0x000000000000000000000000000000000019744937a687edc9f46fb8323a46d9", - "0x00000000000000000000000000000047978fda5b64d8fc4571f09da3e8ccc7de", - "0x0000000000000000000000000000000000139de6a387109f47ecbacc74e03742", - "0x0000000000000000000000000000007f5afdfcb7bcd85aa293676e18e899a03e", - "0x000000000000000000000000000000000006a2971c1c947f4cadb07ebc9bc980", - "0x0000000000000000000000000000006cdb69a57b7f7a25b99e18fc0f83c1bc70", - "0x000000000000000000000000000000000028f2a76a01dc3cc927cdba29383e9b", - "0x0000000000000000000000000000001bbc4d6033de44907975ce473bc0f4f148", - "0x00000000000000000000000000000000002642f26fc1850c4b9b7fc4cd860ab9", - "0x000000000000000000000000000000ac996074e35eb268f6ebbe99e9c7d26c47", - "0x00000000000000000000000000000000002262620617978a01f75646f1909969", - "0x000000000000000000000000000000e63aa32bcc098428f407b5e07d9cb26118", - "0x000000000000000000000000000000000022b294b6a7dc4c17319f9a91a1b443", - "0x000000000000000000000000000000649d9ce9147431632893f55d3c6bbc158e", - "0x000000000000000000000000000000000020698c9b0787f14aa66a57bc232ec1", - "0x000000000000000000000000000000b4fde29f9bde909609d70bf9862dd65cf1", - "0x000000000000000000000000000000000005fcac9b75cac50d87ca827678c070", - "0x00000000000000000000000000000071e27b0a0dd0e2180985072f4a949f0c1d", - "0x000000000000000000000000000000000025d2d1388eddcf016213f1cadc763f", - "0x000000000000000000000000000000b216bad715cdfa7c382d30d7a368cc1346", - "0x0000000000000000000000000000000000302dbbf78b13a6d71d1978b5607145", - "0x00000000000000000000000000000002ebdec49969d2ff9220240bbcb8730617", - "0x000000000000000000000000000000000027f41cad8540e47008c1da90340ef6", - "0x000000000000000000000000000000e8259148321315cc34166a206fe910c6cb", - "0x000000000000000000000000000000000013444efc30c7688d961f36de252af6", - "0x0000000000000000000000000000005b7c7ad432291e9dff1dfad51159e50dbf", - "0x0000000000000000000000000000000000205ec973a0d1c898c1def7852353b3", - "0x0000000000000000000000000000007940a7e88fe5ce47af688975c92be1b62a", - "0x000000000000000000000000000000000015bdab44fe41eec6ee62ed58f55ff5", - "0x0000000000000000000000000000003693b90aedcd664eede665df6f376cf526", - "0x0000000000000000000000000000000000207c38fd6851d1568fe18a83585f31", - "0x000000000000000000000000000000f1a8a60975b9b092aab1421166be08c2f5", - "0x000000000000000000000000000000000015450d2e8ea17db209302582b886f1", - "0x000000000000000000000000000000526e857040a344bd434bfdbf94d3a49196", - "0x00000000000000000000000000000000000d0112b922a852c4754ab3929d6d02", - "0x000000000000000000000000000000d88041fa28c8118a58ceacbcc8780844b5", - "0x00000000000000000000000000000000002584170ebef150b71c5e6aa93e2fbb", - "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", - "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", - "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", - "0x000000000000000000000000000000000017080f8d1d21b541de1c64d8b794df", - "0x000000000000000000000000000000621557759a0775ea5575adc9c6fbd96d56", - "0x00000000000000000000000000000000001cd60c23a37c42d7e46e1e19e966ae", - "0x0000000000000000000000000000000d52081b2311a7e9bf52407cf3d2c336b3", - "0x0000000000000000000000000000000000003b2312f2f2f419434a1440d40c69", - "0x000000000000000000000000000000d26082083660d6ac8bffb639994e4500e7", - "0x000000000000000000000000000000000019d6ef8ce569e7fa55b8aab7f5eea6", - "0x00000000000000000000000000000078d8a04f7b6c536d3a8a35c790b4dc7ddc", - "0x00000000000000000000000000000000001111470a41156a530334d2c08511a5", - "0x0000000000000000000000000000008ab4119a5478448b7ec3573de2cdfd8e56", - "0x0000000000000000000000000000000000263c7bd4cde5591308156c458d2989", - "0x0000000000000000000000000000004a676142c9eca140ac96ab9ca49633e141", - "0x00000000000000000000000000000000001de62520faa095ad7513f753e0a73e", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000a2c4fbcbebac01e208127093cbf44780d4", - "0x00000000000000000000000000000000001ca34545a074b1cb689aa0b343402d", - "0x000000000000000000000000000000a58c28598055d8818a6dbadd0018904386", - "0x0000000000000000000000000000000000152154cbc213630f5c7ec1ee37751b" + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x000000000000000000000000000000f944590031f1d3b251c3dc90ea2821c71d", + "0x00000000000000000000000000000000000d31fd1a4942efade625e012c77df1", + "0x0000000000000000000000000000001e9acd89b92c18e3d89b881b26312bb12b", + "0x000000000000000000000000000000000000736f00a23cbea07da614d8b767e4", + "0x00000000000000000000000000000012167fb1f0d3b9afea7d534404e3b36b53", + "0x0000000000000000000000000000000000021e6d056d0d40c720927abd39c872", + "0x0000000000000000000000000000004ea3f0c21ee1056b3e2ad9c082242e5a2e", + "0x00000000000000000000000000000000000c574204fd079871ae599e192d72c8", + "0x0000000000000000000000000000002654c5b2b175f95fdb2ab405dcc4220545", + "0x00000000000000000000000000000000001fd13a35df71290c2354c6c5f610de", + "0x000000000000000000000000000000d5e3b3464d67c82f035b33016912264b04", + "0x000000000000000000000000000000000009fcdab45c12d2f313f95b94a1dcb8", + "0x000000000000000000000000000000768c5a9d8ca0081f67ff3171a7ffe3ba49", + "0x00000000000000000000000000000000001cd676b8d32bb0bb898d83a9f49a2b", + "0x00000000000000000000000000000028650bc3473de217fbfec1e9fb10e4e999", + "0x0000000000000000000000000000000000260c000ea0ebc3db3ba672328007a5", + "0x000000000000000000000000000000f1948fbf68599bf0628f118156de61f57f", + "0x00000000000000000000000000000000000033e796d200425f6a499de18dbfeb", + "0x00000000000000000000000000000016a35cf8fc5f017037adf860723e6346e5", + "0x0000000000000000000000000000000000088cf6d72197800bb1300677f734a7", + "0x00000000000000000000000000000047169c153b6cc24bbac1e4126410779ccb", + "0x000000000000000000000000000000000022b70bfb92e8c7944ae65a49b7effa", + "0x000000000000000000000000000000425c661c37104ad33c2054f3cfde9954d0", + "0x000000000000000000000000000000000000c36b8ecc5963bef022dea4dfadcc", + "0x0000000000000000000000000000006f206a04895661d3bd004222a1f8a7fc73", + "0x00000000000000000000000000000000001b12a59a820d3aa543a594a1b9d92f", + "0x0000000000000000000000000000002103559842aca1e08af33bb1f714ebc02a", + "0x00000000000000000000000000000000001b8936a0be628b58af9859c2a851d1", + "0x000000000000000000000000000000862e0c485b99696417d296ecc2b2bac316", + "0x00000000000000000000000000000000000ae46fcce211297d2d7fcab27fc041", + "0x000000000000000000000000000000551700c158e12cb40d8ea4ef2563b6fb43", + "0x00000000000000000000000000000000000b515d88939b250a4a4758e4e2ea53", + "0x000000000000000000000000000000f4bae0ad0baeb9d42c7fe2ae3d18c98fad", + "0x00000000000000000000000000000000002a20d66bd435a17fdf1eaf345d5933", + "0x000000000000000000000000000000ed8a8ba528c7088b1ae4730572e1ec32c8", + "0x000000000000000000000000000000000009506de430d6b9f9863e6f10cd35fb", + "0x000000000000000000000000000000682b627744ce0319f4d9191675057282fb", + "0x000000000000000000000000000000000017de059961f8c12752abd299396f86", + "0x000000000000000000000000000000b975958ec262178729e94350c0e7543fb0", + "0x0000000000000000000000000000000000220ce50e394560e53f025e094d17aa", + "0x0000000000000000000000000000001fca3a68a28d438e85e9dc955856752779", + "0x000000000000000000000000000000000028f8f3400bb3b9d19b02ec709e2ee4", + "0x0000000000000000000000000000004e35d073460b0634ebe216d49a3dca9b36", + "0x00000000000000000000000000000000000cb0f5827b08075c405353f10ba632", + "0x0000000000000000000000000000001ece860550ce14fae74eda0123ded56a74", + "0x00000000000000000000000000000000000a34b258bd3daaf8f9edd201c25ed3", + "0x0000000000000000000000000000008cb28ae85d58a75302229585a9ad114c2b", + "0x000000000000000000000000000000000014aac1da344ad32659c3036510fcc1", + "0x000000000000000000000000000000822b45036d5c2befa8a20df910513570c4", + "0x000000000000000000000000000000000011244b388e709fbcb7f54658cfac43", + "0x000000000000000000000000000000389de9951eb8fad7e25e4ad0a9229d2275", + "0x0000000000000000000000000000000000136e6eb0ee251f9b12336cb7bb46ee", + "0x00000000000000000000000000000088f21d9f6c7c54ce4e9a4c103a91b54a58", + "0x0000000000000000000000000000000000187f2beab9a05ca29d2137ee7cbc19", + "0x0000000000000000000000000000009c703a5eb43dcef0686e08fa57ef452f68", + "0x000000000000000000000000000000000012caebb183f1490d3e4f2a2c583ab6", + "0x0000000000000000000000000000009dab4a0aa8d4954a8e1761db3da148a746", + "0x0000000000000000000000000000000000230a08da3b62fd6479b4230760b686", + "0x00000000000000000000000000000081a00a1e38bbd5212603f18ef982a5189d", + "0x000000000000000000000000000000000021ae0f9df38f1e70fa3c26867f4ee8", + "0x0000000000000000000000000000001a722dbd34f841b4823cd055149fce642f", + "0x000000000000000000000000000000000002df2693a9b134670cfe72bf29b363", + "0x00000000000000000000000000000007c906c328630b844b0797e34cedccd1ec", + "0x00000000000000000000000000000000002ab2ae39dd9c0259f7dfb1dda47e81", + "0x000000000000000000000000000000ac6642a4923aa2df07a00a9d3e462b0ed1", + "0x000000000000000000000000000000000015afb7af6c0fc23a24457aa887df9c", + "0x0000000000000000000000000000004d916ec23ef29c0b6134f208e3535671d4", + "0x00000000000000000000000000000000000d37c6c25852903d79475133d414e8", + "0x00000000000000000000000000000029ad212431ba1972de7ee0ba9f12113be3", + "0x000000000000000000000000000000000005c2393db23155844d4f71bead84d0", + "0x000000000000000000000000000000c69074efa82a4910eaf8ab8689d7aafcad", + "0x000000000000000000000000000000000029f3d77437006a0eacf1a149c4b8a0", + "0x00000000000000000000000000000030926853da69d4016eca2f1f0df5e5316f", + "0x000000000000000000000000000000000014841d3291aecd45ea0e05657dbed2", + "0x00000000000000000000000000000052fdb060fe666a3f686088f1f6996a1cf9", + "0x00000000000000000000000000000000002be878eb09939603b391aa9ee0393a", + "0x000000000000000000000000000000d99de3b49476e64c0138037838cfc63803", + "0x0000000000000000000000000000000000260874b43f32c373783efe7ef200a2", + "0x0000000000000000000000000000004951edbb25e9c6b65d446e3418b2b3f16e", + "0x00000000000000000000000000000000002300fac13ab48d40a91114d1ff9627", + "0x00000000000000000000000000000090b8d216da73861ee276dddb17428d8c09", + "0x000000000000000000000000000000000028f906106984e5fa78812869cc1aee", + "0x000000000000000000000000000000ce2aff6eda49d5b8be6ee42104d2aa21e0", + "0x000000000000000000000000000000000002833f671993d2b772b5dec0e12056", + "0x0000000000000000000000000000008be4e7cfb1fdf317a33b7bc3530625e6b8", + "0x000000000000000000000000000000000023404bed8e224a350755410e5c96b2", + "0x000000000000000000000000000000cd9a812fad3fe3a89983e416b70529445b", + "0x00000000000000000000000000000000000b66296ff191a2cf6dbe6ca03dcd0c", + "0x0000000000000000000000000000005eefcb3c6f69064ed55425945fcc74c2bc", + "0x00000000000000000000000000000000001613278bd29c20c182e6f3b5e367ce", + "0x0000000000000000000000000000006c39d4dd8c65752b9bc2628fcc3dbf415c", + "0x00000000000000000000000000000000000d4b721e385647b57de3efbc9952db", + "0x000000000000000000000000000000e26e87fb5ad793c153110c1e55129d9ee7", + "0x00000000000000000000000000000000001986fe851f46fd25818f580f9d55f1", + "0x0000000000000000000000000000007a7eb895f6f2419aafb58de3f81b3f6739", + "0x00000000000000000000000000000000000d1289085013119c588fbcdbb11f5e", + "0x00000000000000000000000000000061358ce9820bc7ced39ca91d017f767cfa", + "0x000000000000000000000000000000000018a26c04d92048605adf6b40fbe696", + "0x000000000000000000000000000000924ee754d49e43f0991a540ece79958ad1", + "0x00000000000000000000000000000000001faa0f64d400addf955b2f4a8181ec", + "0x0000000000000000000000000000000c13651a87f101a4d0bf32619d4326c45b", + "0x000000000000000000000000000000000002809feb719732fbf341dd249e671d", + "0x0000000000000000000000000000003523e8c751d17a4dcd30540a4f9261403b", + "0x00000000000000000000000000000000001466cc1bd7c1743fca0477c4ea4481", + "0x0000000000000000000000000000001eee81b23a887f299049b14c11e98460d6", + "0x00000000000000000000000000000000002a56ce41f6b0be13b9c26747621b82", + "0x000000000000000000000000000000d5827d6338c78656c0d12ca1aea6ef2c7c", + "0x00000000000000000000000000000000001aa98f2de3ddda547d8f6de4e725de", + "0x0000000000000000000000000000003e895e3756deb16393c59a6a9d3669ce0f", + "0x0000000000000000000000000000000000262d7f27b9058ca9bd2e0620f9a3d3", + "0x000000000000000000000000000000b98c4ce00d755cb57daf4bc1b860536fc3", + "0x0000000000000000000000000000000000017137ecc6753555f49859a34eeb62" ] - hash = "0x0c9b0fab06de495eb1835dc184eb51d6584a970a90bb9c9dba17ab97e9b6dee6" + hash = "0x05df4d5edfe80160c2f684f683ed1ef5fb3a539be4cfb97957b2d7f5c3ab9ead" diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr index 58b47bf68d13..00910d1f1907 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request.nr @@ -1,15 +1,20 @@ -use crate::{point::Point, traits::{Deserialize, Empty, Serialize}}; +use crate::traits::{Deserialize, Empty, Serialize}; use std::meta::derive; +/// A request from an app circuit to the kernel for validation of a siloed app secret key. +/// +/// The master public key is exposed only as its [`hash_public_key`](crate::public_keys::hash_public_key) digest -- apps +/// must not see the raw point. The kernel reset circuit derives the point from the master secret +/// key hint, hashes it, and asserts equality with `pk_m_hash`. #[derive(Deserialize, Eq, Serialize)] pub struct KeyValidationRequest { - pub pk_m: Point, + pub pk_m_hash: Field, pub sk_app: Field, // not a grumpkin scalar because it's output of poseidon2 } impl Empty for KeyValidationRequest { fn empty() -> Self { - KeyValidationRequest { pk_m: Point::empty(), sk_app: 0 } + KeyValidationRequest { pk_m_hash: 0, sk_app: 0 } } } @@ -17,15 +22,12 @@ mod test { use crate::{ abis::validation_requests::key_validation_request::KeyValidationRequest, constants::KEY_VALIDATION_REQUEST_LENGTH, - point::Point, traits::{Deserialize, Serialize}, }; #[test] fn serialization_of_key_validation_request() { - let item = KeyValidationRequest { pk_m: Point::deserialize([123, 456, 0]), sk_app: 789 }; - // We use the KEY_VALIDATION_REQUEST_LENGTH constant to ensure that there is a match between the derived trait - // implementation and the constant. + let item = KeyValidationRequest { pk_m_hash: 123, sk_app: 789 }; let serialized: [Field; KEY_VALIDATION_REQUEST_LENGTH] = item.serialize(); let deserialized = KeyValidationRequest::deserialize(serialized); assert_eq(item, deserialized); diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_separator.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_separator.nr index 55cdaa6a4b1e..ca4f7e1b93b2 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_separator.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_separator.nr @@ -34,14 +34,13 @@ mod test { key_validation_request_and_separator::KeyValidationRequestAndSeparator, }, constants::KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH, - point::Point, traits::{Deserialize, Serialize}, }; #[test] fn serialization_of_key_validation_request_and_separator() { let non_empty_item = KeyValidationRequestAndSeparator { - request: KeyValidationRequest { pk_m: Point::deserialize([123, 456, 0]), sk_app: 789 }, + request: KeyValidationRequest { pk_m_hash: 123, sk_app: 789 }, key_type_domain_separator: 789, }; let serialized: [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH] = diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr b/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr index 312ae5bb5c58..c9658582aae3 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr @@ -2,10 +2,10 @@ use crate::{ address::{ partial_address::PartialAddress, salted_initialization_hash::SaltedInitializationHash, }, - constants::{AZTEC_ADDRESS_LENGTH, DOM_SEP__CONTRACT_ADDRESS_V1, MAX_FIELD_VALUE}, + constants::{AZTEC_ADDRESS_LENGTH, DOM_SEP__CONTRACT_ADDRESS_V2, MAX_FIELD_VALUE}, contract_class_id::ContractClassId, hash::poseidon2_hash_with_separator, - public_keys::{IvpkM, NpkM, OvpkM, PublicKeys, ToPoint, TpkM}, + public_keys::{hash_public_key, IvpkM, PublicKeys, ToPoint}, traits::{Deserialize, Empty, FromField, Packable, Serialize, ToField}, utils::field::sqrt, }; @@ -112,15 +112,15 @@ impl AztecAddress { // / \ . // / \ . // partial_address public_keys_hash . - // / \ / / \ \ . - // / \ Npk_m Ivpk_m Ovpk_m Tpk_m . + // / \ / / \ \ . + // / \ npk_m_hash Ivpk_m ovpk_m_hash tpk_m_hash // contract_class_id \ |................... // / | \ \ - // artifact_hash | public_bytecode_commitment salted_initialization_hash - // | / / \ - // private_function_tree_root deployer_address salt initialization_hash - // / \ / \ - // ... ... constructor_fn_selector constructor_args_hash + // artifact_hash | public_bytecode_commitment salted_initialization_hash + // | / / \ \ + // private_function_tree_root salt initialization_hash deployer_address immutables_hash + // / \ / \ + // ... ... constructor_fn_selector constructor_args_hash // / \ // / \ / \ // leaf leaf leaf leaf @@ -134,7 +134,7 @@ impl AztecAddress { let pre_address = poseidon2_hash_with_separator( [public_keys_hash.to_field(), partial_address.to_field()], - DOM_SEP__CONTRACT_ADDRESS_V1, + DOM_SEP__CONTRACT_ADDRESS_V2, ); // Note: `.add()` will fail within the blackbox fn if either of the points are not on the curve. (See tests below). @@ -213,14 +213,24 @@ fn check_embedded_curve_point_add_2() { #[test] fn compute_address_from_partial_and_pub_keys() { + let npk_m_point = Point { + x: 0x22f7fcddfa3ce3e8f0cc8e82d7b94cdd740afa3e77f8e4a63ea78a239432dcab, + y: 0x0471657de2b6216ade6c506d28fbc22ba8b8ed95c871ad9f3e3984e90d9723a7, + is_infinite: false, + }; + let ovpk_m_point = Point { + x: 0x09115c96e962322ffed6522f57194627136b8d03ac7469109707f5e44190c484, + y: 0x0c49773308a13d740a7f0d4f0e6163b02c5a408b6f965856b6a491002d073d5b, + is_infinite: false, + }; + let tpk_m_point = Point { + x: 0x00d3d81beb009873eb7116327cf47c612d5758ef083d4fda78e9b63980b2a762, + y: 0x2f567d22d2b02fe1f4ad42db9d58a36afd1983e7e2909d1cab61cafedad6193a, + is_infinite: false, + }; + let public_keys = PublicKeys { - npk_m: NpkM { - inner: Point { - x: 0x22f7fcddfa3ce3e8f0cc8e82d7b94cdd740afa3e77f8e4a63ea78a239432dcab, - y: 0x0471657de2b6216ade6c506d28fbc22ba8b8ed95c871ad9f3e3984e90d9723a7, - is_infinite: false, - }, - }, + npk_m_hash: hash_public_key(npk_m_point), ivpk_m: IvpkM { inner: Point { x: 0x111223493147f6785514b1c195bb37a2589f22a6596d30bb2bb145fdc9ca8f1e, @@ -228,40 +238,26 @@ fn compute_address_from_partial_and_pub_keys() { is_infinite: false, }, }, - ovpk_m: OvpkM { - inner: Point { - x: 0x09115c96e962322ffed6522f57194627136b8d03ac7469109707f5e44190c484, - y: 0x0c49773308a13d740a7f0d4f0e6163b02c5a408b6f965856b6a491002d073d5b, - is_infinite: false, - }, - }, - tpk_m: TpkM { - inner: Point { - x: 0x00d3d81beb009873eb7116327cf47c612d5758ef083d4fda78e9b63980b2a762, - y: 0x2f567d22d2b02fe1f4ad42db9d58a36afd1983e7e2909d1cab61cafedad6193a, - is_infinite: false, - }, - }, + ovpk_m_hash: hash_public_key(ovpk_m_point), + tpk_m_hash: hash_public_key(tpk_m_point), }; let partial_address = PartialAddress::from_field( 0x0a7c585381b10f4666044266a02405bf6e01fa564c8517d4ad5823493abd31de, ); - let address = AztecAddress::compute(public_keys, partial_address); + let address = AztecAddress::compute(public_keys, partial_address).to_field(); - // The following value was generated by `derivation.test.ts`. - // --> Run the test with AZTEC_GENERATE_TEST_DATA=1 flag to update test data. let expected_computed_address_from_partial_and_pubkeys = - 0x2f66081d4bb077fbe8e8abe96a3516a713a3d7e34360b4e985da0da95092b37d; - assert(address.to_field() == expected_computed_address_from_partial_and_pubkeys); + 0x05f9c48c02e4dbd18d7e165f999c3b8426abb1911476f48e68deef42475d6145; + assert_eq(address, expected_computed_address_from_partial_and_pubkeys); } #[test] fn compute_preaddress_from_partial_and_pub_keys() { - let pre_address = poseidon2_hash_with_separator([1, 2], DOM_SEP__CONTRACT_ADDRESS_V1); + let pre_address = poseidon2_hash_with_separator([1, 2], DOM_SEP__CONTRACT_ADDRESS_V2); let expected_computed_preaddress_from_partial_and_pubkey = - 0x286c7755f2924b1e53b00bcaf1adaffe7287bd74bba7a02f4ab867e3892d28da; + 0x0fa1c698858df1a99170cd39d5f4bfad6d0d60f1f8afa3dc92281ee60b36f3bb; assert(pre_address == expected_computed_preaddress_from_partial_and_pubkey); } diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr b/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr index e2698c8475e7..cd5f1f9fb95f 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/address/partial_address.nr @@ -35,10 +35,11 @@ impl PartialAddress { salt: Field, initialization_hash: Field, deployer: AztecAddress, + immutables_hash: Field, ) -> Self { PartialAddress::compute_from_salted_initialization_hash( contract_class_id, - SaltedInitializationHash::compute(salt, initialization_hash, deployer), + SaltedInitializationHash::compute(salt, initialization_hash, deployer, immutables_hash), ) } diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/address/salted_initialization_hash.nr b/noir-projects/noir-protocol-circuits/crates/types/src/address/salted_initialization_hash.nr index 4f09babab178..8b50410bfabd 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/address/salted_initialization_hash.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/address/salted_initialization_hash.nr @@ -20,9 +20,14 @@ impl SaltedInitializationHash { Self { inner: field } } - pub fn compute(salt: Field, initialization_hash: Field, deployer: AztecAddress) -> Self { + pub fn compute( + salt: Field, + initialization_hash: Field, + deployer: AztecAddress, + immutables_hash: Field, + ) -> Self { SaltedInitializationHash::from_field(poseidon2_hash_with_separator( - [salt, initialization_hash, deployer.to_field()], + [salt, initialization_hash, deployer.to_field(), immutables_hash], DOM_SEP__SALTED_INITIALIZATION_HASH, )) } diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr b/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr index 027f1e7ef243..cc57fe6f9cff 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr @@ -291,6 +291,16 @@ pub global DEFAULT_TPK_M_X: Field = pub global DEFAULT_TPK_M_Y: Field = 0x2039907fe37f08d10739255141bb066c506a12f7d1e8dfec21abc58494705b6f; +// Precomputed `hash_public_key(Point { DEFAULT_*_X, DEFAULT_*_Y })` for each non-ivpk key. +// Used by `PublicKeys::default()` and the matching TS `PublicKeys.default()`. Verified by the +// `compute_default_hash` test in public_keys.nr. +pub global DEFAULT_NPK_M_HASH: Field = + 0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a26; +pub global DEFAULT_OVPK_M_HASH: Field = + 0x0e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b; +pub global DEFAULT_TPK_M_HASH: Field = + 0x082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0; + // LENGTH OF STRUCTS SERIALIZED TO FIELDS // TODO: figure out whether Noir is sophisticated enough to derive these for us, these days. pub global AZTEC_ADDRESS_LENGTH: u32 = 1; @@ -301,7 +311,7 @@ pub global GAS_SETTINGS_LENGTH: u32 = GAS_LENGTH /* gas_limits */ + GAS_FEES_LENGTH /* max_fees_per_gas */ + GAS_FEES_LENGTH /* max_priority_fees_per_gas */; pub global CALL_CONTEXT_LENGTH: u32 = 4; -pub global CONTRACT_INSTANCE_LENGTH: u32 = 16; +pub global CONTRACT_INSTANCE_LENGTH: u32 = 11; pub global CONTRACT_STORAGE_READ_LENGTH: u32 = 3; pub global CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH: u32 = 3; pub global ETH_ADDRESS_LENGTH: u32 = 1; @@ -329,7 +339,7 @@ pub global L2_TO_L1_MESSAGE_LENGTH: u32 = 1 /* recipient */ + 1 /* content */; pub global COUNTED_L2_TO_L1_MESSAGE_LENGTH: u32 = L2_TO_L1_MESSAGE_LENGTH + 1; pub global SCOPED_L2_TO_L1_MESSAGE_LENGTH: u32 = L2_TO_L1_MESSAGE_LENGTH + 1; pub global SCOPED_COUNTED_L2_TO_L1_MESSAGE_LENGTH: u32 = COUNTED_L2_TO_L1_MESSAGE_LENGTH + 1; -pub global KEY_VALIDATION_REQUEST_LENGTH: u32 = 4; +pub global KEY_VALIDATION_REQUEST_LENGTH: u32 = 2; pub global KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH: u32 = KEY_VALIDATION_REQUEST_LENGTH + 1; pub global SCOPED_KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH: u32 = KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH + 1; @@ -748,11 +758,12 @@ pub global DOM_SEP__IVSK_M: u32 = 2747825907; pub global DOM_SEP__OVSK_M: u32 = 4272201051; pub global DOM_SEP__TSK_M: u32 = 1546190975; pub global DOM_SEP__PUBLIC_KEYS_HASH: u32 = 777457226; +pub global DOM_SEP__SINGLE_PUBLIC_KEY_HASH: u32 = 3452068255; // Address pub global DOM_SEP__PARTIAL_ADDRESS: u32 = 2103633018; -pub global DOM_SEP__CONTRACT_ADDRESS_V1: u32 = 1788365517; +pub global DOM_SEP__CONTRACT_ADDRESS_V2: u32 = 4099338721; // --------------------------------------------------------------- @@ -1240,7 +1251,7 @@ pub global AVM_DEBUGLOG_BASE_L2_GAS: u32 = 9; pub global AVM_POSEIDON2_BASE_L2_GAS: u32 = 24 * 15; // SLOW_SIM_MUL = 15 pub global AVM_SHA256COMPRESSION_BASE_L2_GAS: u32 = 12288; pub global AVM_KECCAKF1600_BASE_L2_GAS: u32 = 58176; -pub global AVM_ECADD_BASE_L2_GAS: u32 = 27 * 10; // SLOW_SIM_MUL = 10 +pub global AVM_ECADD_BASE_L2_GAS: u32 = 18 * 10; // SLOW_SIM_MUL = 10 pub global AVM_TORADIXBE_BASE_L2_GAS: u32 = 24; // Dynamic L2 GAS diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/constants_tests.nr b/noir-projects/noir-protocol-circuits/crates/types/src/constants_tests.nr index e4415d7b4b95..24f79b64b047 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/constants_tests.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/constants_tests.nr @@ -9,11 +9,11 @@ use crate::{ DOM_SEP__APP_SILOED_ECDH_SHARED_SECRET, DOM_SEP__AUTHWIT_INNER, DOM_SEP__AUTHWIT_NULLIFIER, DOM_SEP__AUTHWIT_OUTER, DOM_SEP__BLOB_CHALLENGE_Z, DOM_SEP__BLOB_GAMMA_ACC, DOM_SEP__BLOB_GAMMA_FINAL, DOM_SEP__BLOB_HASHED_Y_LIMBS, DOM_SEP__BLOB_Z_ACC, - DOM_SEP__BLOCK_HEADER_HASH, DOM_SEP__BLOCK_HEADERS_HASH, DOM_SEP__CONTRACT_ADDRESS_V1, + DOM_SEP__BLOCK_HEADER_HASH, DOM_SEP__BLOCK_HEADERS_HASH, DOM_SEP__CONTRACT_ADDRESS_V2, DOM_SEP__CONTRACT_CLASS_ID, DOM_SEP__ECDH_FIELD_MASK, DOM_SEP__ECDH_SUBKEY, DOM_SEP__EVENT_COMMITMENT, DOM_SEP__EVENT_LOG_TAG, DOM_SEP__FUNCTION_ARGS, - DOM_SEP__INITIALIZATION_NULLIFIER, DOM_SEP__INITIALIZER, - DOM_SEP__IVSK_M, DOM_SEP__MERKLE_HASH, DOM_SEP__MESSAGE_NULLIFIER, DOM_SEP__NHK_M, + DOM_SEP__INITIALIZATION_NULLIFIER, DOM_SEP__INITIALIZER, DOM_SEP__IVSK_M, + DOM_SEP__MERKLE_HASH, DOM_SEP__MESSAGE_NULLIFIER, DOM_SEP__NHK_M, DOM_SEP__NON_INTERACTIVE_HANDSHAKE_LOG_TAG, DOM_SEP__NOTE_COMPLETION_LOG_TAG, DOM_SEP__NOTE_HASH, DOM_SEP__NOTE_HASH_NONCE, DOM_SEP__NOTE_NULLIFIER, DOM_SEP__NULLIFIER_MERKLE, DOM_SEP__OVSK_M, DOM_SEP__PARTIAL_ADDRESS, @@ -25,9 +25,10 @@ use crate::{ DOM_SEP__PUBLIC_LEAF_SLOT, DOM_SEP__PUBLIC_STORAGE_MAP_SLOT, DOM_SEP__PUBLIC_TX_HASH, DOM_SEP__RETRIEVED_BYTECODES_MERKLE, DOM_SEP__SALTED_INITIALIZATION_HASH, DOM_SEP__SECRET_HASH, DOM_SEP__SIGNATURE_PAYLOAD, DOM_SEP__SILOED_NOTE_HASH, - DOM_SEP__SILOED_NULLIFIER, DOM_SEP__SINGLE_USE_CLAIM_NULLIFIER, DOM_SEP__TSK_M, - DOM_SEP__TX_NULLIFIER, DOM_SEP__TX_REQUEST, DOM_SEP__UNCONSTRAINED_MSG_LOG_TAG, - DOM_SEP__UNIQUE_NOTE_HASH, DOM_SEP__WRITTEN_SLOTS_MERKLE, NULL_MSG_SENDER_CONTRACT_ADDRESS, + DOM_SEP__SILOED_NULLIFIER, DOM_SEP__SINGLE_PUBLIC_KEY_HASH, + DOM_SEP__SINGLE_USE_CLAIM_NULLIFIER, DOM_SEP__TSK_M, DOM_SEP__TX_NULLIFIER, + DOM_SEP__TX_REQUEST, DOM_SEP__UNCONSTRAINED_MSG_LOG_TAG, DOM_SEP__UNIQUE_NOTE_HASH, + DOM_SEP__WRITTEN_SLOTS_MERKLE, NULL_MSG_SENDER_CONTRACT_ADDRESS, SIDE_EFFECT_MASKING_ADDRESS, TX_START_PREFIX, }, hash::poseidon2_hash_bytes, @@ -142,7 +143,7 @@ impl HashedValueTester::new(); + let mut tester = HashedValueTester::<71, 64>::new(); // ----------------- // Domain separators @@ -193,8 +194,9 @@ fn hashed_values_match_derived() { tester.assert_dom_sep_matches_derived(DOM_SEP__OVSK_M, "ovsk_m"); tester.assert_dom_sep_matches_derived(DOM_SEP__TSK_M, "tsk_m"); tester.assert_dom_sep_matches_derived(DOM_SEP__PUBLIC_KEYS_HASH, "public_keys_hash"); + tester.assert_dom_sep_matches_derived(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, "single_public_key_hash"); tester.assert_dom_sep_matches_derived(DOM_SEP__PARTIAL_ADDRESS, "partial_address"); - tester.assert_dom_sep_matches_derived(DOM_SEP__CONTRACT_ADDRESS_V1, "contract_address_v1"); + tester.assert_dom_sep_matches_derived(DOM_SEP__CONTRACT_ADDRESS_V2, "contract_address_v2"); tester.assert_dom_sep_matches_derived(DOM_SEP__BLOCK_HEADER_HASH, "block_header_hash"); tester.assert_dom_sep_matches_derived(DOM_SEP__TX_REQUEST, "tx_request"); tester.assert_dom_sep_matches_derived(DOM_SEP__PUBLIC_TX_HASH, "public_tx_hash"); diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/contract_instance.nr b/noir-projects/noir-protocol-circuits/crates/types/src/contract_instance.nr index fa2ce232d0a3..f96851c0d0a1 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/contract_instance.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/contract_instance.nr @@ -12,6 +12,7 @@ pub struct ContractInstance { pub deployer: AztecAddress, pub contract_class_id: ContractClassId, pub initialization_hash: Field, + pub immutables_hash: Field, pub public_keys: PublicKeys, } @@ -30,6 +31,7 @@ impl ContractInstance { self.salt, self.initialization_hash, self.deployer, + self.immutables_hash, ), ) } @@ -52,6 +54,7 @@ mod test { deployer: AztecAddress::from_field(12), contract_class_id: ContractClassId::from_field(13), initialization_hash: 156, + immutables_hash: 789, public_keys: PublicKeys::default(), }; diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/public_keys.nr b/noir-projects/noir-protocol-circuits/crates/types/src/public_keys.nr index 4aa7bdd77d45..5a813b07010c 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/public_keys.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/public_keys.nr @@ -1,8 +1,8 @@ use crate::{ address::public_keys_hash::PublicKeysHash, constants::{ - DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, DEFAULT_NPK_M_X, DEFAULT_NPK_M_Y, DEFAULT_OVPK_M_X, - DEFAULT_OVPK_M_Y, DEFAULT_TPK_M_X, DEFAULT_TPK_M_Y, DOM_SEP__PUBLIC_KEYS_HASH, + DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, DEFAULT_NPK_M_HASH, DEFAULT_OVPK_M_HASH, + DEFAULT_TPK_M_HASH, DOM_SEP__PUBLIC_KEYS_HASH, DOM_SEP__SINGLE_PUBLIC_KEY_HASH, }, hash::poseidon2_hash_with_separator, point::validate_on_curve, @@ -16,22 +16,11 @@ pub trait ToPoint { fn to_point(self) -> Point; } -#[derive(Deserialize, Eq, Serialize)] -pub struct NpkM { - pub inner: Point, -} - -impl ToPoint for NpkM { - fn to_point(self) -> Point { - self.inner - } -} - -// Note: If we store npk_m_hash directly we can remove this trait implementation. See #8091 -impl Hash for NpkM { - fn hash(self) -> Field { - self.inner.hash() - } +/// Hashes a public key point under the canonical single-public-key domain separator. +/// +/// Defined as `Poseidon2(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, x, y)`. +pub fn hash_public_key(p: Point) -> Field { + poseidon2_hash_with_separator([p.x, p.y], DOM_SEP__SINGLE_PUBLIC_KEY_HASH as Field) } #[derive(Deserialize, Eq, Serialize)] @@ -45,57 +34,35 @@ impl ToPoint for IvpkM { } } -#[derive(Deserialize, Eq, Serialize)] -pub struct OvpkM { - pub inner: Point, -} - -impl Hash for OvpkM { +impl Hash for IvpkM { fn hash(self) -> Field { - self.inner.hash() - } -} - -impl ToPoint for OvpkM { - fn to_point(self) -> Point { - self.inner - } -} - -#[derive(Deserialize, Eq, Serialize)] -pub struct TpkM { - pub inner: Point, -} - -impl ToPoint for TpkM { - fn to_point(self) -> Point { - self.inner + hash_public_key(self.inner) } } +/// A non-owner's view of an account's master public keys. +/// +/// `npk_m_hash`, `ovpk_m_hash`, and `tpk_m_hash` are the [`hash_public_key`] digests of the +/// underlying points. The points themselves are not exposed here -- they are only known to the +/// owner. `ivpk_m` remains a point because address derivation (encrypt-to-address) requires the +/// raw point in-circuit. #[derive(Deserialize, Eq, Serialize)] pub struct PublicKeys { - pub npk_m: NpkM, + pub npk_m_hash: Field, pub ivpk_m: IvpkM, - pub ovpk_m: OvpkM, - pub tpk_m: TpkM, + pub ovpk_m_hash: Field, + pub tpk_m_hash: Field, } impl Default for PublicKeys { fn default() -> Self { PublicKeys { - npk_m: NpkM { - inner: Point { x: DEFAULT_NPK_M_X, y: DEFAULT_NPK_M_Y, is_infinite: false }, - }, + npk_m_hash: DEFAULT_NPK_M_HASH, ivpk_m: IvpkM { inner: Point { x: DEFAULT_IVPK_M_X, y: DEFAULT_IVPK_M_Y, is_infinite: false }, }, - ovpk_m: OvpkM { - inner: Point { x: DEFAULT_OVPK_M_X, y: DEFAULT_OVPK_M_Y, is_infinite: false }, - }, - tpk_m: TpkM { - inner: Point { x: DEFAULT_TPK_M_X, y: DEFAULT_TPK_M_Y, is_infinite: false }, - }, + ovpk_m_hash: DEFAULT_OVPK_M_HASH, + tpk_m_hash: DEFAULT_TPK_M_HASH, } } } @@ -103,23 +70,25 @@ impl Default for PublicKeys { impl PublicKeys { pub fn hash(self) -> PublicKeysHash { PublicKeysHash::from_field(poseidon2_hash_with_separator( - self.serialize(), + [self.npk_m_hash, self.ivpk_m.hash(), self.ovpk_m_hash, self.tpk_m_hash], DOM_SEP__PUBLIC_KEYS_HASH as Field, )) } + /// Validates that the (only) point-form key, `ivpk_m`, lies on the Grumpkin curve. + /// + /// The other three keys are exposed only as hashes and are unverifiable on-circuit; the PXE + /// is responsible for ensuring they were derived from on-curve points before persistence. pub fn validate_on_curve(self) { - validate_on_curve(self.npk_m.inner); validate_on_curve(self.ivpk_m.inner); - validate_on_curve(self.ovpk_m.inner); - validate_on_curve(self.tpk_m.inner); } + /// Validates that `ivpk_m` is not the point at infinity. + /// + /// As with [`Self::validate_on_curve`], the other three keys are now exposed only as hashes + /// and this property must be enforced PXE-side. pub fn validate_non_infinity(self) { - assert_eq(self.npk_m.inner.is_infinite, false, "NpkM is the point at infinity"); assert_eq(self.ivpk_m.inner.is_infinite, false, "IvpkM is the point at infinity"); - assert_eq(self.ovpk_m.inner.is_infinite, false, "OvpkM is the point at infinity"); - assert_eq(self.tpk_m.inner.is_infinite, false, "TpkM is the point at infinity"); } } @@ -134,39 +103,65 @@ impl ToPoint for AddressPoint { } mod test { + use crate::constants::{ + DEFAULT_NPK_M_HASH, DEFAULT_NPK_M_X, DEFAULT_NPK_M_Y, DEFAULT_OVPK_M_HASH, DEFAULT_OVPK_M_X, + DEFAULT_OVPK_M_Y, DEFAULT_TPK_M_HASH, DEFAULT_TPK_M_X, DEFAULT_TPK_M_Y, + }; use crate::point::Point; use crate::{ - point::POINT_LENGTH, - public_keys::{IvpkM, NpkM, OvpkM, PublicKeys, TpkM}, + public_keys::{hash_public_key, IvpkM, PublicKeys}, traits::{Deserialize, Serialize}, }; use std::ops::Neg; + global PUBLIC_KEYS_LENGTH: u32 = 6; + + /// Catches drift between the precomputed `DEFAULT_*_M_HASH` constants and the + /// `DEFAULT_*_M_X/Y` curve points they're derived from. If anyone updates the X/Y + /// constants (or the hashing primitive) without also updating the *_HASH constants, + /// this test fails and `PublicKeys::default()` would silently produce a stale value. + #[test] + unconstrained fn default_hashes_match_default_points() { + let npk = hash_public_key( + Point { x: DEFAULT_NPK_M_X, y: DEFAULT_NPK_M_Y, is_infinite: false }, + ); + assert_eq(npk, DEFAULT_NPK_M_HASH); + + let ovpk = hash_public_key( + Point { x: DEFAULT_OVPK_M_X, y: DEFAULT_OVPK_M_Y, is_infinite: false }, + ); + assert_eq(ovpk, DEFAULT_OVPK_M_HASH); + + let tpk = hash_public_key( + Point { x: DEFAULT_TPK_M_X, y: DEFAULT_TPK_M_Y, is_infinite: false }, + ); + assert_eq(tpk, DEFAULT_TPK_M_HASH); + } + #[test] unconstrained fn compute_public_keys_hash() { let keys = PublicKeys { - npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } }, + npk_m_hash: 11, ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } }, - ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } }, - tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } }, + ovpk_m_hash: 22, + tpk_m_hash: 33, }; - let actual = keys.hash(); + let actual = keys.hash().to_field(); - // The following value was generated by `public_keys.test.ts`. let expected_public_keys_hash = - 0x056998309f6c119e4d753e404f94fef859dddfa530a9379634ceb0854b29bf7a; + 0x0b8c7b67576d3ac859a7fab578b2b2e305c67eba9e133b0fa46af8d19a50b8fc; - assert(actual.to_field() == expected_public_keys_hash); + assert_eq(actual, expected_public_keys_hash); } #[test] unconstrained fn test_validate_on_curve() { let keys = PublicKeys { - npk_m: NpkM { inner: Point::generator() }, + npk_m_hash: 0, ivpk_m: IvpkM { inner: Point::generator().double() }, - ovpk_m: OvpkM { inner: Point::generator().neg() }, - tpk_m: TpkM { inner: Point::generator() + Point::generator().double() }, + ovpk_m_hash: 0, + tpk_m_hash: 0, }; keys.validate_on_curve(); @@ -175,10 +170,10 @@ mod test { #[test(should_fail_with = "Point not on curve")] unconstrained fn test_validate_not_on_curve() { let keys = PublicKeys { - npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } }, + npk_m_hash: 0, ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } }, - ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } }, - tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } }, + ovpk_m_hash: 0, + tpk_m_hash: 0, }; keys.validate_on_curve(); @@ -187,22 +182,22 @@ mod test { #[test] unconstrained fn test_validate_non_infinity() { let keys = PublicKeys { - npk_m: NpkM { inner: Point::generator() }, + npk_m_hash: 0, ivpk_m: IvpkM { inner: Point::generator().double() }, - ovpk_m: OvpkM { inner: Point::generator().neg() }, - tpk_m: TpkM { inner: Point::generator() + Point::generator().double() }, + ovpk_m_hash: 0, + tpk_m_hash: 0, }; keys.validate_non_infinity(); } - #[test(should_fail_with = "TpkM is the point at infinity")] + #[test(should_fail_with = "IvpkM is the point at infinity")] unconstrained fn test_validate_infinity() { let keys = PublicKeys { - npk_m: NpkM { inner: Point::generator() }, - ivpk_m: IvpkM { inner: Point::generator().double() }, - ovpk_m: OvpkM { inner: Point::generator().neg() }, - tpk_m: TpkM { inner: Point::point_at_infinity() }, + npk_m_hash: 0, + ivpk_m: IvpkM { inner: Point::point_at_infinity() }, + ovpk_m_hash: 0, + tpk_m_hash: 0, }; keys.validate_non_infinity(); @@ -212,26 +207,24 @@ mod test { unconstrained fn compute_default_hash() { let keys = PublicKeys::default(); - let actual = keys.hash(); + let actual = keys.hash().to_field(); - // The following value was generated by `public_keys.test.ts`. let test_data_default_hash = - 0x023547e676dba19784188825b901a0e70d8ad978300d21d6185a54281b734da0; + 0x147a900f3e1abdfcc56355d65ab9bebb1016400cb9d81ee1c977d0df16bb198c; - assert(actual.to_field() == test_data_default_hash); + assert_eq(actual, test_data_default_hash); } #[test] unconstrained fn serde() { let keys = PublicKeys { - npk_m: NpkM { inner: Point { x: 1, y: 2, is_infinite: false } }, + npk_m_hash: 11, ivpk_m: IvpkM { inner: Point { x: 3, y: 4, is_infinite: false } }, - ovpk_m: OvpkM { inner: Point { x: 5, y: 6, is_infinite: false } }, - tpk_m: TpkM { inner: Point { x: 7, y: 8, is_infinite: false } }, + ovpk_m_hash: 22, + tpk_m_hash: 33, }; - // We use the PUBLIC_KEYS_LENGTH constant to ensure that there is a match between the derived trait - let serialized: [Field; POINT_LENGTH * 4] = keys.serialize(); + let serialized: [Field; PUBLIC_KEYS_LENGTH] = keys.serialize(); let deserialized = PublicKeys::deserialize(serialized); assert_eq(keys, deserialized); diff --git a/noir/noir-repo b/noir/noir-repo index 4f77d904a259..f1a4575adac5 160000 --- a/noir/noir-repo +++ b/noir/noir-repo @@ -1 +1 @@ -Subproject commit 4f77d904a259301b1784dbb1e1e7b82e5e0e2260 +Subproject commit f1a4575adac59af0a86b036cf73ff5883d142a91 diff --git a/yarn-project/aztec-node/src/aztec-node/server.ts b/yarn-project/aztec-node/src/aztec-node/server.ts index 817ce3f0bf1d..f058e12f8e33 100644 --- a/yarn-project/aztec-node/src/aztec-node/server.ts +++ b/yarn-project/aztec-node/src/aztec-node/server.ts @@ -395,7 +395,6 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, AztecNodeDeb /** Fetches checkpoint context for a set of blocks, deduplicating shared checkpoints. */ async #getCheckpointContextsForBlocks( blocks: { checkpointNumber: CheckpointNumber }[], - // TODO(palla): CheckpointNumber should be accepted by this lint rule ): Promise> { const unique = Array.from(new Set(blocks.map(b => b.checkpointNumber))); const entries = await Promise.all(unique.map(async n => [n, await this.#getCheckpointContext(n)] as const)); diff --git a/yarn-project/aztec.js/src/deployment/publish_instance.ts b/yarn-project/aztec.js/src/deployment/publish_instance.ts index bb6db197f49c..f713ee39042d 100644 --- a/yarn-project/aztec.js/src/deployment/publish_instance.ts +++ b/yarn-project/aztec.js/src/deployment/publish_instance.ts @@ -17,7 +17,8 @@ export function publishInstance(wallet: Wallet, instance: ContractInstanceWithAd salt, contractClassId, instance.initializationHash, - publicKeys, + instance.immutablesHash, + publicKeys.toNoirStruct(), isUniversalDeploy, ); } diff --git a/yarn-project/aztec.js/src/wallet/wallet.test.ts b/yarn-project/aztec.js/src/wallet/wallet.test.ts index cf96c2231cc2..344747a28a29 100644 --- a/yarn-project/aztec.js/src/wallet/wallet.test.ts +++ b/yarn-project/aztec.js/src/wallet/wallet.test.ts @@ -136,12 +136,13 @@ describe('WalletSchema', () => { }; const mockInstance: ContractInstanceWithAddress = { address: await AztecAddress.random(), - version: 1, + version: 2, salt: Fr.random(), deployer: await AztecAddress.random(), currentContractClassId: Fr.random(), originalContractClassId: Fr.random(), initializationHash: Fr.random(), + immutablesHash: Fr.random(), publicKeys: PublicKeys.default(), }; const result = await context.client.registerContract(mockInstance, mockArtifact, Fr.random()); @@ -150,10 +151,11 @@ describe('WalletSchema', () => { currentContractClassId: expect.any(Fr), deployer: expect.any(AztecAddress), initializationHash: expect.any(Fr), + immutablesHash: expect.any(Fr), originalContractClassId: expect.any(Fr), publicKeys: expect.any(PublicKeys), salt: expect.any(Fr), - version: 1, + version: 2, }); }); @@ -335,12 +337,13 @@ describe('WalletSchema', () => { const mockInstance: ContractInstanceWithAddress = { address: address2, - version: 1, + version: 2, salt: Fr.random(), deployer: await AztecAddress.random(), currentContractClassId: Fr.random(), originalContractClassId: Fr.random(), initializationHash: Fr.random(), + immutablesHash: Fr.random(), publicKeys: PublicKeys.default(), }; @@ -470,11 +473,12 @@ class MockWallet implements Wallet { async registerContract(_instanceData: any, _artifact?: any, _secretKey?: Fr): Promise { return { - version: 1, + version: 2, address: await AztecAddress.random(), currentContractClassId: Fr.random(), deployer: await AztecAddress.random(), initializationHash: Fr.random(), + immutablesHash: Fr.random(), originalContractClassId: Fr.random(), publicKeys: await PublicKeys.random(), salt: Fr.random(), diff --git a/yarn-project/aztec/src/cli/util.ts b/yarn-project/aztec/src/cli/util.ts index 06d91a711ae2..d0cff613a517 100644 --- a/yarn-project/aztec/src/cli/util.ts +++ b/yarn-project/aztec/src/cli/util.ts @@ -82,18 +82,12 @@ export async function createAccountLogs(accountManagers: AccountManager[], walle accountLogStrings.push(` Address: ${completeAddress.address.toString()}\n`); accountLogStrings.push(` Partial Address: ${completeAddress.partialAddress.toString()}\n`); accountLogStrings.push(` Secret Key: ${account.getSecretKey().toString()}\n`); + accountLogStrings.push(` Master nullifier public key hash: ${completeAddress.publicKeys.npkMHash.toString()}\n`); + accountLogStrings.push(` Master incoming viewing public key: ${completeAddress.publicKeys.ivpkM.toString()}\n\n`); accountLogStrings.push( - ` Master nullifier public key: ${completeAddress.publicKeys.masterNullifierPublicKey.toString()}\n`, - ); - accountLogStrings.push( - ` Master incoming viewing public key: ${completeAddress.publicKeys.masterIncomingViewingPublicKey.toString()}\n\n`, - ); - accountLogStrings.push( - ` Master outgoing viewing public key: ${completeAddress.publicKeys.masterOutgoingViewingPublicKey.toString()}\n\n`, - ); - accountLogStrings.push( - ` Master tagging public key: ${completeAddress.publicKeys.masterTaggingPublicKey.toString()}\n\n`, + ` Master outgoing viewing public key hash: ${completeAddress.publicKeys.ovpkMHash.toString()}\n\n`, ); + accountLogStrings.push(` Master tagging public key hash: ${completeAddress.publicKeys.tpkMHash.toString()}\n\n`); } } return accountLogStrings; diff --git a/yarn-project/constants/src/constants.gen.ts b/yarn-project/constants/src/constants.gen.ts index 65028bb96a5e..81942058d57e 100644 --- a/yarn-project/constants/src/constants.gen.ts +++ b/yarn-project/constants/src/constants.gen.ts @@ -136,12 +136,15 @@ export const DEFAULT_OVPK_M_X = 122127877196173055705879288602884754543280089552 export const DEFAULT_OVPK_M_Y = 3646747884782549389807830220601404629716007431341772952958971658285958854707n; export const DEFAULT_TPK_M_X = 728059161893070741164607238299536939695876538801885465230641192969135857403n; export const DEFAULT_TPK_M_Y = 14575718736702206050102425029229426215631664471161015518982549597389390371695n; +export const DEFAULT_NPK_M_HASH = 9490941203163884203266873379528043162885952552009707050511473783876867365414n; +export const DEFAULT_OVPK_M_HASH = 6503635668323258394266152634006889881423098283582185344306514598322956522059n; +export const DEFAULT_TPK_M_HASH = 3696996950890211715833095099359687729113787313245035143274671977290400579312n; export const AZTEC_ADDRESS_LENGTH = 1; export const GAS_FEES_LENGTH = 2; export const GAS_LENGTH = 2; export const GAS_SETTINGS_LENGTH = 8; export const CALL_CONTEXT_LENGTH = 4; -export const CONTRACT_INSTANCE_LENGTH = 16; +export const CONTRACT_INSTANCE_LENGTH = 11; export const CONTRACT_STORAGE_READ_LENGTH = 3; export const CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH = 3; export const ETH_ADDRESS_LENGTH = 1; @@ -163,9 +166,9 @@ export const L2_TO_L1_MESSAGE_LENGTH = 2; export const COUNTED_L2_TO_L1_MESSAGE_LENGTH = 3; export const SCOPED_L2_TO_L1_MESSAGE_LENGTH = 3; export const SCOPED_COUNTED_L2_TO_L1_MESSAGE_LENGTH = 4; -export const KEY_VALIDATION_REQUEST_LENGTH = 4; -export const KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH = 5; -export const SCOPED_KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH = 6; +export const KEY_VALIDATION_REQUEST_LENGTH = 2; +export const KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH = 3; +export const SCOPED_KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH = 4; export const PARTIAL_STATE_REFERENCE_LENGTH = 6; export const TREE_LEAF_READ_REQUEST_LENGTH = 2; export const PRIVATE_LOG_SIZE_IN_FIELDS = 16; @@ -204,19 +207,19 @@ export const BLOCK_HEADER_LENGTH = 22; export const CHECKPOINT_HEADER_LENGTH = 12; export const CHECKPOINT_HEADER_SIZE_IN_BYTES = 316; export const SCOPED_READ_REQUEST_LEN = 3; -export const PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH = 870; +export const PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH = 838; export const PRIVATE_CONTEXT_INPUTS_LENGTH = 37; export const FEE_RECIPIENT_LENGTH = 2; export const HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE = 28; export const PAIRING_POINTS_SIZE = 8; export const IPA_CLAIM_SIZE = 6; export const PUBLIC_DATA_READ_LENGTH = 3; -export const PRIVATE_VALIDATION_REQUESTS_LENGTH = 771; +export const PRIVATE_VALIDATION_REQUESTS_LENGTH = 643; export const PRIVATE_TO_ROLLUP_ACCUMULATED_DATA_LENGTH = 1243; export const TX_CONSTANT_DATA_LENGTH = 34; export const COMBINED_CONSTANT_DATA_LENGTH = 43; export const PRIVATE_ACCUMULATED_DATA_LENGTH = 2059; -export const PRIVATE_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 2873; +export const PRIVATE_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 2745; export const PRIVATE_TO_PUBLIC_ACCUMULATED_DATA_LENGTH = 1371; export const PRIVATE_TO_AVM_ACCUMULATED_DATA_LENGTH = 152; export const NUM_PRIVATE_TO_AVM_ACCUMULATED_DATA_ARRAYS = 3; @@ -460,7 +463,7 @@ export const AVM_DEBUGLOG_BASE_L2_GAS = 9; export const AVM_POSEIDON2_BASE_L2_GAS = 360; export const AVM_SHA256COMPRESSION_BASE_L2_GAS = 12288; export const AVM_KECCAKF1600_BASE_L2_GAS = 58176; -export const AVM_ECADD_BASE_L2_GAS = 270; +export const AVM_ECADD_BASE_L2_GAS = 180; export const AVM_TORADIXBE_BASE_L2_GAS = 24; export const AVM_CALLDATACOPY_DYN_L2_GAS = 3; export const AVM_RETURNDATACOPY_DYN_L2_GAS = 3; @@ -536,8 +539,9 @@ export enum DomainSeparator { OVSK_M = 4272201051, TSK_M = 1546190975, PUBLIC_KEYS_HASH = 777457226, + SINGLE_PUBLIC_KEY_HASH = 3452068255, PARTIAL_ADDRESS = 2103633018, - CONTRACT_ADDRESS_V1 = 1788365517, + CONTRACT_ADDRESS_V2 = 4099338721, BLOCK_HEADER_HASH = 4195546849, TX_REQUEST = 3763737512, PUBLIC_TX_HASH = 1630108851, diff --git a/yarn-project/constants/src/scripts/constants.in.ts b/yarn-project/constants/src/scripts/constants.in.ts index 88d1c5fd6534..a864d6a2d2e3 100644 --- a/yarn-project/constants/src/scripts/constants.in.ts +++ b/yarn-project/constants/src/scripts/constants.in.ts @@ -122,9 +122,10 @@ const CPP_GENERATORS: string[] = [ 'BLOCK_HEADER_HASH', 'SALTED_INITIALIZATION_HASH', 'PARTIAL_ADDRESS', - 'CONTRACT_ADDRESS_V1', + 'CONTRACT_ADDRESS_V2', 'CONTRACT_CLASS_ID', 'PUBLIC_KEYS_HASH', + 'SINGLE_PUBLIC_KEY_HASH', 'NOTE_HASH_NONCE', 'UNIQUE_NOTE_HASH', 'SILOED_NOTE_HASH', @@ -316,9 +317,10 @@ const PIL_CONSTANTS = [ const PIL_GENERATORS: string[] = [ 'SALTED_INITIALIZATION_HASH', 'PARTIAL_ADDRESS', - 'CONTRACT_ADDRESS_V1', + 'CONTRACT_ADDRESS_V2', 'CONTRACT_CLASS_ID', 'PUBLIC_KEYS_HASH', + 'SINGLE_PUBLIC_KEY_HASH', 'NOTE_HASH_NONCE', 'UNIQUE_NOTE_HASH', 'SILOED_NOTE_HASH', diff --git a/yarn-project/end-to-end/src/e2e_avm_simulator.test.ts b/yarn-project/end-to-end/src/e2e_avm_simulator.test.ts index 7e82f7eb9b68..2c8363488bd7 100644 --- a/yarn-project/end-to-end/src/e2e_avm_simulator.test.ts +++ b/yarn-project/end-to-end/src/e2e_avm_simulator.test.ts @@ -157,6 +157,7 @@ describe('e2e_avm_simulator', () => { avmContractInstance.deployer, avmContractInstance.currentContractClassId, avmContractInstance.initializationHash, + avmContractInstance.immutablesHash, ) .send({ from: defaultAccountAddress }); expect(tx.executionResult).toEqual(TxExecutionResult.SUCCESS); diff --git a/yarn-project/end-to-end/src/e2e_deploy_contract/contract_class_registration.test.ts b/yarn-project/end-to-end/src/e2e_deploy_contract/contract_class_registration.test.ts index cb0a5b7cb54b..eef45cd0e792 100644 --- a/yarn-project/end-to-end/src/e2e_deploy_contract/contract_class_registration.test.ts +++ b/yarn-project/end-to-end/src/e2e_deploy_contract/contract_class_registration.test.ts @@ -142,6 +142,7 @@ describe('e2e_deploy_contract contract class registration', () => { expect(deployed!.address).toEqual(instance.address); expect(deployed!.currentContractClassId).toEqual(contractClass.id); expect(deployed!.initializationHash).toEqual(instance.initializationHash); + expect(deployed!.immutablesHash).toEqual(instance.immutablesHash); expect(deployed!.publicKeys).toEqual(instance.publicKeys); expect(deployed!.salt).toEqual(instance.salt); expect(deployed!.deployer).toEqual(instance.deployer); diff --git a/yarn-project/end-to-end/src/e2e_keys.test.ts b/yarn-project/end-to-end/src/e2e_keys.test.ts index c566e6ef525f..a41fe6c01466 100644 --- a/yarn-project/end-to-end/src/e2e_keys.test.ts +++ b/yarn-project/end-to-end/src/e2e_keys.test.ts @@ -14,6 +14,7 @@ import { deriveMasterNullifierHidingKey, deriveMasterOutgoingViewingSecretKey, derivePublicKeyFromSecretKey, + hashPublicKey, } from '@aztec/stdlib/keys'; import { jest } from '@jest/globals'; @@ -114,9 +115,13 @@ describe('Keys', () => { describe('ovsk_app', () => { it('gets ovsk_app', async () => { - // Derive the ovpk_m_hash from the account secret + // Derive the ovpk_m_hash from the account secret. Use `hashPublicKey` (the + // domain-separated hash over `[x, y]`) rather than `Point.hash()` (which hashes + // `[x, y, is_infinite]` with no separator) -- the PXE's `KeyStore.addAccount` stores + // master-key hashes computed via `hashPublicKey`, so this is what the + // `aztec_utl_getKeyValidationRequest` lookup compares against. const ovskM = deriveMasterOutgoingViewingSecretKey(secret); - const ovpkMHash = await (await derivePublicKeyFromSecretKey(ovskM)).hash(); + const ovpkMHash = await hashPublicKey(await derivePublicKeyFromSecretKey(ovskM)); // Compute the expected ovsk_app const expectedOvskApp = await computeAppSecretKey(ovskM, testContract.address, 'ov'); diff --git a/yarn-project/end-to-end/src/e2e_prover/full.test.ts b/yarn-project/end-to-end/src/e2e_prover/full.test.ts index 0afaf59aac08..9d98d4242c4c 100644 --- a/yarn-project/end-to-end/src/e2e_prover/full.test.ts +++ b/yarn-project/end-to-end/src/e2e_prover/full.test.ts @@ -1,6 +1,6 @@ import type { AztecAddress } from '@aztec/aztec.js/addresses'; import { EthAddress } from '@aztec/aztec.js/addresses'; -import { NO_WAIT, waitForProven } from '@aztec/aztec.js/contracts'; +import { BatchCall, NO_WAIT, waitForProven } from '@aztec/aztec.js/contracts'; import { waitForTx } from '@aztec/aztec.js/node'; import { Tx, TxExecutionResult } from '@aztec/aztec.js/tx'; import { RollupContract } from '@aztec/ethereum/contracts'; @@ -10,6 +10,8 @@ import { parseBooleanEnv } from '@aztec/foundation/config'; import { getTestData, isGenerateTestDataEnabled } from '@aztec/foundation/testing'; import { updateProtocolCircuitSampleInputs } from '@aztec/foundation/testing/files'; import { FeeJuicePortalAbi, TestERC20Abi } from '@aztec/l1-artifacts'; +import { ChildContract } from '@aztec/noir-test-contracts.js/Child'; +import { ParentContract } from '@aztec/noir-test-contracts.js/Parent'; import { Gas } from '@aztec/stdlib/gas'; import { PrivateKernelTailCircuitPublicInputs } from '@aztec/stdlib/kernel'; import { ChonkProof } from '@aztec/stdlib/proofs'; @@ -182,6 +184,34 @@ describe('full_prover', () => { if (!isGenerateTestDataEnabled() || REAL_PROOFS) { return; } + // Deploy Parent + Child and prove three private chains to regenerate + // `private-kernel-inner{,-2,-3}/Prover.toml`. The Token transfers below pack into init_2 / + // init_3 and never invoke plain `inner` / `inner_2` / `inner_3`. The planner is N=3 greedy, + // so we exercise it with three transactions: + // - 4 apps (entrypoint → parent.private_nested_static_call → parent.private_call → + // child.private_get_value) → init_3 + inner + // - 5 apps (BatchCall: nested chain + one extra leaf call) → init_3 + inner_2 + // - 6 apps (BatchCall: nested chain + two extra leaf calls) → init_3 + inner_3 + // `proveInteraction` alone is enough to capture `pushTestData('private-kernel-inner{,-2,-3}', + // ...)`; no need to land the txs. + logger.info(`Deploying Parent + Child contracts to exercise inner kernels`); + const { contract: childContract } = await ChildContract.deploy(provenWallet).send({ from: sender }); + const { contract: parentContract } = await ParentContract.deploy(provenWallet).send({ from: sender }); + // Seed a note in child so the static private_get_value reads below have something to return. + await childContract.methods.private_set_value(42n, sender).send({ from: sender }); + const getValueSelector = await childContract.methods.private_get_value.selector(); + const nestedChain = () => + parentContract.methods.private_nested_static_call(childContract.address, getValueSelector, [42n, sender]); + const extraLeaf = () => childContract.methods.private_get_value(42n, sender); + logger.info(`Proving 4-app nested-call tx to populate private-kernel-inner test data`); + await proveInteraction(provenWallet, nestedChain(), { from: sender }); + logger.info(`Proving 5-app batched tx to populate private-kernel-inner-2 test data`); + await proveInteraction(provenWallet, new BatchCall(provenWallet, [nestedChain(), extraLeaf()]), { from: sender }); + logger.info(`Proving 6-app batched tx to populate private-kernel-inner-3 test data`); + await proveInteraction(provenWallet, new BatchCall(provenWallet, [nestedChain(), extraLeaf(), extraLeaf()]), { + from: sender, + }); + // Create the two transactions const { result: privateBalance } = await provenAsset.methods.balance_of_private(sender).simulate({ from: sender }); const privateSendAmount = privateBalance / 20n; @@ -250,7 +280,11 @@ describe('full_prover', () => { ( [ 'private-kernel-init', + 'private-kernel-init-2', + 'private-kernel-init-3', 'private-kernel-inner', + 'private-kernel-inner-2', + 'private-kernel-inner-3', 'private-kernel-tail', 'private-kernel-tail-to-public', 'private-kernel-reset', diff --git a/yarn-project/end-to-end/src/test-wallet/utils.ts b/yarn-project/end-to-end/src/test-wallet/utils.ts index ec7b2554a414..de361a62823b 100644 --- a/yarn-project/end-to-end/src/test-wallet/utils.ts +++ b/yarn-project/end-to-end/src/test-wallet/utils.ts @@ -1,4 +1,5 @@ import { + BatchCall, ContractFunctionInteraction, DeployMethod, type DeployOptions, @@ -62,7 +63,7 @@ export class ProvenTx extends Tx { export async function proveInteraction( wallet: TestWallet, - interaction: ContractFunctionInteraction | DeployMethod, + interaction: ContractFunctionInteraction | DeployMethod | BatchCall, options: SendInteractionOptions | DeployOptions, ) { const execPayload = await interaction.request(options); diff --git a/yarn-project/foundation/src/curves/grumpkin/point.ts b/yarn-project/foundation/src/curves/grumpkin/point.ts index 05405446058d..e0bfe5b57846 100644 --- a/yarn-project/foundation/src/curves/grumpkin/point.ts +++ b/yarn-project/foundation/src/curves/grumpkin/point.ts @@ -266,7 +266,7 @@ export class Point { /* eslint-enable camelcase */ } - // Used for IvpkM, OvpkM, NpkM and TpkM. TODO(#8124): Consider removing this method. + // Used for IvpkM. TODO(#8124): Consider removing this method. toWrappedNoirStruct() { return { inner: this.toNoirStruct() }; } diff --git a/yarn-project/key-store/src/key_store.test.ts b/yarn-project/key-store/src/key_store.test.ts index 01736543b080..4f83ae9023cd 100644 --- a/yarn-project/key-store/src/key_store.test.ts +++ b/yarn-project/key-store/src/key_store.test.ts @@ -1,7 +1,7 @@ import { Fr } from '@aztec/foundation/curves/bn254'; import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; -import { deriveKeys, derivePublicKeyFromSecretKey } from '@aztec/stdlib/keys'; +import { deriveKeys, derivePublicKeyFromSecretKey, hashPublicKey } from '@aztec/stdlib/keys'; import { KeyStore } from './key_store.js'; @@ -13,52 +13,45 @@ describe('KeyStore', () => { const sk = new Fr(8923n); const keys = await deriveKeys(sk); const derivedMasterNullifierPublicKey = await derivePublicKeyFromSecretKey(keys.masterNullifierHidingKey); - const computedMasterNullifierPublicKeyHash = await derivedMasterNullifierPublicKey.hash(); + const computedMasterNullifierPublicKeyHash = await hashPublicKey(derivedMasterNullifierPublicKey); + const computedMasterIncomingViewingPublicKeyHash = await hashPublicKey(keys.publicKeys.ivpkM); const partialAddress = new Fr(243523n); const { address: accountAddress } = await keyStore.addAccount(sk, partialAddress); expect(accountAddress.toString()).toMatchInlineSnapshot( - `"0x2e54c8067c410d03d417dddd51e1cad76cece48ff39fa0fe908782b93a209a52"`, + `"0x1751d51775aece66a86f69085a9003ac539fc5c3b225d49bd4e3a58247ec5700"`, ); - const { pkM: masterNullifierPublicKey } = await keyStore.getKeyValidationRequest( + const { pkMHash: returnedNpkMHash } = await keyStore.getKeyValidationRequest( computedMasterNullifierPublicKeyHash, await AztecAddress.random(), // Address is random because we are not interested in the app secret key here ); - expect(masterNullifierPublicKey.toString()).toMatchInlineSnapshot( - `"0x0d86b380f66ec74d32bb04d98f5b2dcef6d92f344e65604a21640f87fb6d078e2b68df4d20985b71c252746a3f2cc5af32b5f0c32739b94f166dfa230f50397b"`, - ); + expect(returnedNpkMHash.equals(computedMasterNullifierPublicKeyHash)).toBe(true); const masterIncomingViewingPublicKey = await keyStore.getMasterIncomingViewingPublicKey(accountAddress); - expect(masterIncomingViewingPublicKey.toString()).toMatchInlineSnapshot( - `"0x0e0eb5bc3eb9959d6e05cbc0e37b2fa4cfb113c1db651c384907547f1f8670101db2e49c6845619ba432a951d86de2d41680157b0f54556246916900c0fcdcf2"`, - ); + expect(masterIncomingViewingPublicKey.equals(keys.publicKeys.ivpkM)).toBe(true); const masterOutgoingViewingPublicKey = await keyStore.getMasterOutgoingViewingPublicKey(accountAddress); - expect(masterOutgoingViewingPublicKey.toString()).toMatchInlineSnapshot( - `"0x2721eaed30c0c9fae14c2ca4af7668a46278762d4a6066ab7a5defcc242f559c0bd0c4b0ec90ebafe511f20e818fb359a1322ab0f02fe3ebec95af5df502015d"`, - ); + expect(masterOutgoingViewingPublicKey.equals(keys.masterOutgoingViewingPublicKey)).toBe(true); const masterTaggingPublicKey = await keyStore.getMasterTaggingPublicKey(accountAddress); - expect(masterTaggingPublicKey.toString()).toMatchInlineSnapshot( - `"0x0fabb6adca7c2bf7f6202c65fe2785096efb317897bc545c427635a61d5369552cc356e6e5b68fd64d33c96fad7bb1394956c53930fefdf0bb536812ec604459"`, - ); + expect(masterTaggingPublicKey.equals(keys.masterTaggingPublicKey)).toBe(true); const masterIncomingViewingSecretKey = await keyStore.getMasterIncomingViewingSecretKey(accountAddress); - expect(masterIncomingViewingSecretKey.toString()).toMatchInlineSnapshot( - `"0x0d3e4402946f2f712d942e1a3962b12fc521effc39fe93777f91285f1ad414cb"`, - ); + expect(masterIncomingViewingSecretKey.equals(keys.masterIncomingViewingSecretKey)).toBe(true); // Arbitrary app contract address const appAddress = AztecAddress.fromBigInt(624n); - const { pkM: obtainedMasterNullifierPublicKey, skApp: appNullifierHidingKey } = - await keyStore.getKeyValidationRequest(computedMasterNullifierPublicKeyHash, appAddress); + const { pkMHash: obtainedNpkMHash, skApp: appNullifierHidingKey } = await keyStore.getKeyValidationRequest( + computedMasterNullifierPublicKeyHash, + appAddress, + ); expect(appNullifierHidingKey.toString()).toMatchInlineSnapshot( `"0x165cc265d187ed42f0e3f5adbb5a0055a77e205daeb68dd1735796ee402e502f"`, ); - expect(obtainedMasterNullifierPublicKey).toEqual(masterNullifierPublicKey); + expect(obtainedNpkMHash).toEqual(computedMasterNullifierPublicKeyHash); const appOutgoingViewingSecretKey = await keyStore.getAppOutgoingViewingSecretKey(accountAddress, appAddress); expect(appOutgoingViewingSecretKey.toString()).toMatchInlineSnapshot( @@ -68,20 +61,17 @@ describe('KeyStore', () => { // Returned accounts are as expected const accounts = await keyStore.getAccounts(); expect(accounts.toString()).toMatchInlineSnapshot( - `"0x2e54c8067c410d03d417dddd51e1cad76cece48ff39fa0fe908782b93a209a52"`, + `"0x1751d51775aece66a86f69085a9003ac539fc5c3b225d49bd4e3a58247ec5700"`, ); - // Manages to find master nullifier hiding key for pub key - const masterNullifierHidingKey = await keyStore.getMasterSecretKey(masterNullifierPublicKey); - expect(masterNullifierHidingKey.toString()).toMatchInlineSnapshot( - `"0x26dd6f83a99b5b1cea47692f40b7aece47756a1a5e93138c5b8f7e7afd36ed1a"`, - ); + // Manages to find master nullifier hiding key for the pk_m hash + const masterNullifierHidingKey = await keyStore.getMasterSecretKey(computedMasterNullifierPublicKeyHash); + expect(masterNullifierHidingKey.equals(keys.masterNullifierHidingKey)).toBe(true); - // Manages to find master incoming viewing secret key for pub key - const masterIncomingViewingSecretKeyFromPublicKey = - await keyStore.getMasterSecretKey(masterIncomingViewingPublicKey); - expect(masterIncomingViewingSecretKeyFromPublicKey.toString()).toMatchInlineSnapshot( - `"0x0d3e4402946f2f712d942e1a3962b12fc521effc39fe93777f91285f1ad414cb"`, + // Manages to find master incoming viewing secret key for the pk_m hash + const masterIncomingViewingSecretKeyFromPublicKey = await keyStore.getMasterSecretKey( + computedMasterIncomingViewingPublicKeyHash, ); + expect(masterIncomingViewingSecretKeyFromPublicKey.equals(keys.masterIncomingViewingSecretKey)).toBe(true); }); }); diff --git a/yarn-project/key-store/src/key_store.ts b/yarn-project/key-store/src/key_store.ts index 86cab0cc9752..a23f4f71befe 100644 --- a/yarn-project/key-store/src/key_store.ts +++ b/yarn-project/key-store/src/key_store.ts @@ -15,6 +15,7 @@ import { computeAppSecretKey, deriveKeys, derivePublicKeyFromSecretKey, + hashPublicKey, } from '@aztec/stdlib/keys'; /** Maps a key prefix to the storage suffix for the corresponding master secret key. */ @@ -57,17 +58,21 @@ export class KeyStore { masterIncomingViewingSecretKey, masterOutgoingViewingSecretKey, masterTaggingSecretKey, + masterNullifierPublicKey, + masterOutgoingViewingPublicKey, + masterTaggingPublicKey, publicKeys, } = await deriveKeys(sk); - const completeAddress = await CompleteAddress.fromSecretKeyAndPartialAddress(sk, partialAddress); + const completeAddress = await CompleteAddress.fromPublicKeysAndPartialAddress(publicKeys, partialAddress); const { address: account } = completeAddress; - // Compute hashes before transaction - const masterNullifierPublicKeyHash = await publicKeys.masterNullifierPublicKey.hash(); - const masterIncomingViewingPublicKeyHash = await publicKeys.masterIncomingViewingPublicKey.hash(); - const masterOutgoingViewingPublicKeyHash = await publicKeys.masterOutgoingViewingPublicKey.hash(); - const masterTaggingPublicKeyHash = await publicKeys.masterTaggingPublicKey.hash(); + // The kernel cannot check that nhpk/ovpk/tpk are on-curve or non-infinity, so the PXE/key-store + // must guarantee it before persistence. By design, the above derivation produces points that are on + // the curve and not at infinity. + + // The npk/ovpk/tpk hashes are already in publicKeys; ivpk_m_hash is computed for indexing. + const masterIncomingViewingPublicKeyHash = await hashPublicKey(publicKeys.ivpkM); await this.#db.transactionAsync(async () => { // Naming of keys is as follows ${account}-${n/iv/ov/t}${sk/pk}_m @@ -76,17 +81,17 @@ export class KeyStore { await this.#keys.set(`${account.toString()}-tsk_m`, masterTaggingSecretKey.toBuffer()); await this.#keys.set(`${account.toString()}-nhk_m`, masterNullifierHidingKey.toBuffer()); - await this.#keys.set(`${account.toString()}-npk_m`, publicKeys.masterNullifierPublicKey.toBuffer()); - await this.#keys.set(`${account.toString()}-ivpk_m`, publicKeys.masterIncomingViewingPublicKey.toBuffer()); - await this.#keys.set(`${account.toString()}-ovpk_m`, publicKeys.masterOutgoingViewingPublicKey.toBuffer()); - await this.#keys.set(`${account.toString()}-tpk_m`, publicKeys.masterTaggingPublicKey.toBuffer()); + await this.#keys.set(`${account.toString()}-npk_m`, masterNullifierPublicKey.toBuffer()); + await this.#keys.set(`${account.toString()}-ivpk_m`, publicKeys.ivpkM.toBuffer()); + await this.#keys.set(`${account.toString()}-ovpk_m`, masterOutgoingViewingPublicKey.toBuffer()); + await this.#keys.set(`${account.toString()}-tpk_m`, masterTaggingPublicKey.toBuffer()); // We store pk_m_hash under `account-{n/iv/ov/t}pk_m_hash` key to be able to obtain address and key prefix // using the #getKeyPrefixAndAccount function later on - await this.#keys.set(`${account.toString()}-npk_m_hash`, masterNullifierPublicKeyHash.toBuffer()); + await this.#keys.set(`${account.toString()}-npk_m_hash`, publicKeys.npkMHash.toBuffer()); await this.#keys.set(`${account.toString()}-ivpk_m_hash`, masterIncomingViewingPublicKeyHash.toBuffer()); - await this.#keys.set(`${account.toString()}-ovpk_m_hash`, masterOutgoingViewingPublicKeyHash.toBuffer()); - await this.#keys.set(`${account.toString()}-tpk_m_hash`, masterTaggingPublicKeyHash.toBuffer()); + await this.#keys.set(`${account.toString()}-ovpk_m_hash`, publicKeys.ovpkMHash.toBuffer()); + await this.#keys.set(`${account.toString()}-tpk_m_hash`, publicKeys.tpkMHash.toBuffer()); }); // At last, we return the newly derived account address @@ -120,7 +125,9 @@ export class KeyStore { return this.#db.transactionAsync(async () => { const [keyPrefix, account] = await this.getKeyPrefixAndAccount(pkMHash); - // Now we find the master public key for the account + // Load the stored master public key point. The returned KVR carries only the hash, but we + // use the point here as a witness for two integrity checks below: (1) it matches the supplied + // hash, and (2) it matches the value derived from the stored secret key. const pkMBuffer = await this.#keys.getAsync(`${account.toString()}-${keyPrefix}pk_m`); if (!pkMBuffer) { throw new Error( @@ -142,7 +149,7 @@ export class KeyStore { const skM = GrumpkinScalar.fromBuffer(skMBuffer); // The remaining awaits are non-DB computations. They are safe because no further IDB operations follow them. - const computedPkMHash = await pkM.hash(); + const computedPkMHash = await hashPublicKey(pkM); if (!computedPkMHash.equals(pkMHash)) { throw new Error(`Could not find ${keyPrefix}pkM for ${keyPrefix}pk_m_hash ${pkMHash.toString()}.`); } @@ -154,7 +161,7 @@ export class KeyStore { const skApp = await computeAppSecretKey(skM, contractAddress, keyPrefix!); - return new KeyValidationRequest(pkM, skApp); + return new KeyValidationRequest(pkMHash, skApp); }); } @@ -261,31 +268,36 @@ export class KeyStore { } /** - * Retrieves the sk_m corresponding to the pk_m. - * @throws If the provided public key is not associated with any of the registered accounts. - * @param pkM - The master public key to get secret key for. + * Retrieves the sk_m corresponding to the given pk_m hash. + * @throws If the provided hash is not associated with any of the registered accounts. + * @param pkMHash - The master public key hash to get secret key for. * @returns A Promise that resolves to sk_m. * @dev Used when feeding the sk_m to the kernel circuit for keys verification. */ - public getMasterSecretKey(pkM: PublicKey): Promise { + public getMasterSecretKey(pkMHash: Fr): Promise { return this.#db.transactionAsync(async () => { - const [keyPrefix, account] = await this.getKeyPrefixAndAccount(pkM); + const [keyPrefix, account] = await this.getKeyPrefixAndAccount(pkMHash); const skStorageSuffix = secretKeyStorageSuffix(keyPrefix); const secretKeyBuffer = await this.#keys.getAsync(`${account.toString()}-${skStorageSuffix}`); if (!secretKeyBuffer) { throw new Error( - `Could not find ${skStorageSuffix} for ${keyPrefix}pk_m ${pkM.toString()}. This should not happen.`, + `Could not find ${skStorageSuffix} for ${keyPrefix}pk_m_hash ${pkMHash.toString()}. This should not happen.`, ); } const skM = GrumpkinScalar.fromBuffer(secretKeyBuffer); // Non-DB computation — safe because no further IDB operations follow. - const derivedpkM = await derivePublicKeyFromSecretKey(skM); - if (!derivedpkM.equals(pkM)) { + // Integrity check: confirm the stored secret key still derives the requested hash. The check + // is hash-based rather than point-equal because the on-disk identifier is `pk_m_hash`; + // cryptographic collision resistance of `hashPublicKey` makes this equivalent to a + // direct point comparison in practice. + const derivedPkM = await derivePublicKeyFromSecretKey(skM); + const derivedPkMHash = await hashPublicKey(derivedPkM); + if (!derivedPkMHash.equals(pkMHash)) { throw new Error( - `Could not find ${skStorageSuffix} for ${keyPrefix}pkM ${pkM.toString()} in secret keys buffer.`, + `Could not find ${skStorageSuffix} for ${keyPrefix}pk_m_hash ${pkMHash.toString()} in secret keys buffer.`, ); } diff --git a/yarn-project/noir-protocol-circuits-types/src/__snapshots__/noir_test_gen.test.ts.snap b/yarn-project/noir-protocol-circuits-types/src/__snapshots__/noir_test_gen.test.ts.snap index ac3e1e5042d6..b6dec7a8b6c9 100644 --- a/yarn-project/noir-protocol-circuits-types/src/__snapshots__/noir_test_gen.test.ts.snap +++ b/yarn-project/noir-protocol-circuits-types/src/__snapshots__/noir_test_gen.test.ts.snap @@ -2,46 +2,46 @@ exports[`Data generation for noir tests Computes contract info for defaultContract 1`] = ` { - "address": "AztecAddress { inner: 0x136422d2d758eb9181240eee44720fa9bc433d3a16bc13163699dc4f47540b0d }", + "address": "AztecAddress { inner: 0x1599beafce80b22c56446667e1627d865bb87ea94b8f1bdc757979f78a596042 }", "artifact_hash": "0x0000000000000000000000000000000000000000000000000000000000003039", "contract_address_salt": "0x000000000000000000000000000000000000000000000000000000000000ddd5", "contract_class_id": "ContractClassId { inner: 0x2888d24c26f34b139f0f1d30278df8f9007d06da3b63cfe6eeb9a710d51f4f4a }", "deployer": "AztecAddress { inner: 0x0000000000000000000000000000000000000000000000000000000000000000 }", - "partial_address": "PartialAddress { inner: 0x1676695fc9a4f3bc8816e4dc82a8856b2ae565d4872691a6e944cc3ce8897e72 }", + "partial_address": "PartialAddress { inner: 0x13bf689e2b04d5a75694270c1872e74b0c998c3f7f2f3a0a95648f9f41600808 }", "private_functions_root": "0x2653ec1bf2be3a13fa9b645cec2557f2b543286fc39168ec42b705835a301bb6", "public_bytecode_commitment": "0x256abef672381d551191d5bbecf2dec6ac9cc2a81189f886ac22e29e5c58c49c", - "public_keys": "PublicKeys { inner: 0x01498945581e0eb9f8427ad6021184c700ef091d570892c437d12c7d90364bbd170ae506787c5c43d6ca9255d571c10fa9ffa9d141666e290c347c5c9ab7e34400c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb1511b00316144359e9a3ec8e49c1cdb7eeb0cedd190dfd9dc90eea5115aa779e287080ffc74d7a8b0bccb88ac11f45874172f3847eb8b92654aaa58a3d2b8dc7833019c111f36ad3fc1d9b7a7a14344314d2864b94f030594cd67f753ef774a1efb2039907fe37f08d10739255141bb066c506a12f7d1e8dfec21abc58494705b6f }", - "salted_initialization_hash": "SaltedInitializationHash { inner: 0x1d83f43991ef3c393247a1796b194020c559aaf129e515adc6eace265f726452 }", + "public_keys": "PublicKeys { inner: 0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a2600c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb1510e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0 }", + "salted_initialization_hash": "SaltedInitializationHash { inner: 0x20b8accdca7010cfebfcc932f55e3acf5136dfe57ba51d386dac8e9d110d9567 }", } `; exports[`Data generation for noir tests Computes contract info for parentContract 1`] = ` { - "address": "AztecAddress { inner: 0x2e90a78904fdb353ddf6eda97aedcfc2b8bf5a942f10f57a1e85373b740e7eca }", + "address": "AztecAddress { inner: 0x1ea25c8d3d0223005170fc2cc0a0e8e3593e322bfcdebc817cc2a02cc95fca9c }", "artifact_hash": "0x00000000000000000000000000000000000000000000000000000000000004bc", "contract_address_salt": "0x0000000000000000000000000000000000000000000000000000000000001618", "contract_class_id": "ContractClassId { inner: 0x2998b9cf4a582f068a01b43c141dbcc5fd8f5cd17a797484b5a5db2386cf7574 }", "deployer": "AztecAddress { inner: 0x0000000000000000000000000000000000000000000000000000000000000000 }", - "partial_address": "PartialAddress { inner: 0x2cfac19f0c29a86d17b4c60b205376bbd4c8e45d1dfd02dcd33820638d1d6d1e }", + "partial_address": "PartialAddress { inner: 0x09dba9fffbfd68d6828334a178433b7bfae9d07c3c6f424ee4afa0304655c5d3 }", "private_functions_root": "0x03cca4d59a01776df283eb2c8915cb144ad3f40a0b0ba06e9c24c532c59e3c43", "public_bytecode_commitment": "0x1cfb8e870870be1d102249b47923b63c2d54f33ca81e3028d74a06d8dd5944ca", - "public_keys": "PublicKeys { inner: 0x01498945581e0eb9f8427ad6021184c700ef091d570892c437d12c7d90364bbd170ae506787c5c43d6ca9255d571c10fa9ffa9d141666e290c347c5c9ab7e34400c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb1511b00316144359e9a3ec8e49c1cdb7eeb0cedd190dfd9dc90eea5115aa779e287080ffc74d7a8b0bccb88ac11f45874172f3847eb8b92654aaa58a3d2b8dc7833019c111f36ad3fc1d9b7a7a14344314d2864b94f030594cd67f753ef774a1efb2039907fe37f08d10739255141bb066c506a12f7d1e8dfec21abc58494705b6f }", - "salted_initialization_hash": "SaltedInitializationHash { inner: 0x2bfefc4cfdd56352f0d6cf62ae70abe702d7d948f5ccff4eeb51f9aefaece295 }", + "public_keys": "PublicKeys { inner: 0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a2600c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb1510e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0 }", + "salted_initialization_hash": "SaltedInitializationHash { inner: 0x1384ae0b0212cbeb6cd53d6c8d9dfc6334318553dd6f33fdaa97b5dae4ab9dbb }", } `; exports[`Data generation for noir tests Computes contract info for updatedContract 1`] = ` { - "address": "AztecAddress { inner: 0x1a56e3cef400d47addbbf65a95ea505b8f628a2d65a096d0e4d46a8cc9bd72c3 }", + "address": "AztecAddress { inner: 0x144f3aaae816b99f40fbea5b9f80fe4683bf68a14876e7379c4171c871a1ef09 }", "artifact_hash": "0x0000000000000000000000000000000000000000000000000000000000054501", "contract_address_salt": "0x0000000000000000000000000000000000000000000000000000000000000315", "contract_class_id": "ContractClassId { inner: 0x07a63b1343bb8515d1115202c71cdc95f9bcda9c2237bdfc25435b89ffa06b46 }", "deployer": "AztecAddress { inner: 0x0000000000000000000000000000000000000000000000000000000000000000 }", - "partial_address": "PartialAddress { inner: 0x04a4ed87aa4cff86962b974fe3f79d76e4bf3f034d4e2bde2bb50765927fad40 }", + "partial_address": "PartialAddress { inner: 0x12b89345d5d63f8bf9f73f5890d5caa0c5f023c61d313b1abeea40e300a83755 }", "private_functions_root": "0x2b26caef823c6be4c41ef1980dace9b61825f8e6a16792c765a2cd8cb2121e75", "public_bytecode_commitment": "0x225d884cfeaddc5292dadbf921e7699632336876c65a33459d3b2ad9b5ec0da3", - "public_keys": "PublicKeys { inner: 0x01498945581e0eb9f8427ad6021184c700ef091d570892c437d12c7d90364bbd170ae506787c5c43d6ca9255d571c10fa9ffa9d141666e290c347c5c9ab7e34400c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb1511b00316144359e9a3ec8e49c1cdb7eeb0cedd190dfd9dc90eea5115aa779e287080ffc74d7a8b0bccb88ac11f45874172f3847eb8b92654aaa58a3d2b8dc7833019c111f36ad3fc1d9b7a7a14344314d2864b94f030594cd67f753ef774a1efb2039907fe37f08d10739255141bb066c506a12f7d1e8dfec21abc58494705b6f }", - "salted_initialization_hash": "SaltedInitializationHash { inner: 0x0bbf968b28a0a1fa3a90ceb4c7104d63e7a8dc845a9c885781d74018d1579e59 }", + "public_keys": "PublicKeys { inner: 0x14fbaeaeddaa69be81d404c684e78e9f1a786d225faf8de2ce97c92f67d89a2600c044b05b6ca83b9c2dbae79cc1135155956a64e136819136e9947fe5e5866c1c1f0ca244c7cd46b682552bff8ae77dea40b966a71de076ec3b7678f2bdb1510e60ed663a4da5636e2e25a1f1f0c5b27c011c8eaed22bbe61e2a0fd875dd24b082c6d164b0ba073c9dd911100248c8ecd80b03f82f38531856a3c16dadcbef0 }", + "salted_initialization_hash": "SaltedInitializationHash { inner: 0x1f121db378dbceaf871eed1b9f0b20efcdca988e76f8abeaa11b2cdc80474189 }", } `; diff --git a/yarn-project/noir-protocol-circuits-types/src/conversion/client.ts b/yarn-project/noir-protocol-circuits-types/src/conversion/client.ts index 4e403b9f496d..fad43cd8d913 100644 --- a/yarn-project/noir-protocol-circuits-types/src/conversion/client.ts +++ b/yarn-project/noir-protocol-circuits-types/src/conversion/client.ts @@ -92,7 +92,6 @@ import { mapNullifierLeafPreimageToNoir, mapNumberFromNoir, mapNumberToNoir, - mapPointFromNoir, mapPointToNoir, mapPrivateLogFromNoir, mapPrivateLogToNoir, @@ -260,7 +259,7 @@ function mapScopedReadRequestFromNoir(scoped: Scoped>): Scope */ export function mapKeyValidationRequestToNoir(request: KeyValidationRequest): KeyValidationRequestsNoir { return { - pk_m: mapPointToNoir(request.pkM), + pk_m_hash: mapFieldToNoir(request.pkMHash), sk_app: mapFieldToNoir(request.skApp), }; } @@ -280,7 +279,7 @@ export function mapKeyValidationRequestAndSeparatorToNoir( * @returns The TS KeyValidationRequest. */ function mapKeyValidationRequestFromNoir(request: KeyValidationRequestsNoir): KeyValidationRequest { - return new KeyValidationRequest(mapPointFromNoir(request.pk_m), mapFieldFromNoir(request.sk_app)); + return new KeyValidationRequest(mapFieldFromNoir(request.pk_m_hash), mapFieldFromNoir(request.sk_app)); } function mapKeyValidationRequestAndSeparatorFromNoir( @@ -479,18 +478,12 @@ export function mapPrivateCircuitPublicInputsToNoir( export function mapPublicKeysToNoir(publicKeys: PublicKeys): PublicKeysNoir { return { - npk_m: { - inner: mapPointToNoir(publicKeys.masterNullifierPublicKey), - }, + npk_m_hash: mapFieldToNoir(publicKeys.npkMHash), ivpk_m: { - inner: mapPointToNoir(publicKeys.masterIncomingViewingPublicKey), - }, - ovpk_m: { - inner: mapPointToNoir(publicKeys.masterOutgoingViewingPublicKey), - }, - tpk_m: { - inner: mapPointToNoir(publicKeys.masterTaggingPublicKey), + inner: mapPointToNoir(publicKeys.ivpkM), }, + ovpk_m_hash: mapFieldToNoir(publicKeys.ovpkMHash), + tpk_m_hash: mapFieldToNoir(publicKeys.tpkMHash), }; } diff --git a/yarn-project/noir-protocol-circuits-types/src/noir_test_gen.test.ts b/yarn-project/noir-protocol-circuits-types/src/noir_test_gen.test.ts index b5b9b31845f8..ee13d4afb7d3 100644 --- a/yarn-project/noir-protocol-circuits-types/src/noir_test_gen.test.ts +++ b/yarn-project/noir-protocol-circuits-types/src/noir_test_gen.test.ts @@ -20,7 +20,7 @@ describe('Data generation for noir tests', () => { setupCustomSnapshotSerializers(expect); type FixtureContractData = Omit & - Pick & + Pick & Pick & { toString: () => string }; const defaultContract: FixtureContractData = { @@ -28,6 +28,7 @@ describe('Data generation for noir tests', () => { packedBytecode: Buffer.from([3, 4, 5, 6, 7]), publicKeys: PublicKeys.default(), salt: new Fr(56789), + immutablesHash: new Fr(7890), privateFunctions: [ { selector: FunctionSelector.fromField(new Fr(1010101)), vkHash: new Fr(123123) }, { selector: FunctionSelector.fromField(new Fr(2020202)), vkHash: new Fr(456456) }, @@ -40,6 +41,7 @@ describe('Data generation for noir tests', () => { packedBytecode: Buffer.from([3, 4, 3, 4]), publicKeys: PublicKeys.default(), salt: new Fr(5656), + immutablesHash: new Fr(7890), privateFunctions: [{ selector: FunctionSelector.fromField(new Fr(334455)), vkHash: new Fr(789789) }], toString: () => 'parentContract', }; @@ -49,6 +51,7 @@ describe('Data generation for noir tests', () => { packedBytecode: Buffer.from([5, 6, 7, 8, 9, 0]), publicKeys: PublicKeys.default(), salt: new Fr(789), + immutablesHash: new Fr(7890), privateFunctions: [ { selector: FunctionSelector.fromField(new Fr(1010101)), vkHash: new Fr(7788) }, { selector: FunctionSelector.fromField(new Fr(2020202)), vkHash: new Fr(9900) }, @@ -78,7 +81,7 @@ describe('Data generation for noir tests', () => { const deployer = AztecAddress.ZERO; const instance: ContractInstance = { ...contract, - version: 1, + version: 2, initializationHash, currentContractClassId: contractClassId, originalContractClassId: contractClassId, diff --git a/yarn-project/p2p/src/msg_validators/tx_validator/contract_instance_validator.test.ts b/yarn-project/p2p/src/msg_validators/tx_validator/contract_instance_validator.test.ts index e3f01949139a..dbe0123a1834 100644 --- a/yarn-project/p2p/src/msg_validators/tx_validator/contract_instance_validator.test.ts +++ b/yarn-project/p2p/src/msg_validators/tx_validator/contract_instance_validator.test.ts @@ -32,7 +32,7 @@ describe('ContractInstanceTxValidator', () => { /** * Builds a PrivateLog encoding a ContractInstancePublishedEvent. - * Layout: [tag, address, version, salt, contractClassId, initializationHash, ...publicKeys(8 fields), deployer] + * Layout: [tag, address, version, salt, contractClassId, initializationHash, immutablesHash, ...publicKeys(5 fields), deployer] */ async function buildContractInstanceLog(opts?: { address?: AztecAddress }): Promise { const salt = Fr.random(); @@ -40,13 +40,15 @@ describe('ContractInstanceTxValidator', () => { const initializationHash = Fr.random(); const publicKeys = await PublicKeys.random(); const deployer = await AztecAddress.random(); + const immutablesHash = Fr.random(); const instance = { - version: 1 as const, + version: 2 as const, salt, currentContractClassId: contractClassId, originalContractClassId: contractClassId, initializationHash, + immutablesHash, publicKeys, deployer, }; @@ -55,8 +57,9 @@ describe('ContractInstanceTxValidator', () => { const address = opts?.address ?? correctAddress; // Serialize the event into fields matching the format expected by ContractInstancePublishedEvent.fromLog. - // fromLog reads from a buffer: [tag(32 bytes) | address(32) | version(32) | salt(32) | classId(32) | initHash(32) | publicKeys(4*64=256 bytes) | deployer(32)] - // PublicKeys serializes as 4 Points, each Point is 2 Fr (x, y) = 64 bytes. Total: 8 Fr fields. + // fromLog reads from a buffer: + // [tag(32) | address(32) | version(32) | salt(32) | classId(32) | initHash(32) | publicKeys(160) | deployer(32)] + // where publicKeys = npkMHash(32) + ivpkM(64 = x|y, no is_infinite) + ovpkMHash(32) + tpkMHash(32) = 5 Fr fields. const publicKeysBuffer = publicKeys.toBuffer(); const publicKeysFields: Fr[] = []; for (let i = 0; i < publicKeysBuffer.length; i += 32) { @@ -66,10 +69,11 @@ describe('ContractInstanceTxValidator', () => { const emittedFields: Fr[] = [ CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG, address.toField(), - new Fr(1), // version + new Fr(2), // version salt, contractClassId, initializationHash, + immutablesHash, ...publicKeysFields, deployer.toField(), ]; diff --git a/yarn-project/protocol-contracts/fixtures/ContractClassPublishedEventData.hex b/yarn-project/protocol-contracts/fixtures/ContractClassPublishedEventData.hex index 6619699e7cb2..efa62eb0bde0 100644 --- a/yarn-project/protocol-contracts/fixtures/ContractClassPublishedEventData.hex +++ b/yarn-project/protocol-contracts/fixtures/ContractClassPublishedEventData.hex @@ -1 +1 @@ -000000000000000000000000000000000000000000000000000000000000000320f5895a4e837356c2d551743df6bf642756dcd93cd31cbd37c556c90bf7f2441c2459719688b73599862bb4192cf567006eaf1fd7382d84f842a6f3616b326c0000000000000000000000000000000000000000000000000000000000000001237dfcd925241181677bde88f3ea51653dd144811eda2d9f208eee7c6b42f50a07be998ba5208ae3c3c9329157a2c586b26d7489a3e4be5af66e6a1b70e4357a0000000000000000000000000000000000000000000000000000000000000e04002700020401280000010480472700000447250000004127020304012702040400001f0a0003000400462d0846022500000075270202044727020304003b0e00000300022c0000430030644e72e131a029b85045b68181585d2833e84879b970009143e1f593f00000002900004404ffffffff2700450403262902000300324d00e62f0a2a02030427020504002702070403002a0507062d080103000801060100270303040100220302062d0e050600220602062d0e05062702060403002a030006052702050401270206040227020704002702080101270209010027020a0000002902000b00c732f9772b02000c0000000000000000020000000000000000002b02000d00000000000000000300000000000000002902000e00d9b5157824000200040000012323000006202d08010427020f04030008010f01270304040100002204020f1f3a00060005000f002a04050f2d0b0f0f002a0406102d0b1010001e020004001e020011001e020011002d080112270213040300080113012703001204010022120213360e0011001300002a1205132d0b1313002a1206142d0b0014141c0a131200042a12141524020013000001b027021204003c0612012d080001122702130403000801130127031204010022120213360e0011001302002a001205112d0b1111002a1206132d0b13131c0a111200042a1213142402001100000001fc27021204003c0612012d0801112702120402000801120127031104010000221102121f3a000500070012002a1105122d0b12121c0a1213041c0a131100002d08011227021304030008011301270312040100221202131f3a00060005000013002a1205132d0b1313002a1206162d0b16162902001200d52de36b2d0800011727021804050008011801270317040100221702182d0a18192d0e12190000221902192d0e131900221902192d0e161900221902192d0e0d192d08011227000213040500080113012703120401002217021300221202163f0f0013001600002a1205132d0b1313290200120016f8af272d0801162702170405000801170100270316040100221602172d0a17182d0e121800221802182d0e11180022180200182d0e131800221802182d0e0d182d08011127021204050008011201270311000401002216021200221102133f0f00120013002a1105122d0b12120a2a1412001124020011000003532500000d540a2a150a111e020012010a22124313160a0013141c0a141600042a1612140a2a130912240200120000038627021604003c000616010a2a151412122a111213240200130000039d2500000d662d0801112700021204040008011201270311040100221102122d0a12132d0e0e130022130200132d0e0f1300221302132d0e1013002211020f390320004400440004004500000f200200042102000f2d080111270210040000221102132d0b1313270214040003002a111412223a000f000700122d0a0f13270311040100221102142d0e13001400221402142d0e13142702150403002a131514000801140127021404002d000a131506221502150a2a1014162d0a1510240200160000045a2d0a10102402000016000004740a2a10151724020017000004742500000d782402000400000400aa23000004812d0b110400220402042d0e0411002211020f2d0b0f0f270212000403002a1112043c0e0f0423000004aa0a2a10070424020004000004c02702000f04003c060f011e020004002d08010f2702100403000801100127030f04010000220f0210360e0004001002002a0f05102d0b1010002a0f06112d0b11111c000a100f00042a0f1112240200100000051127020f04003c060f012902000f0000ede022762d08011027021104050008011101270310040100221002112d0a1100132d0e0f1300221302132d0e041300221302132d0e121300221302132d0e0d00132d08010427020f04050008010f012703040401002210020f00220402113f000f000f0011002a04050f2d0b0f0f3402000f1e020004002d08010f270210040005000801100127030f040100220f02102d0a10112d0e0b1100221102112d0e00041100221102112d0e0a1100221102112d0e0c112d0801042702100405000800011001270304040100220f021000220402113f0f00100011002a04050f2d0b000f0f3402000f2d0b030400220402042d0e0403002203020f2d0b0f0f270210000403002a0310043b0e000f0004230000062029020004005bd9f2da0a2a0204000f27020400022902001000ef52534d2402000f00000649230000083a2d0801000f2702110403000801110127030f040100220f02111f3a000600050011002a000f05112d0b1111002a0f06122d0b12121e02000f001e02000f001e02000f00002d08011327021404050008011401270313040100221302142d0a14152d0e0b001500221502152d0e0f1500221502152d0e0a1500221502152d0e0c152d0801000f2702140405000801140127030f0401002213021400220f02153f0f0014000015002a0f05132d0b13131e02000f002902001400036d527f2d0801152702160004050008011601270315040100221502162d0a16172d0e141700221702172d000e0f1700221702172d0e131700221702172d0e0d172d08010f270213040500000801130127030f0401002215021300220f02143f0f00130014002a0f05132d000b1313330a0013000f2402000f000007792500000d8a2d08010f270213040500000801130127030f040100220f02132d0a13142d0e101400221402142d0e04001400221402142d0e111400221402142d0e0d142d0801112702130405000801001301270311040100220f021300221102143f0f00130014002a11050f2d0b0f000f0a2a0f0a110a2a11091324020013000007f72500000d9c1e020011002f2a00000f00110013002a131211300a0011000f2d0b030f00220f020f2d0e0f030000220302112d0b11112702120403002a03120f3b0e0011000f230000083a0a2a00020e0f2402000f0000084c23000009492d08010e27020f04030008010f012700030e040100220e020f1f3a00060005000f002a0e050f2d0b0f0f002a0e0611002d0b11111e020006001e020006002d08010627020e04050008010e01270306000401002206020e2d0a0e122d0e101200221202122d0e041200221202122d0e000f1200221202122d0e0d122d08010e27020f04050008010f0127030e040100002206020f00220e02123f0f000f0012002a0e05062d0b06060a2a060a0e0a2a000e090f2402000f000009062500000d9c1e02000e002f2a0006000e000f002a000f110e300a000e00062d0b030600220602062d0e0603002203020e2d0b0e0e0027020f0403002a030f063b0e000e000623000009492902000600bb19097e0a002a02060e2402000e000009642300000a932d08010627020e04020008010e01002703060401002206020e1f3a00050005000e002a06050e2d0b0e0e1e02000600001e020006001e0200060924020006000009a92500000dae2d08010627020f0004050008010f012703060401002206020f2d0a0f112d0e101100221102112d000e041100221102112d0e0e1100221102112d0e0d112d08010427020d0405000008010d012703040401002206020d002204020e3f0f000d000e002a0405062d000b06060a2a060a040a2a04090d2402000d00000a272500000d9c1e02000400002f2a00060004000d270206040127020f0403002a060f0e2d0801040008010e00012703040401002204020e2d0e060e00220e020e2d0e060e27020e0403002a00040e062d0a060e2d0e0d0e002204020d2d0b0d0d27020e0403002a040e063b000e000d00062300000a932902000400ee21e57b0a2a0204062402000600000a00ae2300000b8e1e020004010a22044306160a060d1c0a0d0e00042a0e040d0a002a0609042402000400000adc27020e04003c060e011e020004000a2a0d0406002402000600000af32500000dc01e020004002d08010627020d04050008010d00012703060401002206020d2d0a0d0e2d0e0b0e00220e020e2d0e040e00220e00020e2d0e0a0e00220e020e2d0e0c0e2d08010427020a04050008010a01270300040401002206020a002204020b3f0f000a000b002a0405062d0b060634020000062d0b030400220402042d0e040300220302052d0b05052702060403002a030006043b0e000500042300000b8e2702030255270204026e270205026b27020600026f270207027727020a022027020b027327020c026527020d026c27020e02006327020f02742702100272270211027b270212027d2d080113270214041c000008011401270313040100221302142d0a14152d0e031500221502152d0e04150000221502152d0e051500221502152d0e041500221502152d0e06150022150200152d0e071500221502152d0e041500221502152d0e0a1500221502152d0e0b001500221502152d0e0c1500221502152d0e0d1500221502152d0e0c150022150002152d0e0e1500221502152d0e0f1500221502152d0e061500221502152d0e00101500221502152d0e0a1500221502152d0e111500221502152d0e0b150022001502152d0e0c1500221502152d0e0d1500221502152d0e0c1500221502152d000e0e1500221502152d0e0f1500221502152d0e061500221502152d0e10150000221502152d0e121527020300010a2a0908042402000400000d54270205041e002d080106270207041e00080107012d0a06072a030007059b5bbff74a5bff19000022070207002213020a27020b041b2d020a032d0207042d020b052500000d00d227020a041b002a070a072d0e030700220702072d0e020700220702073c0e0005062a010001058a553a2c2b67c8ef3c040201262a01000105c80d73736ecd00b4e13c040201262a0100010575fef108377c8a4f3c040201262a010001050600613b3d0b9dbd333c040201262a01000105babb21d7823318643c040201262a0001000105c5cc62b50ed35c303c040201262a010001052ab9ecbeb3430ae13c000402012600000305072d0003082d0004092300000df62d0108062d04060900000008020800000902090c0008070a2400000a00000de42600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007a \ No newline at end of file +000000000000000000000000000000000000000000000000000000000000000320f5895a4e837356c2d551743df6bf642756dcd93cd31cbd37c556c90bf7f244135e3e6dff88ef7e69c592472939cddff00850a0886c416e47720573cf94db4c000000000000000000000000000000000000000000000000000000000000000124c6b040ea6c3ec2ecf9d6b0c0c709239696f66ea8d27d3bc064852a8bfb579c10b89e84a594728151d2054d9e41999f109fca6895e8bec7894445886adaa5c10000000000000000000000000000000000000000000000000000000000000e1c0027000204012800000104804d270000044d250000004127020304012702040400001f0a00030004004c2d084c0225000000b7270202044d27020304003b0e00000300022c0000430030644e72e131a029b85045b68181585d2833e84879b970009143e1f593f00000002900004404ffffffff2700450403270046000027004700010127004804012900004900c732f9772b00004a0000000000000000020000000000000000002b00004b000000000000000003000000000000000026290200000300324de62f0a2a02030427020504002702070403002a0507062d080103000008010601270303040100220302062d0e050600220602062d0e0506270206040003002a0306052702050402270206040027020701002902000800d9b5157824000200040000012323000006202d0801042702090403000801090127030404010000220402091f3200050048000900220448092d0b0909002a04050a2d0b0a0a001e020004001e02000b001e02000b002d08010c27020d04030008010d012703000c040100220c020d360e000b000d0000220c480d2d0b0d0d002a0c050e2d0b000e0e1c0a0d0c00042a0c0e0f2402000d000001b027020c04003c060c012d0800010c27020d04030008010d0127030c040100220c020d360e000b000d020022000c480b2d0b0b0b002a0c050d2d0b0d0d1c0a0b0c00042a0c0d0e2402000b00000001fc27020c04003c060c012d08010b27020c04020008010c0127030b04010000220b020c1f3800480006000c00220b480c2d0b0c0c1c0a0c0d041c0a0d0b00002d08010c27020d04030008010d0127030c040100220c020d1f320005004800000d00220c480d2d0b0d0d002a0c05102d0b10102902000c00d52de36b2d0800011127021204050008011201270311040100221102122d0a12132d0e0c130000221302132d0e0d1300221302132d0e101300221302132d0c4b132d08010c2700020d04050008010d0127030c0401002211020d00220c02103f0f000d00100000220c480d2d0b0d0d2902000c0016f8af272d0801102702110405000801110100270310040100221002112d0a11122d0e0c1200221202122d0e0b120022120200122d0e0d1200221202122d0c4b122d08010b27020c04050008010c0127030b000401002210020c00220b020d3f0f000c000d00220b480c2d0b0c0c0a2a0e0c000b2402000b000003532500000c770a220f460b1e02000c010a220c430d160a000d0e1c0a0e1000042a100c0e0a2a0d070c2402000c0000038627021004003c000610010a2a0f0e0c122a0b0c0d2402000d0000039d2500000c892d08010b2700020c04040008010c0127030b040100220b020c2d0a0c0d2d0e080d00220d02000d2d0e090d00220d020d2d0e0a0d00220b0209390320004400440004004500000920020004210200092d08010b27020a040000220b020d2d0b0d0d27020e040003002a0b0e0c223a00090006000c2d0a090d27030b040100220b020e2d0e0d000e00220e020e2d0e0d0e27020f0403002a0d0f0e0008010e0127020e04002d000a0d0f06220f020f0a2a0a0e102d0a0f0a240200100000045a2d0a0a0a2402000010000004740a2a0a0f1124020011000004742500000c9b2402000400000400aa23000004812d0b0b0400220402042d0e040b00220b02092d0b090927020c000403002a0b0c043c0e090423000004aa0a2a0a060424020004000004c02702000904003c0609011e020004002d08010927020a04030008010a01270309040100002209020a360e0004000a02002209480a2d0b0a0a002a09050b2d0b0b0b1c000a0a0900042a090b0c2402000a0000051127020904003c060901290200090000ede022762d08010a27020b04050008010b0127030a040100220a020b2d0a0b000d2d0e090d00220d020d2d0e040d00220d020d2d0e0c0d00220d020d2d0c4b000d2d08010427020904050008010901270304040100220a0209002204020b3f000f0009000b00220448092d0b0909340200091e020004002d08010927020a0400050008010a012703090401002209020a2d0a0a0b2d0c490b00220b020b2d0e00040b00220b020b2d0c460b00220b020b2d0c4a0b2d08010427020a0405000800010a012703040401002209020a002204020b3f0f000a000b00220448092d0b000909340200092d0b030400220402042d0e040300220302092d0b090927020a000403002a030a043b0e00090004230000062029020004005bd9f2da0a2a0204000927020400022902000a00ef52534d2402000900000649230000075d2d0801000927020b04030008010b012703090401002209020b1f3200050048000b00220009480b2d0b0b0b002a09050c2d0b0c0c1e020009001e02000900270209040d002d08000d00080009002500000cad2d0200002d08010927020d04050008010d00012703090401002209020d2d0a0d0e2d0e0a0e00220e020e2d0e040e00220e00020e2d0e0b0e00220e020e2d0c4b0e2d08010b27020d04050008010d012703000b0401002209020d00220b020e3f0f000d000e00220b48092d0b09090a220900460b0a2a0b070d2402000d0000071a2500000da21e02000b002f2a0009000b00000d002a0d0c0b300a000b00092d0b030900220902092d0e0903002203020b002d0b0b0b27020c0403002a030c093b0e000b0009230000075d0a2a02080924000200090000076f230000086c2d0801082702090403000801090127030804010000220802091f3200050048000900220848092d0b0909002a08050b2d0b0b0b001e020005001e020005002d0801052702080405000801080127030504010022000502082d0a080c2d0e0a0c00220c020c2d0e040c00220c020c2d0e090c0022000c020c2d0c4b0c2d080108270209040500080109012703080401002205020900002208020c3f0f0009000c00220848052d0b05050a220546080a2a0807092400020009000008292500000da21e020008002f2a000500080009002a090b0830000a000800052d0b030500220502052d0e050300220302082d0b0808270209040003002a0309053b0e00080005230000086c2902000500bb19097e0a2a02050800240200080000088723000009b62d0801052702080402000801080127030504000100220502081f3000480048000800220548082d0b08081e020005001e02000005001e0200050924020005000008cc2500000db42d0801052702090405000800010901270305040100220502092d0a090b2d0e0a0b00220b020b2d0e040b0000220b020b2d0e080b00220b020b2d0c4b0b2d08010427020804050008010801002703040401002205020800220402093f0f0008000900220448052d0b05050a00220546040a2a040708240200080000094a2500000da21e020004002f2a00050000040008270205040127020a0403002a050a092d080104000801090127030400040100220402092d0e050900220902092d0e05092702090403002a0409052d000a05092d0e080900220402082d0b08082702090403002a0409053b0e000800000523000009b62902000400ee21e57b0a2a02040524020005000009d1230000000ab11e020004010a22044305160a05081c0a080900042a0904080a2a0507040024020004000009ff27020904003c0609011e020004000a2a080405240200050000000a162500000dc61e020004002d0801052702080405000801080127030500040100220502082d0a08092d0c490900220902092d0e040900220902092d0c00460900220902092d0c4a092d08010427020804050008010801270304040100002205020800220402093f0f0008000900220448052d0b0505340200052d0b03000400220402042d0e040300220302052d0b05052702080403002a0308043b0e00000500042300000ab12702030255270204026e270205026b270206026f270200080277270209022027020a027327020b026527020c026c27020d026327020e00027427020f0272270210027b270211027d2d080112270213041c000801130100270312040100221202132d0a13142d0e031400221402142d0e04140022140200142d0e051400221402142d0e041400221402142d0e061400221402142d0e08001400221402142d0e041400221402142d0e091400221402142d0e0a140022140002142d0e0b1400221402142d0e0c1400221402142d0e0b1400221402142d0e000d1400221402142d0e0e1400221402142d0e061400221402142d0e0f140022001402142d0e091400221402142d0e101400221402142d0e0a1400221402142d000e0b1400221402142d0e0c1400221402142d0e0b1400221402142d0e0d140000221402142d0e0e1400221402142d0e061400221402142d0e0f140022140214002d0e111427020300010a220747042402000400000c77270205041e2d08010600270208041e00080108012d0a06082a030008059b5bbff74a5bff19002208020008002212020927020a041b2d0209032d0208042d020a052500000dd827020900041b002a0809082d0e030800220802082d0e020800220802083c0e05062a01000001058a553a2c2b67c8ef3c040201262a01000105c80d73736ecdb4e13c04000201262a0100010575fef108377c8a4f3c040201261e020002002d0801032700020404050008010401270303040100220302042d0a04052d0c49050022050200052d0e020500220502052d0c460500220502052d0c4a052d08010227020404000500080104012703020401002203020400220202053f0f000400050022024800032d0b03031e020002002902000400036d527f2d0801052702060405000801000601270305040100220502062d0a06072d0e040700220702072d0e02070022000702072d0e030700220702072d0c4b072d08010227020304050008010301270003020401002205020300220202043f0f0003000400220248032d0b0303330a00000300022402000200000da12500000e0a262a01000105babb21d782331864003c040201262a01000105c5cc62b50ed35c303c040201262a010001052ab9ec00beb3430ae13c0402012600000305072d0003082d0004092300000dfc2d010800062d040609000008020800000902090c0008070a2400000a00000dea262a010000010506613b3d0b9dbd333c04020126000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007b \ No newline at end of file diff --git a/yarn-project/protocol-contracts/fixtures/ContractInstancePublishedEventData.hex b/yarn-project/protocol-contracts/fixtures/ContractInstancePublishedEventData.hex index 91be7f65a8fd..8c62e70d96ce 100644 --- a/yarn-project/protocol-contracts/fixtures/ContractInstancePublishedEventData.hex +++ b/yarn-project/protocol-contracts/fixtures/ContractInstancePublishedEventData.hex @@ -1 +1 @@ -1a7e1badb79abdd38c684b3c8306ffe7ecb33c69e3380d9855730aaaa83a21a821e212810f887382b564c453919235ecc04ff03f9c5127ac9a630a3fc62cfbbb0000000000000000000000000000000000000000000000000000000000000001108abf493e0af91750b53cd462defc3373f1a522e982af55b0c8ec7d20cf03931c2459719688b73599862bb4192cf567006eaf1fd7382d84f842a6f3616b326c0fb36d433fc86c98e17d214b1024303def3bb1e8fa412bc6e796eb1366b5f55b1366c504bbb3b3bb5d7246d9e082468eae37d93c38705b9eb4ef8bb76dc9b98005c6d6a962e4d7a458aa232dab86841ebcfe4d342556f270f6b2452fd87581bb1e415b163a4af0578cf70ab19e836504a74de9ea3e0c94373ca781436155bfc31fe218da6de686b7a39b092364894c6c2246fee50d0ff9832294cd6b792b8f421aa402e7eafa5c5d6ed9454c794e744eabf3b0c5ed84a35567fbe7509552181808afab9b331786e21a60f1f237a7a0f5457ce547160b82ace9a58a800b170fc1289752f4904779a603001cd6fab021079a04e18f0740eb0e1009088199178d1f26814d31374c3e5c551e28a5467feb67155bb2be160d80ca851babfa60501e61000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f \ No newline at end of file +1a7e1badb79abdd38c684b3c8306ffe7ecb33c69e3380d9855730aaaa83a21a81a0d9f0f131e602239f499207c271b6319cb33a45b8f917a7c35d8a52a60d2cb00000000000000000000000000000000000000000000000000000000000000022d906f112c4a0f17792dbb184f229b5e5fe22d3ae04eb78736ce9ae0e35e49fc14cc2f3a2417ec81f84c15b1517cef38654c29ace9d54f5a4a22ce1709cc5fc90dad6f31fca9cac105434c9d0071a24a38da659700aee09d285b5ceae94ff5fe00000000000000000000000000000000000000000000000000000000000000002f6b4b954efabd4f61fe64c1704e82f62760c1a0b5ec1ab88e272fae2f3f0d6c21f72071d5882ea13df29918cbaad0d60a11f61309ece108e61d7102b62ec1b50460480b46dcfd5c3262004f191fecf11f321d74618d761e6bcadc691078b4210c0e28c4de1167675c811c52defc32dae2245315682dd349b26ef9c3161b1f96222398ec917e21cb0cbac7050610c2bcb0c2fedfc637bf03d59094b7fd9ce18600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d \ No newline at end of file diff --git a/yarn-project/protocol-contracts/src/class-registry/__snapshots__/contract_class_published_event.test.ts.snap b/yarn-project/protocol-contracts/src/class-registry/__snapshots__/contract_class_published_event.test.ts.snap index 82c511c761eb..7a1833ae133f 100644 --- a/yarn-project/protocol-contracts/src/class-registry/__snapshots__/contract_class_published_event.test.ts.snap +++ b/yarn-project/protocol-contracts/src/class-registry/__snapshots__/contract_class_published_event.test.ts.snap @@ -2,10 +2,10 @@ exports[`ContractClassPublishedEvent parses an event as emitted by the ContractClassRegistry 1`] = ` ContractClassPublishedEvent { - "artifactHash": Fr<0x237dfcd925241181677bde88f3ea51653dd144811eda2d9f208eee7c6b42f50a>, - "contractClassId": Fr<0x1c2459719688b73599862bb4192cf567006eaf1fd7382d84f842a6f3616b326c>, - "packedPublicBytecode": Buffer<0x27000204012800000104804727000004472500000041270203040127020404001f0a0003000400462d0846022500000075270202044727020304003b0e000300022c0000430030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002900004404ffffffff2700450403262902000300324de62f0a2a02030427020504002702070403002a0507062d0801030008010601270303040100220302062d0e050600220602062d0e05062702060403002a0306052702050401270206040227020704002702080101270209010027020a00002902000b00c732f9772b02000c00000000000000000200000000000000002b02000d00000000000000000300000000000000002902000e00d9b51578240200040000012323000006202d08010427020f04030008010f012703040401002204020f1f3a00060005000f002a04050f2d0b0f0f002a0406102d0b10101e020004001e020011001e020011002d0801122702130403000801130127031204010022120213360e0011001300002a1205132d0b1313002a1206142d0b14141c0a131200042a12141524020013000001b027021204003c0612012d0801122702130403000801130127031204010022120213360e0011001302002a1205112d0b1111002a1206132d0b13131c0a111200042a12131424020011000001fc27021204003c0612012d08011127021204020008011201270311040100221102121f3a000500070012002a1105122d0b12121c0a1213041c0a1311002d08011227021304030008011301270312040100221202131f3a000600050013002a1205132d0b1313002a1206162d0b16162902001200d52de36b2d08011727021804050008011801270317040100221702182d0a18192d0e121900221902192d0e131900221902192d0e161900221902192d0e0d192d080112270213040500080113012703120401002217021300221202163f0f00130016002a1205132d0b1313290200120016f8af272d08011627021704050008011701270316040100221602172d0a17182d0e121800221802182d0e111800221802182d0e131800221802182d0e0d182d080111270212040500080112012703110401002216021200221102133f0f00120013002a1105122d0b12120a2a14121124020011000003532500000d540a2a150a111e020012010a22124313160a13141c0a141600042a1612140a2a130912240200120000038627021604003c0616010a2a151412122a111213240200130000039d2500000d662d08011127021204040008011201270311040100221102122d0a12132d0e0e1300221302132d0e0f1300221302132d0e1013002211020f3903200044004400040045000f200200042102000f2d080111270210040000221102132d0b13132702140403002a111412223a000f000700122d0a0f13270311040100221102142d0e131400221402142d0e13142702150403002a131514000801140127021404002d0a131506221502150a2a1014162d0a1510240200160000045a2d0a101024020016000004740a2a10151724020017000004742500000d7824020004000004aa23000004812d0b110400220402042d0e0411002211020f2d0b0f0f2702120403002a1112043c0e0f0423000004aa0a2a10070424020004000004c027020f04003c060f011e020004002d08010f2702100403000801100127030f040100220f0210360e0004001002002a0f05102d0b1010002a0f06112d0b11111c0a100f00042a0f1112240200100000051127020f04003c060f012902000f00ede022762d08011027021104050008011101270310040100221002112d0a11132d0e0f1300221302132d0e041300221302132d0e121300221302132d0e0d132d08010427020f04050008010f012703040401002210020f00220402113f0f000f0011002a04050f2d0b0f0f3402000f1e020004002d08010f2702100405000801100127030f040100220f02102d0a10112d0e0b1100221102112d0e041100221102112d0e0a1100221102112d0e0c112d08010427021004050008011001270304040100220f021000220402113f0f00100011002a04050f2d0b0f0f3402000f2d0b030400220402042d0e0403002203020f2d0b0f0f2702100403002a0310043b0e000f0004230000062029020004005bd9f2da0a2a02040f27020400022902001000ef52534d2402000f00000649230000083a2d08010f2702110403000801110127030f040100220f02111f3a000600050011002a0f05112d0b1111002a0f06122d0b12121e02000f001e02000f001e02000f002d08011327021404050008011401270313040100221302142d0a14152d0e0b1500221502152d0e0f1500221502152d0e0a1500221502152d0e0c152d08010f2702140405000801140127030f0401002213021400220f02153f0f00140015002a0f05132d0b13131e02000f002902001400036d527f2d08011527021604050008011601270315040100221502162d0a16172d0e141700221702172d0e0f1700221702172d0e131700221702172d0e0d172d08010f2702130405000801130127030f0401002215021300220f02143f0f00130014002a0f05132d0b1313330a0013000f2402000f000007792500000d8a2d08010f2702130405000801130127030f040100220f02132d0a13142d0e101400221402142d0e041400221402142d0e111400221402142d0e0d142d08011127021304050008011301270311040100220f021300221102143f0f00130014002a11050f2d0b0f0f0a2a0f0a110a2a11091324020013000007f72500000d9c1e020011002f2a000f00110013002a131211300a0011000f2d0b030f00220f020f2d0e0f0300220302112d0b11112702120403002a03120f3b0e0011000f230000083a0a2a020e0f2402000f0000084c23000009492d08010e27020f04030008010f0127030e040100220e020f1f3a00060005000f002a0e050f2d0b0f0f002a0e06112d0b11111e020006001e020006002d08010627020e04050008010e012703060401002206020e2d0a0e122d0e101200221202122d0e041200221202122d0e0f1200221202122d0e0d122d08010e27020f04050008010f0127030e0401002206020f00220e02123f0f000f0012002a0e05062d0b06060a2a060a0e0a2a0e090f2402000f000009062500000d9c1e02000e002f2a0006000e000f002a0f110e300a000e00062d0b030600220602062d0e0603002203020e2d0b0e0e27020f0403002a030f063b0e000e000623000009492902000600bb19097e0a2a02060e2402000e000009642300000a932d08010627020e04020008010e012703060401002206020e1f3a00050005000e002a06050e2d0b0e0e1e020006001e020006001e0200060924020006000009a92500000dae2d08010627020f04050008010f012703060401002206020f2d0a0f112d0e101100221102112d0e041100221102112d0e0e1100221102112d0e0d112d08010427020d04050008010d012703040401002206020d002204020e3f0f000d000e002a0405062d0b06060a2a060a040a2a04090d2402000d00000a272500000d9c1e020004002f2a00060004000d270206040127020f0403002a060f0e2d0801040008010e012703040401002204020e2d0e060e00220e020e2d0e060e27020e0403002a040e062d0a060e2d0e0d0e002204020d2d0b0d0d27020e0403002a040e063b0e000d00062300000a932902000400ee21e57b0a2a0204062402000600000aae2300000b8e1e020004010a22044306160a060d1c0a0d0e00042a0e040d0a2a0609042402000400000adc27020e04003c060e011e020004000a2a0d04062402000600000af32500000dc01e020004002d08010627020d04050008010d012703060401002206020d2d0a0d0e2d0e0b0e00220e020e2d0e040e00220e020e2d0e0a0e00220e020e2d0e0c0e2d08010427020a04050008010a012703040401002206020a002204020b3f0f000a000b002a0405062d0b0606340200062d0b030400220402042d0e040300220302052d0b05052702060403002a0306043b0e000500042300000b8e2702030255270204026e270205026b270206026f270207027727020a022027020b027327020c026527020d026c27020e026327020f02742702100272270211027b270212027d2d080113270214041c0008011401270313040100221302142d0a14152d0e031500221502152d0e041500221502152d0e051500221502152d0e041500221502152d0e061500221502152d0e071500221502152d0e041500221502152d0e0a1500221502152d0e0b1500221502152d0e0c1500221502152d0e0d1500221502152d0e0c1500221502152d0e0e1500221502152d0e0f1500221502152d0e061500221502152d0e101500221502152d0e0a1500221502152d0e111500221502152d0e0b1500221502152d0e0c1500221502152d0e0d1500221502152d0e0c1500221502152d0e0e1500221502152d0e0f1500221502152d0e061500221502152d0e101500221502152d0e121527020300010a2a0908042402000400000d54270205041e2d080106270207041e00080107012d0a06072a030007059b5bbff74a5bff190022070207002213020a27020b041b2d020a032d0207042d020b052500000dd227020a041b002a070a072d0e030700220702072d0e020700220702073c0e05062a010001058a553a2c2b67c8ef3c040201262a01000105c80d73736ecdb4e13c040201262a0100010575fef108377c8a4f3c040201262a0100010506613b3d0b9dbd333c040201262a01000105babb21d7823318643c040201262a01000105c5cc62b50ed35c303c040201262a010001052ab9ecbeb3430ae13c0402012600000305072d0003082d0004092300000df62d0108062d040609000008020800000902090c0008070a2400000a00000de426>, - "privateFunctionsRoot": Fr<0x07be998ba5208ae3c3c9329157a2c586b26d7489a3e4be5af66e6a1b70e4357a>, + "artifactHash": Fr<0x24c6b040ea6c3ec2ecf9d6b0c0c709239696f66ea8d27d3bc064852a8bfb579c>, + "contractClassId": Fr<0x135e3e6dff88ef7e69c592472939cddff00850a0886c416e47720573cf94db4c>, + "packedPublicBytecode": Buffer<0x27000204012800000104804d270000044d2500000041270203040127020404001f0a00030004004c2d084c0225000000b7270202044d27020304003b0e000300022c0000430030644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000002900004404ffffffff27004504032700460000270047010127004804012900004900c732f9772b00004a00000000000000000200000000000000002b00004b0000000000000000030000000000000000262902000300324de62f0a2a02030427020504002702070403002a0507062d0801030008010601270303040100220302062d0e050600220602062d0e05062702060403002a0306052702050402270206040027020701002902000800d9b51578240200040000012323000006202d08010427020904030008010901270304040100220402091f3200050048000900220448092d0b0909002a04050a2d0b0a0a1e020004001e02000b001e02000b002d08010c27020d04030008010d0127030c040100220c020d360e000b000d0000220c480d2d0b0d0d002a0c050e2d0b0e0e1c0a0d0c00042a0c0e0f2402000d000001b027020c04003c060c012d08010c27020d04030008010d0127030c040100220c020d360e000b000d0200220c480b2d0b0b0b002a0c050d2d0b0d0d1c0a0b0c00042a0c0d0e2402000b000001fc27020c04003c060c012d08010b27020c04020008010c0127030b040100220b020c1f3800480006000c00220b480c2d0b0c0c1c0a0c0d041c0a0d0b002d08010c27020d04030008010d0127030c040100220c020d1f3200050048000d00220c480d2d0b0d0d002a0c05102d0b10102902000c00d52de36b2d08011127021204050008011201270311040100221102122d0a12132d0e0c1300221302132d0e0d1300221302132d0e101300221302132d0c4b132d08010c27020d04050008010d0127030c0401002211020d00220c02103f0f000d001000220c480d2d0b0d0d2902000c0016f8af272d08011027021104050008011101270310040100221002112d0a11122d0e0c1200221202122d0e0b1200221202122d0e0d1200221202122d0c4b122d08010b27020c04050008010c0127030b0401002210020c00220b020d3f0f000c000d00220b480c2d0b0c0c0a2a0e0c0b2402000b000003532500000c770a220f460b1e02000c010a220c430d160a0d0e1c0a0e1000042a100c0e0a2a0d070c2402000c0000038627021004003c0610010a2a0f0e0c122a0b0c0d2402000d0000039d2500000c892d08010b27020c04040008010c0127030b040100220b020c2d0a0c0d2d0e080d00220d020d2d0e090d00220d020d2d0e0a0d00220b02093903200044004400040045000920020004210200092d08010b27020a040000220b020d2d0b0d0d27020e0403002a0b0e0c223a00090006000c2d0a090d27030b040100220b020e2d0e0d0e00220e020e2d0e0d0e27020f0403002a0d0f0e0008010e0127020e04002d0a0d0f06220f020f0a2a0a0e102d0a0f0a240200100000045a2d0a0a0a24020010000004740a2a0a0f1124020011000004742500000c9b24020004000004aa23000004812d0b0b0400220402042d0e040b00220b02092d0b090927020c0403002a0b0c043c0e090423000004aa0a2a0a060424020004000004c027020904003c0609011e020004002d08010927020a04030008010a012703090401002209020a360e0004000a02002209480a2d0b0a0a002a09050b2d0b0b0b1c0a0a0900042a090b0c2402000a0000051127020904003c0609012902000900ede022762d08010a27020b04050008010b0127030a040100220a020b2d0a0b0d2d0e090d00220d020d2d0e040d00220d020d2d0e0c0d00220d020d2d0c4b0d2d08010427020904050008010901270304040100220a0209002204020b3f0f0009000b00220448092d0b0909340200091e020004002d08010927020a04050008010a012703090401002209020a2d0a0a0b2d0c490b00220b020b2d0e040b00220b020b2d0c460b00220b020b2d0c4a0b2d08010427020a04050008010a012703040401002209020a002204020b3f0f000a000b00220448092d0b0909340200092d0b030400220402042d0e040300220302092d0b090927020a0403002a030a043b0e00090004230000062029020004005bd9f2da0a2a02040927020400022902000a00ef52534d2402000900000649230000075d2d08010927020b04030008010b012703090401002209020b1f3200050048000b002209480b2d0b0b0b002a09050c2d0b0c0c1e020009001e02000900270209040d2d08000d00080009002500000cad2d0200002d08010927020d04050008010d012703090401002209020d2d0a0d0e2d0e0a0e00220e020e2d0e040e00220e020e2d0e0b0e00220e020e2d0c4b0e2d08010b27020d04050008010d0127030b0401002209020d00220b020e3f0f000d000e00220b48092d0b09090a2209460b0a2a0b070d2402000d0000071a2500000da21e02000b002f2a0009000b000d002a0d0c0b300a000b00092d0b030900220902092d0e0903002203020b2d0b0b0b27020c0403002a030c093b0e000b0009230000075d0a2a020809240200090000076f230000086c2d08010827020904030008010901270308040100220802091f3200050048000900220848092d0b0909002a08050b2d0b0b0b1e020005001e020005002d08010527020804050008010801270305040100220502082d0a080c2d0e0a0c00220c020c2d0e040c00220c020c2d0e090c00220c020c2d0c4b0c2d0801082702090405000801090127030804010022050209002208020c3f0f0009000c00220848052d0b05050a220546080a2a08070924020009000008292500000da21e020008002f2a000500080009002a090b08300a000800052d0b030500220502052d0e050300220302082d0b08082702090403002a0309053b0e00080005230000086c2902000500bb19097e0a2a020508240200080000088723000009b62d08010527020804020008010801270305040100220502081f3000480048000800220548082d0b08081e020005001e020005001e0200050924020005000008cc2500000db42d08010527020904050008010901270305040100220502092d0a090b2d0e0a0b00220b020b2d0e040b00220b020b2d0e080b00220b020b2d0c4b0b2d080104270208040500080108012703040401002205020800220402093f0f0008000900220448052d0b05050a220546040a2a040708240200080000094a2500000da21e020004002f2a000500040008270205040127020a0403002a050a092d0801040008010901270304040100220402092d0e050900220902092d0e05092702090403002a0409052d0a05092d0e080900220402082d0b08082702090403002a0409053b0e0008000523000009b62902000400ee21e57b0a2a02040524020005000009d12300000ab11e020004010a22044305160a05081c0a080900042a0904080a2a05070424020004000009ff27020904003c0609011e020004000a2a0804052402000500000a162500000dc61e020004002d08010527020804050008010801270305040100220502082d0a08092d0c490900220902092d0e040900220902092d0c460900220902092d0c4a092d080104270208040500080108012703040401002205020800220402093f0f0008000900220448052d0b0505340200052d0b030400220402042d0e040300220302052d0b05052702080403002a0308043b0e000500042300000ab12702030255270204026e270205026b270206026f2702080277270209022027020a027327020b026527020c026c27020d026327020e027427020f0272270210027b270211027d2d080112270213041c0008011301270312040100221202132d0a13142d0e031400221402142d0e041400221402142d0e051400221402142d0e041400221402142d0e061400221402142d0e081400221402142d0e041400221402142d0e091400221402142d0e0a1400221402142d0e0b1400221402142d0e0c1400221402142d0e0b1400221402142d0e0d1400221402142d0e0e1400221402142d0e061400221402142d0e0f1400221402142d0e091400221402142d0e101400221402142d0e0a1400221402142d0e0b1400221402142d0e0c1400221402142d0e0b1400221402142d0e0d1400221402142d0e0e1400221402142d0e061400221402142d0e0f1400221402142d0e111427020300010a220747042402000400000c77270205041e2d080106270208041e00080108012d0a06082a030008059b5bbff74a5bff190022080208002212020927020a041b2d0209032d0208042d020a052500000dd8270209041b002a0809082d0e030800220802082d0e020800220802083c0e05062a010001058a553a2c2b67c8ef3c040201262a01000105c80d73736ecdb4e13c040201262a0100010575fef108377c8a4f3c040201261e020002002d08010327020404050008010401270303040100220302042d0a04052d0c490500220502052d0e020500220502052d0c460500220502052d0c4a052d080102270204040500080104012703020401002203020400220202053f0f0004000500220248032d0b03031e020002002902000400036d527f2d08010527020604050008010601270305040100220502062d0a06072d0e040700220702072d0e020700220702072d0e030700220702072d0c4b072d080102270203040500080103012703020401002205020300220202043f0f0003000400220248032d0b0303330a000300022402000200000da12500000e0a262a01000105babb21d7823318643c040201262a01000105c5cc62b50ed35c303c040201262a010001052ab9ecbeb3430ae13c0402012600000305072d0003082d0004092300000dfc2d0108062d040609000008020800000902090c0008070a2400000a00000dea262a0100010506613b3d0b9dbd333c04020126>, + "privateFunctionsRoot": Fr<0x10b89e84a594728151d2054d9e41999f109fca6895e8bec7894445886adaa5c1>, "version": 1, } `; diff --git a/yarn-project/protocol-contracts/src/instance-registry/__snapshots__/contract_instance_published_event.test.ts.snap b/yarn-project/protocol-contracts/src/instance-registry/__snapshots__/contract_instance_published_event.test.ts.snap index f74640794bf0..fc855b12b4a2 100644 --- a/yarn-project/protocol-contracts/src/instance-registry/__snapshots__/contract_instance_published_event.test.ts.snap +++ b/yarn-project/protocol-contracts/src/instance-registry/__snapshots__/contract_instance_published_event.test.ts.snap @@ -2,17 +2,18 @@ exports[`ContractInstancePublishedEvent parses an event as emitted by the ClassInstanceRegistry 1`] = ` ContractInstancePublishedEvent { - "address": "0x21e212810f887382b564c453919235ecc04ff03f9c5127ac9a630a3fc62cfbbb", - "contractClassId": "0x1c2459719688b73599862bb4192cf567006eaf1fd7382d84f842a6f3616b326c", + "address": "0x1a0d9f0f131e602239f499207c271b6319cb33a45b8f917a7c35d8a52a60d2cb", + "contractClassId": "0x14cc2f3a2417ec81f84c15b1517cef38654c29ace9d54f5a4a22ce1709cc5fc9", "deployer": "0x0000000000000000000000000000000000000000000000000000000000000000", - "initializationHash": "0x0fb36d433fc86c98e17d214b1024303def3bb1e8fa412bc6e796eb1366b5f55b", + "immutablesHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "initializationHash": "0x0dad6f31fca9cac105434c9d0071a24a38da659700aee09d285b5ceae94ff5fe", "publicKeys": PublicKeys { - "masterIncomingViewingPublicKey": "0x1e415b163a4af0578cf70ab19e836504a74de9ea3e0c94373ca781436155bfc31fe218da6de686b7a39b092364894c6c2246fee50d0ff9832294cd6b792b8f42", - "masterNullifierPublicKey": "0x1366c504bbb3b3bb5d7246d9e082468eae37d93c38705b9eb4ef8bb76dc9b98005c6d6a962e4d7a458aa232dab86841ebcfe4d342556f270f6b2452fd87581bb", - "masterOutgoingViewingPublicKey": "0x1aa402e7eafa5c5d6ed9454c794e744eabf3b0c5ed84a35567fbe7509552181808afab9b331786e21a60f1f237a7a0f5457ce547160b82ace9a58a800b170fc1", - "masterTaggingPublicKey": "0x289752f4904779a603001cd6fab021079a04e18f0740eb0e1009088199178d1f26814d31374c3e5c551e28a5467feb67155bb2be160d80ca851babfa60501e61", + "ivpkM": "0x21f72071d5882ea13df29918cbaad0d60a11f61309ece108e61d7102b62ec1b50460480b46dcfd5c3262004f191fecf11f321d74618d761e6bcadc691078b421", + "npkMHash": "0x2f6b4b954efabd4f61fe64c1704e82f62760c1a0b5ec1ab88e272fae2f3f0d6c", + "ovpkMHash": "0x0c0e28c4de1167675c811c52defc32dae2245315682dd349b26ef9c3161b1f96", + "tpkMHash": "0x222398ec917e21cb0cbac7050610c2bcb0c2fedfc637bf03d59094b7fd9ce186", }, - "salt": "0x108abf493e0af91750b53cd462defc3373f1a522e982af55b0c8ec7d20cf0393", - "version": 1, + "salt": "0x2d906f112c4a0f17792dbb184f229b5e5fe22d3ae04eb78736ce9ae0e35e49fc", + "version": 2, } `; diff --git a/yarn-project/protocol-contracts/src/instance-registry/contract_instance_published_event.ts b/yarn-project/protocol-contracts/src/instance-registry/contract_instance_published_event.ts index 35857a0f852b..d69ae3c2b683 100644 --- a/yarn-project/protocol-contracts/src/instance-registry/contract_instance_published_event.ts +++ b/yarn-project/protocol-contracts/src/instance-registry/contract_instance_published_event.ts @@ -15,6 +15,7 @@ export class ContractInstancePublishedEvent { public readonly salt: Fr, public readonly contractClassId: Fr, public readonly initializationHash: Fr, + public readonly immutablesHash: Fr, public readonly publicKeys: PublicKeys, public readonly deployer: AztecAddress, ) {} @@ -31,6 +32,7 @@ export class ContractInstancePublishedEvent { const salt = reader.readObject(Fr); const contractClassId = reader.readObject(Fr); const initializationHash = reader.readObject(Fr); + const immutablesHash = reader.readObject(Fr); const publicKeys = reader.readObject(PublicKeys); const deployer = reader.readObject(AztecAddress); @@ -40,13 +42,14 @@ export class ContractInstancePublishedEvent { salt, contractClassId, initializationHash, + immutablesHash, publicKeys, deployer, ); } toContractInstance(): ContractInstanceWithAddress { - if (this.version !== 1) { + if (this.version !== 2) { throw new Error(`Unexpected contract instance version ${this.version}`); } @@ -56,6 +59,7 @@ export class ContractInstancePublishedEvent { currentContractClassId: this.contractClassId, originalContractClassId: this.contractClassId, initializationHash: this.initializationHash, + immutablesHash: this.immutablesHash, publicKeys: this.publicKeys, salt: this.salt, deployer: this.deployer, diff --git a/yarn-project/protocol-contracts/src/make_protocol_contract.ts b/yarn-project/protocol-contracts/src/make_protocol_contract.ts index 87215bcb3c20..d921be733ef2 100644 --- a/yarn-project/protocol-contracts/src/make_protocol_contract.ts +++ b/yarn-project/protocol-contracts/src/make_protocol_contract.ts @@ -1,3 +1,4 @@ +import { Fr } from '@aztec/foundation/curves/bn254'; import type { ContractArtifact } from '@aztec/stdlib/abi'; import { PublicKeys } from '@aztec/stdlib/keys'; @@ -34,10 +35,11 @@ export function makeProtocolContract(name: ProtocolContractName, artifact: Contr }; const instance = { - version: 1 as const, + version: 2 as const, currentContractClassId: classId, originalContractClassId: classId, initializationHash, + immutablesHash: Fr.ZERO, // Protocol Contracts Have No Immutables publicKeys: PublicKeys.default(), salt, deployer: address, diff --git a/yarn-project/protocol-contracts/src/scripts/generate_data.ts b/yarn-project/protocol-contracts/src/scripts/generate_data.ts index 58b8d8aa14c7..9bd43ff78210 100644 --- a/yarn-project/protocol-contracts/src/scripts/generate_data.ts +++ b/yarn-project/protocol-contracts/src/scripts/generate_data.ts @@ -89,10 +89,11 @@ async function computeContractData(artifact: NoirCompiledContract, deployer: Azt const constructorArtifact = loaded.functions.find(f => f.name === 'constructor'); const initializationHash = await computeInitializationHash(constructorArtifact, []); const instance = { - version: 1 as const, + version: 2 as const, currentContractClassId: contractClass.id, originalContractClassId: contractClass.id, initializationHash, + immutablesHash: Fr.ZERO, // Protocol Contracts Have No Immutables publicKeys: PublicKeys.default(), salt, deployer, diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle.ts index 670d2bdc86b1..4c0a264b4846 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/oracle.ts @@ -225,6 +225,7 @@ export class Oracle { instance.deployer, instance.currentContractClassId, instance.initializationHash, + instance.immutablesHash, ...instance.publicKeys.toFields(), ].map(toACVMField); } @@ -340,10 +341,26 @@ export class Oracle { // with two fields: `some` (a boolean) and `value` (a field array in this case). if (result === undefined) { // No data was found so we set `some` to 0 and pad `value` with zeros get the correct return size. - return [toACVMField(0), Array(13).fill(toACVMField(0))]; + // Wire shape: [npk_m_hash, ivpk_m.x, ivpk_m.y, ovpk_m_hash, tpk_m_hash, partial_address] = 6 fields. + return [toACVMField(0), Array(6).fill(toACVMField(0))]; } else { // Data was found so we set `some` to 1 and return it along with `value`. - return [toACVMField(1), [...result.publicKeys.toFields(), result.partialAddress].map(toACVMField)]; + // The Noir side hand-decodes a `[Field; 6]` here (see aztec-nr/aztec/src/oracle/keys.nr), so we + // emit the 5-field PublicKeys shape + partial_address explicitly + // rather than going through `publicKeys.toFields()` (which is the struct-flattened 6-field + // wire for oracle returns that decode via struct shape). + const { publicKeys, partialAddress } = result; + return [ + toACVMField(1), + [ + publicKeys.npkMHash, + publicKeys.ivpkM.x, + publicKeys.ivpkM.y, + publicKeys.ovpkMHash, + publicKeys.tpkMHash, + partialAddress, + ].map(toACVMField), + ]; } } diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts index f37e686891ef..2288551091e8 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts @@ -337,40 +337,40 @@ describe('Private Execution test suite', () => { keyStore.getAccounts.mockResolvedValue([owner, recipient, senderForTags]); - keyStore.accountHasKey.mockImplementation(async (account: AztecAddress, pkMHash: Fr) => { + keyStore.accountHasKey.mockImplementation((account: AztecAddress, pkMHash: Fr) => { if (account.equals(owner)) { - return pkMHash.equals(await ownerCompleteAddress.publicKeys.masterNullifierPublicKey.hash()); + return Promise.resolve(pkMHash.equals(ownerCompleteAddress.publicKeys.npkMHash)); } if (account.equals(recipient)) { - return pkMHash.equals(await recipientCompleteAddress.publicKeys.masterNullifierPublicKey.hash()); + return Promise.resolve(pkMHash.equals(recipientCompleteAddress.publicKeys.npkMHash)); } if (account.equals(senderForTags)) { - return pkMHash.equals(await senderForTagsCompleteAddress.publicKeys.masterNullifierPublicKey.hash()); + return Promise.resolve(pkMHash.equals(senderForTagsCompleteAddress.publicKeys.npkMHash)); } - return false; + return Promise.resolve(false); }); keyStore.getKeyValidationRequest.mockImplementation(async (pkMHash: Fr, contractAddress: AztecAddress) => { - if (pkMHash.equals(await ownerCompleteAddress.publicKeys.masterNullifierPublicKey.hash())) { + if (pkMHash.equals(ownerCompleteAddress.publicKeys.npkMHash)) { return Promise.resolve( new KeyValidationRequest( - ownerCompleteAddress.publicKeys.masterNullifierPublicKey, + ownerCompleteAddress.publicKeys.npkMHash, await computeAppNullifierHidingKey(ownerNhkM, contractAddress), ), ); } - if (pkMHash.equals(await recipientCompleteAddress.publicKeys.masterNullifierPublicKey.hash())) { + if (pkMHash.equals(recipientCompleteAddress.publicKeys.npkMHash)) { return Promise.resolve( new KeyValidationRequest( - recipientCompleteAddress.publicKeys.masterNullifierPublicKey, + recipientCompleteAddress.publicKeys.npkMHash, await computeAppNullifierHidingKey(recipientNhkM, contractAddress), ), ); } - if (pkMHash.equals(await senderForTagsCompleteAddress.publicKeys.masterNullifierPublicKey.hash())) { + if (pkMHash.equals(senderForTagsCompleteAddress.publicKeys.npkMHash)) { return Promise.resolve( new KeyValidationRequest( - senderForTagsCompleteAddress.publicKeys.masterNullifierPublicKey, + senderForTagsCompleteAddress.publicKeys.npkMHash, await computeAppNullifierHidingKey(senderForTagsNhkM, contractAddress), ), ); @@ -1265,7 +1265,7 @@ describe('Private Execution test suite', () => { // Generate a partial address, pubkey, and resulting address const completeAddress = await CompleteAddress.random(); const args = [completeAddress.address]; - const pubKey = completeAddress.publicKeys.masterIncomingViewingPublicKey; + const pubKey = completeAddress.publicKeys.ivpkM; addressStore.getCompleteAddress.mockResolvedValue(completeAddress); const { entrypoint: result } = await runSimulator({ diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts index 47d684aa7850..b9cd370c147a 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution.test.ts @@ -1,7 +1,7 @@ import { BlockNumber } from '@aztec/foundation/branded-types'; import { Grumpkin } from '@aztec/foundation/crypto/grumpkin'; import { Fr } from '@aztec/foundation/curves/bn254'; -import { GrumpkinScalar, Point } from '@aztec/foundation/curves/grumpkin'; +import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin'; import type { KeyStore } from '@aztec/key-store'; import { StatefulTestContractArtifact } from '@aztec/noir-test-contracts.js/StatefulTest'; import { WASMSimulator } from '@aztec/simulator/client'; @@ -14,7 +14,7 @@ import { computeContractAddressFromInstance, } from '@aztec/stdlib/contract'; import type { AztecNode } from '@aztec/stdlib/interfaces/server'; -import { PublicKeys, deriveKeys } from '@aztec/stdlib/keys'; +import { PublicKeys, deriveKeys, hashPublicKey } from '@aztec/stdlib/keys'; import { MessageContext } from '@aztec/stdlib/logs'; import { Note, NoteDao } from '@aztec/stdlib/note'; import { makeL2Tips } from '@aztec/stdlib/testing'; @@ -150,12 +150,13 @@ describe('Utility Execution test suite', () => { // The initializer nullifier check requires the instance to be a valid preimage of the contract address, so we // can't use a random contract address here. const instanceFields = { - version: 1 as const, + version: 2 as const, salt: Fr.random(), deployer: await AztecAddress.random(), currentContractClassId: new Fr(42), originalContractClassId: new Fr(42), initializationHash: Fr.random(), + immutablesHash: Fr.random(), publicKeys: await PublicKeys.random(), }; const contractAddress = await computeContractAddressFromInstance(instanceFields); @@ -242,12 +243,13 @@ describe('Utility Execution test suite', () => { const expectedSum = new Fr(9); const instanceFields = { - version: 1 as const, + version: 2 as const, salt: Fr.random(), deployer: await AztecAddress.random(), currentContractClassId: new Fr(42), originalContractClassId: new Fr(42), initializationHash: Fr.random(), + immutablesHash: Fr.random(), publicKeys: await PublicKeys.random(), }; const contractAddress = await computeContractAddressFromInstance(instanceFields); @@ -489,11 +491,12 @@ describe('Utility Execution test suite', () => { // Derive keys so we can mock getMasterSecretKey (used by getSharedSecrets) const { masterIncomingViewingSecretKey: ownerIvskM } = await deriveKeys(ownerSecretKey); - keyStore.getMasterSecretKey.mockImplementation((publicKey: Point) => { - if (publicKey.equals(ownerCompleteAddress.publicKeys.masterIncomingViewingPublicKey)) { + const ownerIvpkMHash = await hashPublicKey(ownerCompleteAddress.publicKeys.ivpkM); + keyStore.getMasterSecretKey.mockImplementation((pkMHash: Fr) => { + if (pkMHash.equals(ownerIvpkMHash)) { return Promise.resolve(ownerIvskM); } - throw new Error(`Unknown public key ${publicKey}`); + throw new Error(`Unknown pk_m_hash ${pkMHash}`); }); const contractAddressA = await AztecAddress.random(); diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts index 14b728ce67b4..1adb61d80285 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/utility_execution_oracle.ts @@ -23,7 +23,7 @@ import type { CompleteAddress, ContractInstance, PartialAddress } from '@aztec/s import { siloNullifier } from '@aztec/stdlib/hash'; import type { AztecNode } from '@aztec/stdlib/interfaces/server'; import type { KeyValidationRequest } from '@aztec/stdlib/kernel'; -import { type PublicKeys, computeAddressSecret } from '@aztec/stdlib/keys'; +import { type PublicKeys, computeAddressSecret, hashPublicKey } from '@aztec/stdlib/keys'; import { MessageContext, deriveAppSiloedSharedSecret } from '@aztec/stdlib/logs'; import { getNonNullifiedL1ToL2MessageWitness } from '@aztec/stdlib/messaging'; import type { NoteStatus } from '@aztec/stdlib/note'; @@ -690,9 +690,8 @@ export class UtilityExecutionOracle implements IMiscOracle, IUtilityExecutionOra ); } const recipientCompleteAddress = await this.getCompleteAddressOrFail(address); - const ivskM = await this.keyStore.getMasterSecretKey( - recipientCompleteAddress.publicKeys.masterIncomingViewingPublicKey, - ); + const ivpkMHash = await hashPublicKey(recipientCompleteAddress.publicKeys.ivpkM); + const ivskM = await this.keyStore.getMasterSecretKey(ivpkMHash); const addressSecret = await computeAddressSecret(await recipientCompleteAddress.getPreaddress(), ivskM); const ephPkFields = this.ephemeralArrayService.readArrayAt(ephPksSlot); diff --git a/yarn-project/pxe/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts b/yarn-project/pxe/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts index 9b4c5542d145..149dea355274 100644 --- a/yarn-project/pxe/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +++ b/yarn-project/pxe/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts @@ -68,7 +68,7 @@ async function getMasterSecretKeysAndKeyTypeDomainSeparators( const numRequestsToProcess = Math.min(keyValidationRequests.claimedLength, numRequestsToVerify); const keysHints = await Promise.all( keyValidationRequests.array.slice(0, numRequestsToProcess).map(async ({ request }) => { - const secretKeys = await oracle.getMasterSecretKey(request.request.pkM); + const secretKeys = await oracle.getMasterSecretKey(request.request.pkMHash); return new KeyValidationHint(secretKeys); }), ); diff --git a/yarn-project/pxe/src/private_kernel/hints/test_utils.ts b/yarn-project/pxe/src/private_kernel/hints/test_utils.ts index be5bf7a66f7c..9a1fba6009ed 100644 --- a/yarn-project/pxe/src/private_kernel/hints/test_utils.ts +++ b/yarn-project/pxe/src/private_kernel/hints/test_utils.ts @@ -14,7 +14,6 @@ import { } from '@aztec/constants'; import { makeTuple } from '@aztec/foundation/array'; import { Fr } from '@aztec/foundation/curves/bn254'; -import { Point } from '@aztec/foundation/curves/grumpkin'; import type { Serializable } from '@aztec/foundation/serialize'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; import { @@ -130,10 +129,7 @@ export class PrivateKernelCircuitPublicInputsBuilder { const addr = opts?.contractAddress ?? this.contractAddress; this.keyValidationRequests.push( new ScopedKeyValidationRequestAndSeparator( - new KeyValidationRequestAndSeparator( - new KeyValidationRequest(new Point(Fr.random(), Fr.random(), false), Fr.random()), - Fr.random(), - ), + new KeyValidationRequestAndSeparator(new KeyValidationRequest(Fr.random(), Fr.random()), Fr.random()), addr, ), ); @@ -253,10 +249,7 @@ export class PrivateCircuitPublicInputsBuilder { /** Adds a key validation request. */ addKeyValidationRequest(): this { this.keyValidationRequests.push( - new KeyValidationRequestAndSeparator( - new KeyValidationRequest(new Point(Fr.random(), Fr.random(), false), Fr.random()), - Fr.random(), - ), + new KeyValidationRequestAndSeparator(new KeyValidationRequest(Fr.random(), Fr.random()), Fr.random()), ); return this; } diff --git a/yarn-project/pxe/src/private_kernel/private_kernel_execution_prover.test.ts b/yarn-project/pxe/src/private_kernel/private_kernel_execution_prover.test.ts index e16dab33ec23..a44bab2ad2fc 100644 --- a/yarn-project/pxe/src/private_kernel/private_kernel_execution_prover.test.ts +++ b/yarn-project/pxe/src/private_kernel/private_kernel_execution_prover.test.ts @@ -130,12 +130,13 @@ describe('Private Kernel Sequencer', () => { oracle.getMasterSecretKey.mockResolvedValue(Fr.random() as any); oracle.getContractAddressPreimage.mockResolvedValue({ - version: 1 as const, + version: 2 as const, salt: Fr.random(), deployer: await AztecAddress.random(), currentContractClassId: Fr.random(), originalContractClassId: Fr.random(), initializationHash: Fr.random(), + immutablesHash: Fr.random(), publicKeys: await PublicKeys.random(), address: await AztecAddress.random(), saltedInitializationHash: Fr.random(), diff --git a/yarn-project/pxe/src/private_kernel/private_kernel_oracle.ts b/yarn-project/pxe/src/private_kernel/private_kernel_oracle.ts index e04720182409..cce48341341e 100644 --- a/yarn-project/pxe/src/private_kernel/private_kernel_oracle.ts +++ b/yarn-project/pxe/src/private_kernel/private_kernel_oracle.ts @@ -6,7 +6,7 @@ import { VK_TREE_HEIGHT, } from '@aztec/constants'; import type { Fr } from '@aztec/foundation/curves/bn254'; -import type { GrumpkinScalar, Point } from '@aztec/foundation/curves/grumpkin'; +import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin'; import { MembershipWitness } from '@aztec/foundation/trees'; import type { KeyStore } from '@aztec/key-store'; import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree'; @@ -103,14 +103,14 @@ export class PrivateKernelOracle { } /** - * Retrieves the sk_m corresponding to the pk_m. - * @throws If the provided public key is not associated with any of the registered accounts. - * @param masterPublicKey - The master public key to get secret key for. + * Retrieves the sk_m corresponding to the pk_m hash. + * @throws If the provided hash is not associated with any of the registered accounts. + * @param masterPublicKeyHash - The master public key hash to get secret key for. * @returns A Promise that resolves to sk_m. * @dev Used when feeding the sk_m to the kernel circuit for keys verification. */ - public getMasterSecretKey(masterPublicKey: Point): Promise { - return this.keyStore.getMasterSecretKey(masterPublicKey); + public getMasterSecretKey(masterPublicKeyHash: Fr): Promise { + return this.keyStore.getMasterSecretKey(masterPublicKeyHash); } /** Use debug data to get the function name corresponding to a selector. */ diff --git a/yarn-project/pxe/src/storage/address_store/address_store.test.ts b/yarn-project/pxe/src/storage/address_store/address_store.test.ts index 40cea7d0f9f3..51e52319a6c2 100644 --- a/yarn-project/pxe/src/storage/address_store/address_store.test.ts +++ b/yarn-project/pxe/src/storage/address_store/address_store.test.ts @@ -1,4 +1,5 @@ import { timesParallel } from '@aztec/foundation/collection'; +import { Fr } from '@aztec/foundation/curves/bn254'; import { Point } from '@aztec/foundation/curves/grumpkin'; import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; import { CompleteAddress } from '@aztec/stdlib/contract'; @@ -30,7 +31,7 @@ describe('addresses', () => { const address = await CompleteAddress.random(); const otherAddress = await CompleteAddress.create( address.address, - new PublicKeys(await Point.random(), await Point.random(), await Point.random(), await Point.random()), + new PublicKeys(Fr.random(), await Point.random(), Fr.random(), Fr.random()), address.partialAddress, ); diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json index f2e80f8f02f2..ead6b82ef58e 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json @@ -2,21 +2,21 @@ "complete_addresses": [ { "index": 0, - "value": "0e097c323e48522fcbd592590a72a0d4e50f22b3fb1913d19c936439ab74851a214c7a24ddf501afc8734c7379ee502296289eb24cd8cd03cd435e128c06be0000987721e0963b4a5bd81ee862e2740d8849fd90537569064d3d3a4640e858d219e95c05f09cb86d1a6257572f9082ca15d4a02373c4d8c9cee23dc61a4c2a882f9017d51bca6616102d8a1d4dba89e4ce12881a2414576f01d2fec9492814a22c19ff0b089b07da436e6f7be6b26cdc17b9cee504a528c071ef6a416299683d0b369479d6e50504702d0b56bb56e4e8e0e77171429896651d0c11621e82ebc32fcdd0d194adafd753dc0ed279f5cfb54ddcce1dd581d4631cf343ba9ee6c1ab2858abca6c00da3def156b1f12a6464384e326d5fa724c2fc2ff2b7f3fc8ad5f0000000000000000000000000000000000000000000000000000000000000003" + "value": "179b170f4084ee97fc27c1c5b41a9934e052077de1d275fee11428265154b6db13ad6965d11a533a663d07507319f74ac3305325f6f72423c0b24aa1193268bb19e95c05f09cb86d1a6257572f9082ca15d4a02373c4d8c9cee23dc61a4c2a882f9017d51bca6616102d8a1d4dba89e4ce12881a2414576f01d2fec9492814a22a1b054e998835d166711839b515d434b1fbc207ad4fdb5b2b43d6ac6b400871019f5bb255e87523d43da83ebc9fa95169b653d4abef902e011e9eac620fc45b0000000000000000000000000000000000000000000000000000000000000003" }, { "index": 1, - "value": "2bc83a7fe553d4b649228410040c130a782f86f9b54813f4d847d0c3eeba065a156832f7840991767f448681237ef8bce6895fc79e5d9d0dedd89dccfd9d59ce215403719ea86d38909507bba0ba2d191f72dc1991a5dfc17da8bf7e8c1f1f4f267e526a2e6e9adf6a026989be005bd50d1aea76d20816b9843bc95557696f9f16c3eb259ba3e3eb27b7fe3abc36e87923990bf5c265cb0d57790eda2a4432f1237296442bbb36cc3632af0578ad4b7d5d69d52e05937a1d3e2fe295ac9af98628737df05bb727d77dd52691d42566eb22e529f9f404a2f9bc2e1982956ba09c1df52a95111bd76680a4356951e68a20c3e51cbddb7d1536c572b416bd342e3204aa15eaf393bb18695ddee077d52be6489ed510f357a90003099ce337e6232c0000000000000000000000000000000000000000000000000000000000000007" + "value": "0bc042bac587b8ff4785ff5b6def422de3ad558e37ec89b6494ff8c5dae0aa5d17c2df1b7355bb4c4494aa4ec85d15ff8881cea1b34691f0cc558e8aef3f3f4c267e526a2e6e9adf6a026989be005bd50d1aea76d20816b9843bc95557696f9f16c3eb259ba3e3eb27b7fe3abc36e87923990bf5c265cb0d57790eda2a4432f105a5449624125d37f10cd4c68ffd57b0dc0cdaa916cb37840be1db9bf88e3c5f0e81754454e3b12035b13448a9fe3b980bf31a9808cb93e146628fb06fa1b46f0000000000000000000000000000000000000000000000000000000000000007" } ], "complete_address_index": [ { - "key": "utf8:0x0e097c323e48522fcbd592590a72a0d4e50f22b3fb1913d19c936439ab74851a", - "value": "num:0" + "key": "utf8:0x0bc042bac587b8ff4785ff5b6def422de3ad558e37ec89b6494ff8c5dae0aa5d", + "value": "num:1" }, { - "key": "utf8:0x2bc83a7fe553d4b649228410040c130a782f86f9b54813f4d847d0c3eeba065a", - "value": "num:1" + "key": "utf8:0x179b170f4084ee97fc27c1c5b41a9934e052077de1d275fee11428265154b6db", + "value": "num:0" } ] } diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json index 6de71bb8c2e4..e52777ac981c 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json @@ -22,7 +22,7 @@ "contracts_instances": [ { "key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000065", - "value": "010000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000004f0000000000000000000000000000000000000000000000000000000000000053000000000000000000000000000000000000000000000000000000000000005900000000000000000000000000000000000000000000000000000000000000610000000000000000000000000000000000000000000000000000000000000029000000000000000000000000000000000000000000000000000000000000002b000000000000000000000000000000000000000000000000000000000000002f0000000000000000000000000000000000000000000000000000000000000035000000000000000000000000000000000000000000000000000000000000003b000000000000000000000000000000000000000000000000000000000000003d00000000000000000000000000000000000000000000000000000000000000430000000000000000000000000000000000000000000000000000000000000047" + "value": "020000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000004f00000000000000000000000000000000000000000000000000000000000000530000000000000000000000000000000000000000000000000000000000000059000000000000000000000000000000000000000000000000000000000000006100000000000000000000000000000000000000000000000000000000000000670000000000000000000000000000000000000000000000000000000000000029000000000000000000000000000000000000000000000000000000000000002f0000000000000000000000000000000000000000000000000000000000000035000000000000000000000000000000000000000000000000000000000000003b0000000000000000000000000000000000000000000000000000000000000043" } ] } diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json index 7164be86011a..24f383496aa2 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json @@ -1,51 +1,51 @@ { "key_store": [ { - "key": "utf8:0x0e097c323e48522fcbd592590a72a0d4e50f22b3fb1913d19c936439ab74851a-ivpk_m", + "key": "utf8:0x179b170f4084ee97fc27c1c5b41a9934e052077de1d275fee11428265154b6db-ivpk_m", "value": "19e95c05f09cb86d1a6257572f9082ca15d4a02373c4d8c9cee23dc61a4c2a882f9017d51bca6616102d8a1d4dba89e4ce12881a2414576f01d2fec9492814a2" }, { - "key": "utf8:0x0e097c323e48522fcbd592590a72a0d4e50f22b3fb1913d19c936439ab74851a-ivpk_m_hash", - "value": "2c8a04047c06c447dcf1011ddd80c1d03dc9f70a5fa4645722d086fe82504d76" + "key": "utf8:0x179b170f4084ee97fc27c1c5b41a9934e052077de1d275fee11428265154b6db-ivpk_m_hash", + "value": "1fd17152d394f6a43b527c531590888d610d1bcb9aa71a02498ce820bbf4dc62" }, { - "key": "utf8:0x0e097c323e48522fcbd592590a72a0d4e50f22b3fb1913d19c936439ab74851a-ivsk_m", + "key": "utf8:0x179b170f4084ee97fc27c1c5b41a9934e052077de1d275fee11428265154b6db-ivsk_m", "value": "1fb01c42d1aaa2662041b899c77cb19e08192193acc5a94405f1b43c974eba7a" }, { - "key": "utf8:0x0e097c323e48522fcbd592590a72a0d4e50f22b3fb1913d19c936439ab74851a-nhk_m", + "key": "utf8:0x179b170f4084ee97fc27c1c5b41a9934e052077de1d275fee11428265154b6db-nhk_m", "value": "2dd30220767969b10044b1322585bb4c4df4e0c5d9b4d7b3045a879a8e3e91d2" }, { - "key": "utf8:0x0e097c323e48522fcbd592590a72a0d4e50f22b3fb1913d19c936439ab74851a-npk_m", + "key": "utf8:0x179b170f4084ee97fc27c1c5b41a9934e052077de1d275fee11428265154b6db-npk_m", "value": "214c7a24ddf501afc8734c7379ee502296289eb24cd8cd03cd435e128c06be0000987721e0963b4a5bd81ee862e2740d8849fd90537569064d3d3a4640e858d2" }, { - "key": "utf8:0x0e097c323e48522fcbd592590a72a0d4e50f22b3fb1913d19c936439ab74851a-npk_m_hash", - "value": "0df588690e44b50e4ca694d25b494039b60f09451eaea7aaba97bd4cf8001710" + "key": "utf8:0x179b170f4084ee97fc27c1c5b41a9934e052077de1d275fee11428265154b6db-npk_m_hash", + "value": "13ad6965d11a533a663d07507319f74ac3305325f6f72423c0b24aa1193268bb" }, { - "key": "utf8:0x0e097c323e48522fcbd592590a72a0d4e50f22b3fb1913d19c936439ab74851a-ovpk_m", + "key": "utf8:0x179b170f4084ee97fc27c1c5b41a9934e052077de1d275fee11428265154b6db-ovpk_m", "value": "2c19ff0b089b07da436e6f7be6b26cdc17b9cee504a528c071ef6a416299683d0b369479d6e50504702d0b56bb56e4e8e0e77171429896651d0c11621e82ebc3" }, { - "key": "utf8:0x0e097c323e48522fcbd592590a72a0d4e50f22b3fb1913d19c936439ab74851a-ovpk_m_hash", - "value": "2cbd8a987ad7dc81814feabc55abdf40b810161611ad89b705db92f32cf94603" + "key": "utf8:0x179b170f4084ee97fc27c1c5b41a9934e052077de1d275fee11428265154b6db-ovpk_m_hash", + "value": "2a1b054e998835d166711839b515d434b1fbc207ad4fdb5b2b43d6ac6b400871" }, { - "key": "utf8:0x0e097c323e48522fcbd592590a72a0d4e50f22b3fb1913d19c936439ab74851a-ovsk_m", + "key": "utf8:0x179b170f4084ee97fc27c1c5b41a9934e052077de1d275fee11428265154b6db-ovsk_m", "value": "279fe6ef7dd2477b919327b1ebab7497c41b9a7ccfa9d5d52e32698e3b85293b" }, { - "key": "utf8:0x0e097c323e48522fcbd592590a72a0d4e50f22b3fb1913d19c936439ab74851a-tpk_m", + "key": "utf8:0x179b170f4084ee97fc27c1c5b41a9934e052077de1d275fee11428265154b6db-tpk_m", "value": "2fcdd0d194adafd753dc0ed279f5cfb54ddcce1dd581d4631cf343ba9ee6c1ab2858abca6c00da3def156b1f12a6464384e326d5fa724c2fc2ff2b7f3fc8ad5f" }, { - "key": "utf8:0x0e097c323e48522fcbd592590a72a0d4e50f22b3fb1913d19c936439ab74851a-tpk_m_hash", - "value": "2a0b3526801cd5edcaf6b4ba6e1f0a378b6d78d42a62410e86202fb66b44dd53" + "key": "utf8:0x179b170f4084ee97fc27c1c5b41a9934e052077de1d275fee11428265154b6db-tpk_m_hash", + "value": "019f5bb255e87523d43da83ebc9fa95169b653d4abef902e011e9eac620fc45b" }, { - "key": "utf8:0x0e097c323e48522fcbd592590a72a0d4e50f22b3fb1913d19c936439ab74851a-tsk_m", + "key": "utf8:0x179b170f4084ee97fc27c1c5b41a9934e052077de1d275fee11428265154b6db-tsk_m", "value": "183cb61099458d1564aa57c90c7091ac623a14092ab314150c9cfbb416810320" } ] diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json index 2ee17beb3c62..8a55a9c4c66f 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json @@ -1,5 +1,5 @@ { - "schemaVersion": 5, + "schemaVersion": 6, "stores": [ { "name": "address_book", diff --git a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts index 91b2c2d90ef1..9808d6568fe4 100644 --- a/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts +++ b/yarn-project/pxe/src/storage/backwards_compatibility_tests/schema_tests.ts @@ -187,18 +187,17 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [ await contractStore.addContractInstance( new SerializableContractInstance({ - version: 1, + version: 2, salt: new Fr(73n), deployer: AztecAddress.fromBigInt(79n), currentContractClassId: new Fr(83n), originalContractClassId: new Fr(89n), initializationHash: new Fr(97n), - publicKeys: new PublicKeys( - new Point(new Fr(41n), new Fr(43n), false), - new Point(new Fr(47n), new Fr(53n), false), - new Point(new Fr(59n), new Fr(61n), false), - new Point(new Fr(67n), new Fr(71n), false), - ), + immutablesHash: new Fr(103n), + // Only `ivpk_m` is exposed as a curve point; the other three master keys + // are exposed as `hash_public_key` digests. Constructor signature is now + // `(npkMHash, ivpkM, ovpkMHash, tpkMHash)`. + publicKeys: new PublicKeys(new Fr(41n), new Point(new Fr(47n), new Fr(53n), false), new Fr(59n), new Fr(67n)), }).withAddress(AztecAddress.fromBigInt(101n)), ); }, diff --git a/yarn-project/pxe/src/storage/metadata.ts b/yarn-project/pxe/src/storage/metadata.ts index aa63404894b5..b828fac62539 100644 --- a/yarn-project/pxe/src/storage/metadata.ts +++ b/yarn-project/pxe/src/storage/metadata.ts @@ -1 +1 @@ -export const PXE_DATA_SCHEMA_VERSION = 5; +export const PXE_DATA_SCHEMA_VERSION = 6; diff --git a/yarn-project/simulator/docs/avm/avm-isa-quick-reference.md b/yarn-project/simulator/docs/avm/avm-isa-quick-reference.md index f736c83c867d..6519f4aab32f 100644 --- a/yarn-project/simulator/docs/avm/avm-isa-quick-reference.md +++ b/yarn-project/simulator/docs/avm/avm-isa-quick-reference.md @@ -250,9 +250,9 @@ Click on an opcode name to view its detailed documentation. * **[🔗ECADD](opcodes/ecadd.md)**: Grumpkin elliptic curve addition * Opcode `0x42` ```javascript - M[dstOffset:dstOffset+3] = grumpkinAdd( - /*point1=*/{x: M[p1XOffset], y: M[p1YOffset], isInfinite: M[p1IsInfiniteOffset]}, - /*point2=*/{x: M[p2XOffset], y: M[p2YOffset], isInfinite: M[p2IsInfiniteOffset]} + M[dstOffset:dstOffset+1] = grumpkinAdd( + /*point1=*/{x: M[p1XOffset], y: M[p1YOffset]}, + /*point2=*/{x: M[p2XOffset], y: M[p2YOffset]} ) ``` * **[🔗TORADIXBE](opcodes/toradixbe.md)**: Convert to radix (big-endian) diff --git a/yarn-project/simulator/docs/avm/opcodes/getcontractinstance.md b/yarn-project/simulator/docs/avm/opcodes/getcontractinstance.md index 7e570e0eb2de..7cc324facb14 100644 --- a/yarn-project/simulator/docs/avm/opcodes/getcontractinstance.md +++ b/yarn-project/simulator/docs/avm/opcodes/getcontractinstance.md @@ -12,7 +12,7 @@ M[dstOffset] = contractInstance.exists ? 1 : 0; M[dstOffset+1] = contractInstanc ## Details -Looks up contract instance by address and retrieves the specified member. This opcode can get contract instance information for any contract address, not just the currently executing one. Returns existence flag (Uint1) and member value (FIELD). If the contract does not exist, the member value is set to 0. Supported enum values: `[DEPLOYER=0, CLASS_ID, INIT_HASH]`. +Looks up contract instance by address and retrieves the specified member. This opcode can get contract instance information for any contract address, not just the currently executing one. Returns existence flag (Uint1) and member value (FIELD). If the contract does not exist, the member value is set to 0. Supported enum values: `[DEPLOYER=0, CLASS_ID, INIT_HASH, IMMUTABLES_HASH]`. ## Contract Classes and Instances @@ -32,6 +32,7 @@ This separation allows for: | **Deployer Address** | The address of the account that deployed this contract instance. | | **Class ID** | The identifier of the contract class that this instance uses for its code. | | **Initialization Hash** | A hash of the constructor arguments used when the contract instance was deployed. | +| **Immutables Hash** | A hash of the immutable storage values declared by a contract instance when it was deployed. | **Example**: To check if a contract at a given `address` is an instance of a known `CLASS_ID`: 1. Use `GETCONTRACTINSTANCE` with the `address` and the `CLASS_ID` member enum. diff --git a/yarn-project/simulator/src/public/avm/apps_tests/avm_test.test.ts b/yarn-project/simulator/src/public/avm/apps_tests/avm_test.test.ts index a2961338479e..cba97e234740 100644 --- a/yarn-project/simulator/src/public/avm/apps_tests/avm_test.test.ts +++ b/yarn-project/simulator/src/public/avm/apps_tests/avm_test.test.ts @@ -54,6 +54,7 @@ describe('AVM simulator apps tests: AvmTestContract', () => { /*expectedDeployer=*/ expectContractInstance.deployer, /*expectedClassId=*/ expectContractInstance.currentContractClassId, /*expectedInitializationHash=*/ expectContractInstance.initializationHash, + /*expectedImmutablesHash=*/ expectContractInstance.immutablesHash, /*skip_strictly_limited_side_effects=*/ false, ]; const results = await simTester.simulateCall(sender, /*address=*/ testContractAddress, 'bulk_testing', args); diff --git a/yarn-project/simulator/src/public/avm/avm_simulator.test.ts b/yarn-project/simulator/src/public/avm/avm_simulator.test.ts index a9354bfe30bf..0ab606e1fcda 100644 --- a/yarn-project/simulator/src/public/avm/avm_simulator.test.ts +++ b/yarn-project/simulator/src/public/avm/avm_simulator.test.ts @@ -914,24 +914,27 @@ describe('AVM simulator: transpiled Noir contracts', () => { const context = createContext(calldata); // Contract instance must match noir const contractInstance = new SerializableContractInstance({ - version: 1 as const, + version: 2 as const, salt: new Fr(0x123), deployer: AztecAddress.fromBigInt(0x456n), currentContractClassId: new Fr(0x789), originalContractClassId: new Fr(0x789), initializationHash: new Fr(0x101112), + immutablesHash: new Fr(0x202221), publicKeys: new PublicKeys( - new Point(new Fr(0x131415), new Fr(0x161718), false), + new Fr(0x131415), new Point(new Fr(0x192021), new Fr(0x222324), false), - new Point(new Fr(0x252627), new Fr(0x282930), false), - new Point(new Fr(0x313233), new Fr(0x343536), false), + new Fr(0x252627), + new Fr(0x313233), ), }); const contractInstanceWithAddress = contractInstance.withAddress(address); - // mock once per enum value (deployer, classId, initializationHash) + // mock once per enum value (deployer, classId, initializationHash, immutablesHash) mockGetContractInstance(contractsDB, contractInstanceWithAddress); mockGetContractInstance(contractsDB, contractInstanceWithAddress); mockGetContractInstance(contractsDB, contractInstanceWithAddress); + mockGetContractInstance(contractsDB, contractInstanceWithAddress); + mockCheckNullifierExists(treesDB, true, await siloAddress(contractInstanceWithAddress.address)); mockCheckNullifierExists(treesDB, true, await siloAddress(contractInstanceWithAddress.address)); mockCheckNullifierExists(treesDB, true, await siloAddress(contractInstanceWithAddress.address)); mockCheckNullifierExists(treesDB, true, await siloAddress(contractInstanceWithAddress.address)); diff --git a/yarn-project/simulator/src/public/avm/fixtures/utils.ts b/yarn-project/simulator/src/public/avm/fixtures/utils.ts index b9034b629890..382fdd2a9764 100644 --- a/yarn-project/simulator/src/public/avm/fixtures/utils.ts +++ b/yarn-project/simulator/src/public/avm/fixtures/utils.ts @@ -128,17 +128,20 @@ export async function createContractClassAndInstance( const constructorAbi = getContractFunctionAbi('constructor', contractArtifact); const { publicKeys } = await deriveKeys(new Fr(seed)); const initializationHash = await computeInitializationHash(constructorAbi, constructorArgs); + const immutablesHash = new Fr(seed + 1); const contractInstance = originalContractClassId === undefined ? await makeContractInstanceFromClassId(contractClass.id, seed, { deployer, initializationHash, + immutablesHash, publicKeys, }) : await makeContractInstanceFromClassId(originalContractClassId, seed, { deployer, initializationHash, currentClassId: contractClass.id, + immutablesHash, publicKeys, }); diff --git a/yarn-project/simulator/src/public/avm/opcodes/contract.test.ts b/yarn-project/simulator/src/public/avm/opcodes/contract.test.ts index c13063491558..cc459424acd6 100644 --- a/yarn-project/simulator/src/public/avm/opcodes/contract.test.ts +++ b/yarn-project/simulator/src/public/avm/opcodes/contract.test.ts @@ -16,6 +16,7 @@ describe('Contract opcodes', () => { let deployer: AztecAddress; let contractClassId: Fr; let initializationHash: Fr; + let immutablesHash: Fr; let persistableState: jest.Mocked; let context: AvmContext; @@ -26,6 +27,7 @@ describe('Contract opcodes', () => { deployer = contractInstance.deployer; contractClassId = contractInstance.currentContractClassId; initializationHash = contractInstance.initializationHash; + immutablesHash = contractInstance.immutablesHash; persistableState = mock(); context = initContext({ persistableState }); }); @@ -54,6 +56,7 @@ describe('Contract opcodes', () => { [ContractInstanceMember.DEPLOYER, () => deployer.toField()], [ContractInstanceMember.CLASS_ID, () => contractClassId.toField()], [ContractInstanceMember.INIT_HASH, () => initializationHash.toField()], + [ContractInstanceMember.IMMUTABLES_HASH, () => immutablesHash.toField()], ])('GETCONTRACTINSTANCE member instruction ', (memberEnum: ContractInstanceMember, valueGetter: () => Fr) => { it(`Should read '${ContractInstanceMember[memberEnum]}' correctly`, async () => { const value = valueGetter(); @@ -87,6 +90,7 @@ describe('Contract opcodes', () => { [ContractInstanceMember.DEPLOYER], [ContractInstanceMember.CLASS_ID], [ContractInstanceMember.INIT_HASH], + [ContractInstanceMember.IMMUTABLES_HASH], ])( 'GETCONTRACTINSTANCE member instruction works when contract does not exist', (memberEnum: ContractInstanceMember) => { @@ -124,7 +128,7 @@ describe('Contract opcodes', () => { /*memberEnum=*/ invalidEnum, ); await expect(instruction.execute(context)).rejects.toThrow( - `Invalid GETCONSTRACTINSTANCE member enum ${invalidEnum}`, + `Invalid GETCONTRACTINSTANCE member enum ${invalidEnum}`, ); }); }); diff --git a/yarn-project/simulator/src/public/avm/opcodes/contract.ts b/yarn-project/simulator/src/public/avm/opcodes/contract.ts index 801a894fbd0a..28f7ece9440d 100644 --- a/yarn-project/simulator/src/public/avm/opcodes/contract.ts +++ b/yarn-project/simulator/src/public/avm/opcodes/contract.ts @@ -9,6 +9,7 @@ export enum ContractInstanceMember { DEPLOYER, CLASS_ID, INIT_HASH, + IMMUTABLES_HASH, } export class GetContractInstance extends Instruction { @@ -41,7 +42,7 @@ export class GetContractInstance extends Instruction { ); if (!(this.memberEnum in ContractInstanceMember)) { - throw new InstructionExecutionError(`Invalid GETCONSTRACTINSTANCE member enum ${this.memberEnum}`); + throw new InstructionExecutionError(`Invalid GETCONTRACTINSTANCE member enum ${this.memberEnum}`); } const operands = [this.addressOffset, this.dstOffset]; @@ -64,6 +65,9 @@ export class GetContractInstance extends Instruction { case ContractInstanceMember.INIT_HASH: memberValue = new Field(instance.initializationHash); break; + case ContractInstanceMember.IMMUTABLES_HASH: + memberValue = new Field(instance.immutablesHash); + break; } } diff --git a/yarn-project/simulator/src/public/avm/opcodes/ec_add.test.ts b/yarn-project/simulator/src/public/avm/opcodes/ec_add.test.ts index 8e144efaed91..ec05d289e2d7 100644 --- a/yarn-project/simulator/src/public/avm/opcodes/ec_add.test.ts +++ b/yarn-project/simulator/src/public/avm/opcodes/ec_add.test.ts @@ -5,7 +5,7 @@ import { Point } from '@aztec/foundation/curves/grumpkin'; import { beforeEach } from '@jest/globals'; import type { AvmContext } from '../avm_context.js'; -import { Field, Uint1, Uint32 } from '../avm_memory_types.js'; +import { Field, Uint32 } from '../avm_memory_types.js'; import { EcAddPointNotOnCurveError } from '../errors.js'; import { initContext } from '../fixtures/initializers.js'; import { EcAdd } from './ec_add.js'; @@ -24,20 +24,16 @@ describe('EC Instructions', () => { ...Buffer.from('1234', 'hex'), // indirect ...Buffer.from('1235', 'hex'), // p1x ...Buffer.from('1236', 'hex'), // p1y - ...Buffer.from('0000', 'hex'), // p1IsInfinite ...Buffer.from('1237', 'hex'), // p2x ...Buffer.from('1238', 'hex'), // p2y - ...Buffer.from('0001', 'hex'), // p2IsInfinite ...Buffer.from('1239', 'hex'), // dstOffset ]); const inst = new EcAdd( /*addressing_mode=*/ 0x1234, /*p1X=*/ 0x1235, /*p1Y=*/ 0x1236, - /*p1IsInfinite=*/ 0, /*p2X=*/ 0x1237, /*p2Y=*/ 0x1238, - /*p2IsInfinite=*/ 1, /*dstOffset=*/ 0x1239, ); @@ -48,41 +44,28 @@ describe('EC Instructions', () => { it(`Should double correctly`, async () => { const x = new Field(Grumpkin.generator.x); const y = new Field(Grumpkin.generator.y); - const zero = new Uint1(0); context.machineState.memory.set(0, x); context.machineState.memory.set(1, y); - context.machineState.memory.set(2, zero); - context.machineState.memory.set(3, x); - context.machineState.memory.set(4, y); - context.machineState.memory.set(5, zero); - // context.machineState.memory.set(6, new Uint32(6)); - - await new EcAdd( - /*addressing_mode=*/ 0, - /*p1X=*/ 0, - /*p1Y=*/ 1, - /*p1IsInfinite=*/ 2, - /*p2X=*/ 3, - /*p2Y=*/ 4, - /*p2IsInfinite=*/ 5, - /*dstOffset=*/ 6, - ).execute(context); - - const pIsInfinite = context.machineState.memory.get(8).toNumber() === 1; + context.machineState.memory.set(2, x); + context.machineState.memory.set(3, y); + // context.machineState.memory.set(4, new Uint32(4)); + + await new EcAdd(/*addressing_mode=*/ 0, /*p1X=*/ 0, /*p1Y=*/ 1, /*p2X=*/ 2, /*p2Y=*/ 3, /*dstOffset=*/ 4).execute( + context, + ); + const actual = new Point( - context.machineState.memory.get(6).toFr(), - context.machineState.memory.get(7).toFr(), - pIsInfinite, + context.machineState.memory.get(4).toFr(), + context.machineState.memory.get(5).toFr(), + false, ); const expected = await Grumpkin.add(Grumpkin.generator, Grumpkin.generator); expect(actual).toEqual(expected); - expect(context.machineState.memory.get(8).toFr().equals(Fr.ZERO)).toBe(true); }); it('Should add correctly', async () => { const G2 = await Grumpkin.add(Grumpkin.generator, Grumpkin.generator); - const zero = new Uint1(0); const x1 = new Field(Grumpkin.generator.x); const y1 = new Field(Grumpkin.generator.y); @@ -91,36 +74,25 @@ describe('EC Instructions', () => { context.machineState.memory.set(0, x1); context.machineState.memory.set(1, y1); - context.machineState.memory.set(2, zero); - context.machineState.memory.set(3, x2); - context.machineState.memory.set(4, y2); - context.machineState.memory.set(5, zero); - context.machineState.memory.set(6, new Uint32(6)); - - await new EcAdd( - /*addressing_mode=*/ 0, - /*p1X=*/ 0, - /*p1Y=*/ 1, - /*p1IsInfinite=*/ 2, - /*p2X=*/ 3, - /*p2Y=*/ 4, - /*p2IsInfinite=*/ 5, - /*dstOffset=*/ 6, - ).execute(context); + context.machineState.memory.set(2, x2); + context.machineState.memory.set(3, y2); + context.machineState.memory.set(4, new Uint32(4)); + + await new EcAdd(/*addressing_mode=*/ 0, /*p1X=*/ 0, /*p1Y=*/ 1, /*p2X=*/ 2, /*p2Y=*/ 3, /*dstOffset=*/ 4).execute( + context, + ); const actual = new Point( - context.machineState.memory.get(6).toFr(), - context.machineState.memory.get(7).toFr(), + context.machineState.memory.get(4).toFr(), + context.machineState.memory.get(5).toFr(), false, ); const G3 = await Grumpkin.add(Grumpkin.generator, G2); expect(actual).toEqual(G3); - expect(context.machineState.memory.get(8).toFr().equals(Fr.ZERO)).toBe(true); }); it('Should add correctly with rhs being infinity', async () => { - const zero = new Uint1(0); - const one = new Uint1(1); + const zero = new Field(0); const x = new Field(Grumpkin.generator.x); const y = new Field(Grumpkin.generator.y); @@ -128,103 +100,67 @@ describe('EC Instructions', () => { // Point 1 is not infinity context.machineState.memory.set(0, x); context.machineState.memory.set(1, y); - context.machineState.memory.set(2, zero); // Point 2 is infinity - context.machineState.memory.set(3, x); - context.machineState.memory.set(4, y); - context.machineState.memory.set(5, one); - context.machineState.memory.set(6, new Uint32(6)); - - await new EcAdd( - /*addressing_mode=*/ 0, - /*p1X=*/ 0, - /*p1Y=*/ 1, - /*p1IsInfinite=*/ 2, - /*p2X=*/ 3, - /*p2Y=*/ 4, - /*p2IsInfinite=*/ 5, - /*dstOffset=*/ 6, - ).execute(context); - - expect([ - context.machineState.memory.get(6).toFr(), - context.machineState.memory.get(7).toFr(), - context.machineState.memory.get(8).toNumber(), - ]).toEqual([x.toFr(), y.toFr(), 0]); + context.machineState.memory.set(2, zero); + context.machineState.memory.set(3, zero); + context.machineState.memory.set(4, new Uint32(4)); + + await new EcAdd(/*addressing_mode=*/ 0, /*p1X=*/ 0, /*p1Y=*/ 1, /*p2X=*/ 2, /*p2Y=*/ 3, /*dstOffset=*/ 4).execute( + context, + ); + + expect([context.machineState.memory.get(4).toFr(), context.machineState.memory.get(5).toFr()]).toEqual([ + x.toFr(), + y.toFr(), + ]); }); it('Should add correctly with lhs being infinity', async () => { - const zero = new Uint1(0); - const one = new Uint1(1); + const zero = new Field(0); const x = new Field(Grumpkin.generator.x); const y = new Field(Grumpkin.generator.y); // Point 1 is infinity - context.machineState.memory.set(0, x); - context.machineState.memory.set(1, y); - context.machineState.memory.set(2, one); + context.machineState.memory.set(0, zero); + context.machineState.memory.set(1, zero); // Point 2 is not infinity - context.machineState.memory.set(3, x); - context.machineState.memory.set(4, y); - context.machineState.memory.set(5, zero); - context.machineState.memory.set(6, new Uint32(6)); - - await new EcAdd( - /*addressing_mode=*/ 0, - /*p1X=*/ 0, - /*p1Y=*/ 1, - /*p1IsInfinite=*/ 2, - /*p2X=*/ 3, - /*p2Y=*/ 4, - /*p2IsInfinite=*/ 5, - /*dstOffset=*/ 6, - ).execute(context); - - expect([ - context.machineState.memory.get(6).toFr(), - context.machineState.memory.get(7).toFr(), - context.machineState.memory.get(8).toNumber(), - ]).toEqual([x.toFr(), y.toFr(), 0]); + context.machineState.memory.set(2, x); + context.machineState.memory.set(3, y); + context.machineState.memory.set(4, new Uint32(4)); + + await new EcAdd(/*addressing_mode=*/ 0, /*p1X=*/ 0, /*p1Y=*/ 1, /*p2X=*/ 2, /*p2Y=*/ 3, /*dstOffset=*/ 4).execute( + context, + ); + + expect([context.machineState.memory.get(4).toFr(), context.machineState.memory.get(5).toFr()]).toEqual([ + x.toFr(), + y.toFr(), + ]); }); it('Should add correctly with both being infinity', async () => { - const one = new Uint1(1); - - const x = new Field(Grumpkin.generator.x); - const y = new Field(Grumpkin.generator.y); + const zero = new Field(0); // Point 1 is infinity - context.machineState.memory.set(0, x); - context.machineState.memory.set(1, y); - context.machineState.memory.set(2, one); + context.machineState.memory.set(0, zero); + context.machineState.memory.set(1, zero); // Point 2 is infinity - context.machineState.memory.set(3, x); - context.machineState.memory.set(4, y); - context.machineState.memory.set(5, one); - context.machineState.memory.set(6, new Uint32(6)); - - await new EcAdd( - /*addressing_mode=*/ 0, - /*p1X=*/ 0, - /*p1Y=*/ 1, - /*p1IsInfinite=*/ 2, - /*p2X=*/ 3, - /*p2Y=*/ 4, - /*p2IsInfinite=*/ 5, - /*dstOffset=*/ 6, - ).execute(context); - - expect([ - context.machineState.memory.get(6).toFr(), - context.machineState.memory.get(7).toFr(), - context.machineState.memory.get(8).toNumber(), - ]).toEqual([Fr.ZERO, Fr.ZERO, 1]); + context.machineState.memory.set(2, zero); + context.machineState.memory.set(3, zero); + context.machineState.memory.set(4, new Uint32(4)); + + await new EcAdd(/*addressing_mode=*/ 0, /*p1X=*/ 0, /*p1Y=*/ 1, /*p2X=*/ 2, /*p2Y=*/ 3, /*dstOffset=*/ 4).execute( + context, + ); + + expect([context.machineState.memory.get(4).toFr(), context.machineState.memory.get(5).toFr()]).toEqual([ + Fr.ZERO, + Fr.ZERO, + ]); }); it('Should add correctly with none infinity adding up to infinity', async () => { - const zero = new Uint1(0); - // Point 1 is a "random" point on the curve const x1 = new Field(2165030248772332382647339664685760681662697934905450801078761197378150920554n); const y1 = new Field(1518479793551399970960577643223827307749147426195887130444945641264602004320n); @@ -234,29 +170,19 @@ describe('EC Instructions', () => { context.machineState.memory.set(0, x1); context.machineState.memory.set(1, y1); - context.machineState.memory.set(2, zero); - context.machineState.memory.set(3, x2); - context.machineState.memory.set(4, y2); - context.machineState.memory.set(5, zero); - context.machineState.memory.set(6, new Uint32(6)); - - await new EcAdd( - /*addressing_mode=*/ 0, - /*p1X=*/ 0, - /*p1Y=*/ 1, - /*p1IsInfinite=*/ 2, - /*p2X=*/ 3, - /*p2Y=*/ 4, - /*p2IsInfinite=*/ 5, - /*dstOffset=*/ 6, - ).execute(context); - - expect([ - context.machineState.memory.get(6).toFr(), - context.machineState.memory.get(7).toFr(), - context.machineState.memory.get(8).toNumber(), - ]).toEqual([Fr.ZERO, Fr.ZERO, 1]); + context.machineState.memory.set(2, x2); + context.machineState.memory.set(3, y2); + context.machineState.memory.set(4, new Uint32(4)); + + await new EcAdd(/*addressing_mode=*/ 0, /*p1X=*/ 0, /*p1Y=*/ 1, /*p2X=*/ 2, /*p2Y=*/ 3, /*dstOffset=*/ 4).execute( + context, + ); + + expect([context.machineState.memory.get(4).toFr(), context.machineState.memory.get(5).toFr()]).toEqual([ + Fr.ZERO, + Fr.ZERO, + ]); }); }); @@ -265,29 +191,16 @@ describe('EC Instructions', () => { const validPoint = await Point.random(); const p1xOffset = 0; const p1yOffset = 1; - const p1IsInfiniteOffset = 2; - const p2xOffset = 3; - const p2yOffset = 4; - const p2IsInfiniteOffset = 5; - const dstOffset = 6; + const p2xOffset = 2; + const p2yOffset = 3; + const dstOffset = 4; context.machineState.memory.set(p1xOffset, new Field(new Fr(1))); // p1x (point is invalid) context.machineState.memory.set(p1yOffset, new Field(new Fr(1))); // p1y (point is invalid) - context.machineState.memory.set(p1IsInfiniteOffset, new Uint1(0)); // p1IsInfinite context.machineState.memory.set(p2xOffset, new Field(validPoint.x)); // p2x context.machineState.memory.set(p2yOffset, new Field(validPoint.y)); // p2y - context.machineState.memory.set(p2IsInfiniteOffset, new Uint1(validPoint.isInfinite ? 1 : 0)); // p2IsInfinite await expect( - new EcAdd( - /*addressing_mode=*/ 0, - p1xOffset, - p1yOffset, - p1IsInfiniteOffset, - p2xOffset, - p2yOffset, - p2IsInfiniteOffset, - dstOffset, - ).execute(context), + new EcAdd(/*addressing_mode=*/ 0, p1xOffset, p1yOffset, p2xOffset, p2yOffset, dstOffset).execute(context), ).rejects.toThrow(EcAddPointNotOnCurveError); }); @@ -295,29 +208,16 @@ describe('EC Instructions', () => { const validPoint = await Point.random(); const p1xOffset = 0; const p1yOffset = 1; - const p1IsInfiniteOffset = 2; - const p2xOffset = 3; - const p2yOffset = 4; - const p2IsInfiniteOffset = 5; - const dstOffset = 6; + const p2xOffset = 2; + const p2yOffset = 3; + const dstOffset = 4; context.machineState.memory.set(p1xOffset, new Field(validPoint.x)); // p1x context.machineState.memory.set(p1yOffset, new Field(validPoint.y)); // p1y - context.machineState.memory.set(p1IsInfiniteOffset, new Uint1(validPoint.isInfinite ? 1 : 0)); // p1IsInfinite context.machineState.memory.set(p2xOffset, new Field(new Fr(1))); // p2x (point is invalid) context.machineState.memory.set(p2yOffset, new Field(new Fr(1))); // p2y (point is invalid) - context.machineState.memory.set(p2IsInfiniteOffset, new Uint1(0)); // p2IsInfinite await expect( - new EcAdd( - /*addressing_mode=*/ 0, - p1xOffset, - p1yOffset, - p1IsInfiniteOffset, - p2xOffset, - p2yOffset, - p2IsInfiniteOffset, - dstOffset, - ).execute(context), + new EcAdd(/*addressing_mode=*/ 0, p1xOffset, p1yOffset, p2xOffset, p2yOffset, dstOffset).execute(context), ).rejects.toThrow(EcAddPointNotOnCurveError); }); }); diff --git a/yarn-project/simulator/src/public/avm/opcodes/ec_add.ts b/yarn-project/simulator/src/public/avm/opcodes/ec_add.ts index 19e3c1adc6ca..9fe17d84128c 100644 --- a/yarn-project/simulator/src/public/avm/opcodes/ec_add.ts +++ b/yarn-project/simulator/src/public/avm/opcodes/ec_add.ts @@ -2,7 +2,7 @@ import { Grumpkin } from '@aztec/foundation/crypto/grumpkin'; import { Point } from '@aztec/foundation/curves/grumpkin'; import type { AvmContext } from '../avm_context.js'; -import { Field, TypeTag, Uint1 } from '../avm_memory_types.js'; +import { Field, TypeTag } from '../avm_memory_types.js'; import { EcAddPointNotOnCurveError } from '../errors.js'; import { Opcode, OperandType } from '../serialization/instruction_serialization.js'; import { Addressing } from './addressing_mode.js'; @@ -18,10 +18,8 @@ export class EcAdd extends Instruction { OperandType.UINT16, // indirect OperandType.UINT16, // p1X OperandType.UINT16, // p1Y - OperandType.UINT16, // p1IsInfinite OperandType.UINT16, // p2X OperandType.UINT16, // p2Y - OperandType.UINT16, // p2IsInfinite OperandType.UINT16, // dst ]; @@ -29,10 +27,8 @@ export class EcAdd extends Instruction { private addressingMode: number, private p1XOffset: number, private p1YOffset: number, - private p1IsInfiniteOffset: number, private p2XOffset: number, private p2YOffset: number, - private p2IsInfiniteOffset: number, private dstOffset: number, ) { super(); @@ -46,34 +42,27 @@ export class EcAdd extends Instruction { this.baseGasCost(addressing.indirectOperandsCount(), addressing.relativeOperandsCount()), ); - const operands = [ - this.p1XOffset, - this.p1YOffset, - this.p1IsInfiniteOffset, - this.p2XOffset, - this.p2YOffset, - this.p2IsInfiniteOffset, - this.dstOffset, - ]; - const [p1XOffset, p1YOffset, p1IsInfiniteOffset, p2XOffset, p2YOffset, p2IsInfiniteOffset, dstOffset] = - addressing.resolve(operands, memory); + const operands = [this.p1XOffset, this.p1YOffset, this.p2XOffset, this.p2YOffset, this.dstOffset]; + const [p1XOffset, p1YOffset, p2XOffset, p2YOffset, dstOffset] = addressing.resolve(operands, memory); memory.checkTags(TypeTag.FIELD, p1XOffset, p1YOffset, p2XOffset, p2YOffset); - memory.checkTags(TypeTag.UINT1, p1IsInfiniteOffset, p2IsInfiniteOffset); const p1X = memory.get(p1XOffset); const p1Y = memory.get(p1YOffset); - const p1IsInfinite = memory.get(p1IsInfiniteOffset).toNumber() === 1; - const p1 = new Point(p1X.toFr(), p1Y.toFr(), p1IsInfinite); + const p1XFr = p1X.toFr(); + const p1YFr = p1Y.toFr(); + const p1IsInfinite = p1XFr.isZero() && p1YFr.isZero(); + const p1 = new Point(p1XFr, p1YFr, p1IsInfinite); if (!p1.isOnGrumpkin()) { throw new EcAddPointNotOnCurveError(/*pointIndex=*/ 1, p1); } const p2X = memory.get(p2XOffset); const p2Y = memory.get(p2YOffset); - // unused. Point doesn't store this information - const p2IsInfinite = memory.get(p2IsInfiniteOffset).toNumber() === 1; - const p2 = new Point(p2X.toFr(), p2Y.toFr(), p2IsInfinite); + const p2XFr = p2X.toFr(); + const p2YFr = p2Y.toFr(); + const p2IsInfinite = p2XFr.isZero() && p2YFr.isZero(); + const p2 = new Point(p2XFr, p2YFr, p2IsInfinite); if (!p2.isOnGrumpkin()) { throw new EcAddPointNotOnCurveError(/*pointIndex=*/ 2, p2); } @@ -99,7 +88,5 @@ export class EcAdd extends Instruction { // Important to use setSlice() and not set() in the two following statements as // this checks that the offsets lie within memory range. memory.setSlice(dstOffset, [new Field(dest.x), new Field(dest.y)]); - // Check representation of infinity for grumpkin - memory.setSlice(dstOffset + 2, [new Uint1(dest.equals(Point.ZERO) ? 1 : 0)]); } } diff --git a/yarn-project/simulator/src/public/fixtures/bulk_test.ts b/yarn-project/simulator/src/public/fixtures/bulk_test.ts index 0e600ad8be42..b595517187d0 100644 --- a/yarn-project/simulator/src/public/fixtures/bulk_test.ts +++ b/yarn-project/simulator/src/public/fixtures/bulk_test.ts @@ -38,6 +38,7 @@ export async function bulkTest( /*expectedDeployer=*/ expectContractInstance.deployer, /*expectedClassId=*/ expectContractInstance.currentContractClassId, /*expectedInitializationHash=*/ expectContractInstance.initializationHash, + /*expectedImmutablesHash=*/ expectContractInstance.immutablesHash, /*skip_strictly_limited_side_effects=*/ false, ]; @@ -128,6 +129,7 @@ export async function megaBulkTest( /*expectedDeployer=*/ expectContractInstance.deployer.toField(), /*expectedClassId=*/ expectContractInstance.currentContractClassId.toField(), /*expectedInitializationHash=*/ expectContractInstance.initializationHash.toField(), + /*expectedImmutablesHash=*/ expectContractInstance.immutablesHash.toField(), // Must skip strictly limited side effects (logs, messages) so we can spam the bulk test several times. /*skip_strictly_limited_side_effects=*/ true, ]; diff --git a/yarn-project/simulator/src/public/fixtures/opcode_spammer.ts b/yarn-project/simulator/src/public/fixtures/opcode_spammer.ts index 88e9a1663eb3..dd4322029d81 100644 --- a/yarn-project/simulator/src/public/fixtures/opcode_spammer.ts +++ b/yarn-project/simulator/src/public/fixtures/opcode_spammer.ts @@ -1339,20 +1339,16 @@ export const SPAM_CONFIGS: Partial> = { setup: [ { offset: 0, value: new Field(Grumpkin.generator.x) }, // p1X = G.x { offset: 1, value: new Field(Grumpkin.generator.y) }, // p1Y = G.y - { offset: 2, value: new Uint1(0n) }, // p1IsInfinite = false - { offset: 3, value: new Field(Grumpkin.generator.x) }, // p2X = G.x - { offset: 4, value: new Field(Grumpkin.generator.y) }, // p2Y = G.y - { offset: 5, value: new Uint1(0n) }, // p2IsInfinite = false + { offset: 2, value: new Field(Grumpkin.generator.x) }, // p2X = G.x + { offset: 3, value: new Field(Grumpkin.generator.y) }, // p2Y = G.y ], targetInstructions: () => [ new EcAdd( /*addressing_mode=*/ 0, /*p1XOffset=*/ 0, /*p1YOffset=*/ 1, - /*p1IsInfiniteOffset=*/ 2, - /*p2XOffset=*/ 3, - /*p2YOffset=*/ 4, - /*p2IsInfiniteOffset=*/ 5, + /*p2XOffset=*/ 2, + /*p2YOffset=*/ 3, /*dstOffset=*/ 0, ), ], diff --git a/yarn-project/simulator/src/public/fixtures/utils.ts b/yarn-project/simulator/src/public/fixtures/utils.ts index 2c0a5a275b79..d1e4c3532863 100644 --- a/yarn-project/simulator/src/public/fixtures/utils.ts +++ b/yarn-project/simulator/src/public/fixtures/utils.ts @@ -233,17 +233,13 @@ export async function addNewContractInstanceToTx( contractInstance: ContractInstanceWithAddress, skipNullifierInsertion = false, ) { - // can't use publicKeys.toFields() because it includes isInfinite which - // is not broadcast in such private logs + // Only ivpk_m is broadcast as a point (x, y); the other three keys are hashes. const publicKeysAsFields = [ - contractInstance.publicKeys.masterNullifierPublicKey.x, - contractInstance.publicKeys.masterNullifierPublicKey.y, - contractInstance.publicKeys.masterIncomingViewingPublicKey.x, - contractInstance.publicKeys.masterIncomingViewingPublicKey.y, - contractInstance.publicKeys.masterOutgoingViewingPublicKey.x, - contractInstance.publicKeys.masterOutgoingViewingPublicKey.y, - contractInstance.publicKeys.masterTaggingPublicKey.x, - contractInstance.publicKeys.masterTaggingPublicKey.y, + contractInstance.publicKeys.npkMHash, + contractInstance.publicKeys.ivpkM.x, + contractInstance.publicKeys.ivpkM.y, + contractInstance.publicKeys.ovpkMHash, + contractInstance.publicKeys.tpkMHash, ]; const logFields = [ CONTRACT_INSTANCE_PUBLISHED_EVENT_TAG, @@ -252,6 +248,7 @@ export async function addNewContractInstanceToTx( new Fr(contractInstance.salt), contractInstance.currentContractClassId, contractInstance.initializationHash, + contractInstance.immutablesHash, ...publicKeysAsFields, contractInstance.deployer.toField(), ]; diff --git a/yarn-project/simulator/src/public/hinting_db_sources.ts b/yarn-project/simulator/src/public/hinting_db_sources.ts index 85f8ab422ccf..71c7a99c9239 100644 --- a/yarn-project/simulator/src/public/hinting_db_sources.ts +++ b/yarn-project/simulator/src/public/hinting_db_sources.ts @@ -83,6 +83,7 @@ export class HintingPublicContractsDB implements PublicContractsDBInterface { instance.currentContractClassId, instance.originalContractClassId, instance.initializationHash, + instance.immutablesHash, instance.publicKeys, ), ); diff --git a/yarn-project/stdlib/src/avm/avm.ts b/yarn-project/stdlib/src/avm/avm.ts index 339fe4271467..a5f2a4963bf3 100644 --- a/yarn-project/stdlib/src/avm/avm.ts +++ b/yarn-project/stdlib/src/avm/avm.ts @@ -130,6 +130,7 @@ export class AvmContractInstanceHint { public readonly currentContractClassId: Fr, public readonly originalContractClassId: Fr, public readonly initializationHash: Fr, + public readonly immutablesHash: Fr, public readonly publicKeys: PublicKeys, ) {} @@ -143,6 +144,7 @@ export class AvmContractInstanceHint { currentContractClassId: schemas.Fr, originalContractClassId: schemas.Fr, initializationHash: schemas.Fr, + immutablesHash: schemas.Fr, publicKeys: PublicKeys.schema, }) .transform( @@ -154,6 +156,7 @@ export class AvmContractInstanceHint { currentContractClassId, originalContractClassId, initializationHash, + immutablesHash, publicKeys, }) => new AvmContractInstanceHint( @@ -164,6 +167,7 @@ export class AvmContractInstanceHint { currentContractClassId, originalContractClassId, initializationHash, + immutablesHash, publicKeys, ), ); @@ -188,6 +192,7 @@ export class AvmContractInstanceHint { Fr.fromPlainObject(obj.currentContractClassId), Fr.fromPlainObject(obj.originalContractClassId), Fr.fromPlainObject(obj.initializationHash), + Fr.fromPlainObject(obj.immutablesHash), PublicKeys.fromPlainObject(obj.publicKeys), ); } diff --git a/yarn-project/stdlib/src/contract/complete_address.test.ts b/yarn-project/stdlib/src/contract/complete_address.test.ts index 0d68a3366609..c9f610801965 100644 --- a/yarn-project/stdlib/src/contract/complete_address.test.ts +++ b/yarn-project/stdlib/src/contract/complete_address.test.ts @@ -3,6 +3,7 @@ import { Point } from '@aztec/foundation/curves/grumpkin'; import { AztecAddress } from '../aztec-address/index.js'; import { computeAddress } from '../keys/derivation.js'; +import { hashPublicKey } from '../keys/public_key.js'; import { PublicKeys } from '../keys/public_keys.js'; import { CompleteAddress } from './complete_address.js'; @@ -47,7 +48,12 @@ describe('CompleteAddress', () => { const partialAddress = Fr.fromHexString('0x0a7c585381b10f4666044266a02405bf6e01fa564c8517d4ad5823493abd31de'); - const publicKeys = new PublicKeys(npkM, ivpkM, ovpkM, tpkM); + const publicKeys = new PublicKeys( + await hashPublicKey(npkM), + ivpkM, + await hashPublicKey(ovpkM), + await hashPublicKey(tpkM), + ); // Compute the expected address from the public keys and partial address const expectedAddress = await computeAddress(publicKeys, partialAddress); diff --git a/yarn-project/stdlib/src/contract/complete_address.ts b/yarn-project/stdlib/src/contract/complete_address.ts index 4b0442ebbb40..cea9fc138c2e 100644 --- a/yarn-project/stdlib/src/contract/complete_address.ts +++ b/yarn-project/stdlib/src/contract/complete_address.ts @@ -38,7 +38,8 @@ export class CompleteAddress { } /** Size in bytes of an instance */ - static readonly SIZE_IN_BYTES = 32 * 10; + // address (1 Fr) + publicKeys (1 Fr hash + 1 Point + 2 Fr hashes = 5 Fr) + partialAddress (1 Fr) = 7 Fr + static readonly SIZE_IN_BYTES = 32 * 7; static get schema() { return hexSchemaFor(CompleteAddress); @@ -54,8 +55,11 @@ export class CompleteAddress { static async fromSecretKeyAndPartialAddress(secretKey: Fr, partialAddress: Fr): Promise { const { publicKeys } = await deriveKeys(secretKey); - const address = await computeAddress(publicKeys, partialAddress); + return await this.fromPublicKeysAndPartialAddress(publicKeys, partialAddress); + } + static async fromPublicKeysAndPartialAddress(publicKeys: PublicKeys, partialAddress: Fr): Promise { + const address = await computeAddress(publicKeys, partialAddress); return new CompleteAddress(address, publicKeys, partialAddress); } @@ -87,7 +91,7 @@ export class CompleteAddress { * @returns A readable string representation of the complete address. */ public toReadableString(): string { - return `Address: ${this.address.toString()}\nMaster Nullifier Public Key: ${this.publicKeys.masterNullifierPublicKey.toString()}\nMaster Incoming Viewing Public Key: ${this.publicKeys.masterIncomingViewingPublicKey.toString()}\nMaster Outgoing Viewing Public Key: ${this.publicKeys.masterOutgoingViewingPublicKey.toString()}\nMaster Tagging Public Key: ${this.publicKeys.masterTaggingPublicKey.toString()}\nPartial Address: ${this.partialAddress.toString()}\n`; + return `Address: ${this.address.toString()}\nNpkM hash: ${this.publicKeys.npkMHash.toString()}\nIvpkM: ${this.publicKeys.ivpkM.toString()}\nOvpkM hash: ${this.publicKeys.ovpkMHash.toString()}\nTpkM hash: ${this.publicKeys.tpkMHash.toString()}\nPartial Address: ${this.partialAddress.toString()}\n`; } /** diff --git a/yarn-project/stdlib/src/contract/contract_address.test.ts b/yarn-project/stdlib/src/contract/contract_address.test.ts index def2ccb6bac6..5470ca43e78e 100644 --- a/yarn-project/stdlib/src/contract/contract_address.test.ts +++ b/yarn-project/stdlib/src/contract/contract_address.test.ts @@ -23,19 +23,18 @@ describe('ContractAddress', () => { `"0x2f43fe475e50f6066260038fd16fa97029a76395b2d38388808e60bc24651a0c"`, ); }); - it('computeSaltedInitializationHash', async () => { const mockInstance = { initializationHash: new Fr(1), salt: new Fr(2), deployer: AztecAddress.fromField(new Fr(4)), + immutablesHash: new Fr(3), }; const result = await computeSaltedInitializationHash(mockInstance); expect(result.toString()).toMatchInlineSnapshot( - `"0x2175c2437c52b1bfae8eed40f2e9968546a7053272f94f3937c52ed7e0018349"`, + `"0x093c5f7e0d5a56a1fce27bb347233fd1884db1ff78573c5b9b2de9d3fe8babe1"`, ); }); - it('computeInitializationHash', async () => { const mockInitFn: FunctionAbi = { functionType: FunctionType.PRIVATE, @@ -53,17 +52,16 @@ describe('ContractAddress', () => { `"0x08b683284b4344302193cb36c05f043d4225e2d88d9e0f6ffde12547098cab98"`, ); }); - it('computeInitializationHash empty', async () => { const result = await computeInitializationHash(undefined, []); expect(result).toEqual(Fr.ZERO); }); - it('computeContractAddressFromInstance', async () => { const secretKey = new Fr(2n); const salt = new Fr(3n); const contractClassId = new Fr(4n); const initializationHash = new Fr(5n); + const immutablesHash = new Fr(6n); const deployer = AztecAddress.fromField(new Fr(7)); const publicKeys = (await deriveKeys(secretKey)).publicKeys; const instance = { @@ -73,14 +71,14 @@ describe('ContractAddress', () => { currentContractClassId: contractClassId, initializationHash, deployer, - version: 1 as const, + immutablesHash, + version: 2 as const, }; - const [ms, address] = await elapsed(computeContractAddressFromInstance(instance)); const logger = createLogger('stdlib:contract_address:test'); logger.info(`Computed contract address from instance in ${ms}ms`); expect(address.toString()).toMatchInlineSnapshot( - `"0x260f462e7ae7b7031cdb5e41a691a265d7debe6863d8a12887b97f5f8e5d7727"`, + `"0x2527876b96f9da428aaec968da7a89018db43c78dcdb2e7246060dc37e49e0ac"`, ); }); }); diff --git a/yarn-project/stdlib/src/contract/contract_address.ts b/yarn-project/stdlib/src/contract/contract_address.ts index 6376a263a9d4..a5c36107b344 100644 --- a/yarn-project/stdlib/src/contract/contract_address.ts +++ b/yarn-project/stdlib/src/contract/contract_address.ts @@ -13,9 +13,9 @@ import type { ContractInstance } from './interfaces/contract_instance.js'; /** * Returns the deployment address for a given contract instance. * ``` - * salted_initialization_hash = poseidon2(DOM_SEP__SALTED_INITIALIZATION_HASH, [salt, initialization_hash, deployer]) + * salted_initialization_hash = poseidon2(DOM_SEP__SALTED_INITIALIZATION_HASH, [salt, initialization_hash, deployer, immutables_hash]) * partial_address = poseidon2(DOM_SEP__PARTIAL_ADDRESS, [contract_class_id, salted_initialization_hash]) - * address = ((poseidon2(DOM_SEP__CONTRACT_ADDRESS_V1, [public_keys_hash, partial_address]) * G) + ivpk_m).x <- the x-coordinate of the address point + * address = ((poseidon2(DOM_SEP__CONTRACT_ADDRESS_V2, [public_keys_hash, partial_address]) * G) + ivpk_m).x <- the x-coordinate of the address point * ``` * @param instance - A contract instance for which to calculate the deployment address. */ @@ -34,7 +34,7 @@ export async function computeContractAddressFromInstance( */ export async function computePartialAddress( instance: - | Pick + | Pick | { originalContractClassId: Fr; saltedInitializationHash: Fr }, ): Promise { const saltedInitializationHash = @@ -53,10 +53,10 @@ export async function computePartialAddress( * @param instance - Contract instance for which to compute the salted initialization hash. */ export function computeSaltedInitializationHash( - instance: Pick, + instance: Pick, ): Promise { return poseidon2HashWithSeparator( - [instance.salt, instance.initializationHash, instance.deployer], + [instance.salt, instance.initializationHash, instance.deployer, instance.immutablesHash], DomainSeparator.SALTED_INITIALIZATION_HASH, ); } diff --git a/yarn-project/stdlib/src/contract/contract_instance.ts b/yarn-project/stdlib/src/contract/contract_instance.ts index d3dcb4b79f8c..7be8330eeea5 100644 --- a/yarn-project/stdlib/src/contract/contract_instance.ts +++ b/yarn-project/stdlib/src/contract/contract_instance.ts @@ -20,7 +20,7 @@ import { } from './contract_address.js'; import type { ContractInstance, ContractInstanceWithAddress } from './interfaces/contract_instance.js'; -const VERSION = 1 as const; +const VERSION = 2 as const; export type ContractInstantiationData = { constructorArtifact?: FunctionAbi | string; @@ -29,6 +29,7 @@ export type ContractInstantiationData = { salt: Fr; publicKeys?: PublicKeys; deployer?: AztecAddress; + immutablesHash?: Fr; }; export class SerializableContractInstance { @@ -38,6 +39,7 @@ export class SerializableContractInstance { public readonly currentContractClassId: Fr; public readonly originalContractClassId: Fr; public readonly initializationHash: Fr; + public readonly immutablesHash: Fr; public readonly publicKeys: PublicKeys; constructor(instance: ContractInstance) { @@ -49,6 +51,7 @@ export class SerializableContractInstance { this.currentContractClassId = instance.currentContractClassId; this.originalContractClassId = instance.originalContractClassId; this.initializationHash = instance.initializationHash; + this.immutablesHash = instance.immutablesHash; this.publicKeys = instance.publicKeys; } @@ -60,6 +63,7 @@ export class SerializableContractInstance { this.currentContractClassId, this.originalContractClassId, this.initializationHash, + this.immutablesHash, this.publicKeys, ); } @@ -78,6 +82,7 @@ export class SerializableContractInstance { currentContractClassId: reader.readObject(Fr), originalContractClassId: reader.readObject(Fr), initializationHash: reader.readObject(Fr), + immutablesHash: reader.readObject(Fr), publicKeys: reader.readObject(PublicKeys), }); } @@ -90,6 +95,7 @@ export class SerializableContractInstance { currentContractClassId: Fr.random(), originalContractClassId: Fr.random(), initializationHash: Fr.random(), + immutablesHash: Fr.random(), publicKeys: await PublicKeys.random(), ...opts, }); @@ -103,6 +109,7 @@ export class SerializableContractInstance { currentContractClassId: Fr.zero(), originalContractClassId: Fr.zero(), initializationHash: Fr.zero(), + immutablesHash: Fr.zero(), publicKeys: PublicKeys.default(), }); } @@ -130,15 +137,17 @@ export async function getContractInstanceFromInstantiationParams( ) : await computeInitializationHash(constructorArtifact, args); const publicKeys = opts.publicKeys ?? PublicKeys.default(); + const immutablesHash = opts.immutablesHash ?? Fr.ZERO; const instance: ContractInstance = { currentContractClassId: contractClass.id, originalContractClassId: contractClass.id, initializationHash, + immutablesHash, publicKeys, salt: opts.salt, deployer, - version: 1, + version: 2, }; return { ...instance, address: await computeContractAddressFromInstance(instance) }; diff --git a/yarn-project/stdlib/src/contract/interfaces/contract_instance.ts b/yarn-project/stdlib/src/contract/interfaces/contract_instance.ts index 6e7f986b1ce1..2d992dbac99c 100644 --- a/yarn-project/stdlib/src/contract/interfaces/contract_instance.ts +++ b/yarn-project/stdlib/src/contract/interfaces/contract_instance.ts @@ -6,7 +6,7 @@ import { AztecAddress } from '../../aztec-address/index.js'; import { PublicKeys } from '../../keys/public_keys.js'; import { schemas, zodFor } from '../../schemas/index.js'; -const VERSION = 1 as const; +const VERSION = 2 as const; /** * A contract instance is a concrete deployment of a contract class. It always references a contract class, @@ -26,6 +26,8 @@ export interface ContractInstance { originalContractClassId: Fr; /** Hash of the selector and arguments to the constructor. */ initializationHash: Fr; + /** Hash of Immutables Values the contract is deployed with. */ + immutablesHash: Fr; /** Public keys associated with this instance. */ publicKeys: PublicKeys; } @@ -40,6 +42,7 @@ export const ContractInstanceSchema = zodFor()( currentContractClassId: schemas.Fr, originalContractClassId: schemas.Fr, initializationHash: schemas.Fr, + immutablesHash: schemas.Fr, publicKeys: PublicKeys.schema, }), ); @@ -54,12 +57,13 @@ export const ContractInstanceWithAddressSchema = zodFor { originalContractClassId: expect.any(Fr), deployer: expect.any(AztecAddress), initializationHash: expect.any(Fr), + immutablesHash: expect.any(Fr), publicKeys: expect.any(PublicKeys), salt: expect.any(Fr), - version: 1, + version: 2, }); }); @@ -578,9 +579,10 @@ class MockArchiver implements ArchiverApi { originalContractClassId: Fr.random(), deployer: await AztecAddress.random(), initializationHash: Fr.random(), + immutablesHash: Fr.random(), publicKeys: await PublicKeys.random(), salt: Fr.random(), - version: 1, + version: 2, }; } getContractClassIds(): Promise { diff --git a/yarn-project/stdlib/src/interfaces/aztec-node.test.ts b/yarn-project/stdlib/src/interfaces/aztec-node.test.ts index f7ba90236a4b..8fce4a4ba95a 100644 --- a/yarn-project/stdlib/src/interfaces/aztec-node.test.ts +++ b/yarn-project/stdlib/src/interfaces/aztec-node.test.ts @@ -492,9 +492,10 @@ describe('AztecNodeApiSchema', () => { originalContractClassId: expect.any(Fr), deployer: expect.any(AztecAddress), initializationHash: expect.any(Fr), + immutablesHash: expect.any(Fr), publicKeys: expect.any(PublicKeys), salt: expect.any(Fr), - version: 1, + version: 2, }); }); @@ -845,11 +846,12 @@ class MockAztecNode implements AztecNode { async getContract(address: AztecAddress): Promise { expect(address).toBeInstanceOf(AztecAddress); const instance = { - version: 1 as const, + version: 2 as const, currentContractClassId: Fr.random(), originalContractClassId: Fr.random(), deployer: await AztecAddress.random(), initializationHash: Fr.random(), + immutablesHash: Fr.random(), publicKeys: await PublicKeys.random(), salt: Fr.random(), address: await AztecAddress.random(), diff --git a/yarn-project/stdlib/src/kernel/hints/key_validation_request.ts b/yarn-project/stdlib/src/kernel/hints/key_validation_request.ts index 6c67b3643ccc..2ec8793aa94c 100644 --- a/yarn-project/stdlib/src/kernel/hints/key_validation_request.ts +++ b/yarn-project/stdlib/src/kernel/hints/key_validation_request.ts @@ -1,29 +1,31 @@ import { KEY_VALIDATION_REQUEST_LENGTH } from '@aztec/constants'; import { Fr } from '@aztec/foundation/curves/bn254'; -import { GrumpkinScalar, Point } from '@aztec/foundation/curves/grumpkin'; +import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin'; import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize'; /** * Request for validating keys used in the app. + * + * The master public key is exposed only as `pkMHash` (its `hashPublicKey` digest). + * The kernel reset circuit derives the corresponding point from the master secret key hint and + * asserts that its hash matches `pkMHash`. */ export class KeyValidationRequest { - /** App-siloed secret key corresponding to the same underlying secret as master public key above. */ + /** App-siloed secret key corresponding to the same underlying secret as `pkMHash`. */ public readonly skApp: Fr; constructor( - /** Master public key corresponding to the same underlying secret as app secret key below. */ - public readonly pkM: Point, + /** Hash of the master public key corresponding to the same underlying secret as `skApp`. */ + public readonly pkMHash: Fr, skApp: Fr | GrumpkinScalar, ) { - // I am doing this conversion here because in some places skApp is represented as GrumpkinScalar (Fq). - // I can do this conversion even though Fq.MODULUS is larger than Fr.MODULUS because when we pass in - // the skApp as GrumpkinScalar it was converted to that form from Fr. So, it is safe to convert it back - // to Fr. If this would change in the future the code below will throw an error so it should be easy to debug. + // skApp may arrive as a GrumpkinScalar (Fq) in some code paths; safe to truncate to Fr because + // the value originally came from an Fr poseidon hash and was widened to GrumpkinScalar. this.skApp = skApp instanceof Fr ? skApp : new Fr(skApp.toBigInt()); } toBuffer() { - return serializeToBuffer(this.pkM, this.skApp); + return serializeToBuffer(this.pkMHash, this.skApp); } get skAppAsGrumpkinScalar() { @@ -32,11 +34,11 @@ export class KeyValidationRequest { static fromBuffer(buffer: Buffer | BufferReader) { const reader = BufferReader.asReader(buffer); - return new KeyValidationRequest(Point.fromBuffer(reader), Fr.fromBuffer(reader)); + return new KeyValidationRequest(Fr.fromBuffer(reader), Fr.fromBuffer(reader)); } toFields(): Fr[] { - const fields = [this.pkM.toFields(), this.skApp].flat(); + const fields = [this.pkMHash, this.skApp]; if (fields.length !== KEY_VALIDATION_REQUEST_LENGTH) { throw new Error( `Invalid number of fields for KeyValidationRequest. Expected ${KEY_VALIDATION_REQUEST_LENGTH}, got ${fields.length}`, @@ -47,18 +49,18 @@ export class KeyValidationRequest { static fromFields(fields: Fr[] | FieldReader): KeyValidationRequest { const reader = FieldReader.asReader(fields); - return new KeyValidationRequest(Point.fromFields(reader), reader.readField()); + return new KeyValidationRequest(reader.readField(), reader.readField()); } isEmpty() { - return this.pkM.isZero() && this.skApp.isZero(); + return this.pkMHash.isZero() && this.skApp.isZero(); } static empty() { - return new KeyValidationRequest(Point.ZERO, Fr.ZERO); + return new KeyValidationRequest(Fr.ZERO, Fr.ZERO); } - static async random() { - return new KeyValidationRequest(await Point.random(), Fr.random()); + static random() { + return new KeyValidationRequest(Fr.random(), Fr.random()); } } diff --git a/yarn-project/stdlib/src/keys/derivation.test.ts b/yarn-project/stdlib/src/keys/derivation.test.ts index d4ebf8e91d14..bf0b5a1a4856 100644 --- a/yarn-project/stdlib/src/keys/derivation.test.ts +++ b/yarn-project/stdlib/src/keys/derivation.test.ts @@ -3,23 +3,19 @@ import { Point } from '@aztec/foundation/curves/grumpkin'; import { updateInlineTestData } from '@aztec/foundation/testing/files'; import { computeAddress, computePreaddress } from './derivation.js'; +import { hashPublicKey } from './public_key.js'; import { PublicKeys } from './public_keys.js'; describe('🔑', () => { it('computing public keys hash matches Noir', async () => { - const masterNullifierPublicKey = new Point(new Fr(1), new Fr(2), false); - const masterIncomingViewingPublicKey = new Point(new Fr(3), new Fr(4), false); - const masterOutgoingViewingPublicKey = new Point(new Fr(5), new Fr(6), false); - const masterTaggingPublicKey = new Point(new Fr(7), new Fr(8), false); - const publicKeysHash = await new PublicKeys( - masterNullifierPublicKey, - masterIncomingViewingPublicKey, - masterOutgoingViewingPublicKey, - masterTaggingPublicKey, + new Fr(11n), + new Point(new Fr(3n), new Fr(4n), false), + new Fr(22n), + new Fr(33n), ).hash(); expect(publicKeysHash.toString()).toMatchInlineSnapshot( - `"0x056998309f6c119e4d753e404f94fef859dddfa530a9379634ceb0854b29bf7a"`, + `"0x0b8c7b67576d3ac859a7fab578b2b2e305c67eba9e133b0fa46af8d19a50b8fc"`, ); // Run with AZTEC_GENERATE_TEST_DATA=1 to update noir test data @@ -29,13 +25,12 @@ describe('🔑', () => { publicKeysHash.toString(), ); }); - it('Pre address from partial matches Noir', async () => { const publicKeysHash = new Fr(1n); const partialAddress = new Fr(2n); const address = await computePreaddress(publicKeysHash, partialAddress); expect(address.toString()).toMatchInlineSnapshot( - `"0x286c7755f2924b1e53b00bcaf1adaffe7287bd74bba7a02f4ab867e3892d28da"`, + `"0x0fa1c698858df1a99170cd39d5f4bfad6d0d60f1f8afa3dc92281ee60b36f3bb"`, ); // Run with AZTEC_GENERATE_TEST_DATA=1 to update noir test data @@ -45,7 +40,6 @@ describe('🔑', () => { address.toString(), ); }); - it('Address matches Noir', async () => { const npkM = Point.fromString( '0x22f7fcddfa3ce3e8f0cc8e82d7b94cdd740afa3e77f8e4a63ea78a239432dcab0471657de2b6216ade6c506d28fbc22ba8b8ed95c871ad9f3e3984e90d9723a7', @@ -59,12 +53,15 @@ describe('🔑', () => { const tpkM = Point.fromString( '0x00d3d81beb009873eb7116327cf47c612d5758ef083d4fda78e9b63980b2a7622f567d22d2b02fe1f4ad42db9d58a36afd1983e7e2909d1cab61cafedad6193a', ); - - const publicKeys = new PublicKeys(npkM, ivpkM, ovpkM, tpkM); + const publicKeys = new PublicKeys( + await hashPublicKey(npkM), + ivpkM, + await hashPublicKey(ovpkM), + await hashPublicKey(tpkM), + ); const partialAddress = Fr.fromHexString('0x0a7c585381b10f4666044266a02405bf6e01fa564c8517d4ad5823493abd31de'); - const address = (await computeAddress(publicKeys, partialAddress)).toString(); - expect(address).toMatchInlineSnapshot(`"0x2f66081d4bb077fbe8e8abe96a3516a713a3d7e34360b4e985da0da95092b37d"`); + expect(address).toMatchInlineSnapshot(`"0x05f9c48c02e4dbd18d7e165f999c3b8426abb1911476f48e68deef42475d6145"`); // Run with AZTEC_GENERATE_TEST_DATA=1 to update noir test data updateInlineTestData( diff --git a/yarn-project/stdlib/src/keys/derivation.ts b/yarn-project/stdlib/src/keys/derivation.ts index 0ed89aaeb438..adacab96d3f7 100644 --- a/yarn-project/stdlib/src/keys/derivation.ts +++ b/yarn-project/stdlib/src/keys/derivation.ts @@ -7,6 +7,7 @@ import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin'; import { AztecAddress } from '../aztec-address/index.js'; import type { KeyPrefix } from './key_types.js'; +import { hashPublicKey } from './public_key.js'; import { PublicKeys } from './public_keys.js'; import { getKeyGenerator } from './utils.js'; @@ -44,18 +45,18 @@ export function deriveSigningKey(secretKey: Fr): GrumpkinScalar { } export function computePreaddress(publicKeysHash: Fr, partialAddress: Fr) { - return poseidon2HashWithSeparator([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V1); + return poseidon2HashWithSeparator([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V2); } export async function computeAddress(publicKeys: PublicKeys, partialAddress: Fr): Promise { // Given public keys and a partial address, we can compute our address in the following steps. - // 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V1); + // 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V2); // 2. addressPoint = (preaddress * G) + ivpk_m // 3. address = addressPoint.x const preaddress = await computePreaddress(await publicKeys.hash(), partialAddress); const address = await Grumpkin.add( await derivePublicKeyFromSecretKey(new Fq(preaddress.toBigInt())), - publicKeys.masterIncomingViewingPublicKey, + publicKeys.ivpkM, ); return new AztecAddress(address.x); @@ -106,12 +107,15 @@ export async function deriveKeys(secretKey: Fr) { const masterOutgoingViewingPublicKey = await derivePublicKeyFromSecretKey(masterOutgoingViewingSecretKey); const masterTaggingPublicKey = await derivePublicKeyFromSecretKey(masterTaggingSecretKey); - // We hash the public keys to get the public keys hash + // The non-owner-visible PublicKeys carries hashes for npk/ovpk/tpk and the raw + // point only for ivpk_m. The npk/ovpk/tpk raw points are also returned alongside so the key + // store can persist them under `${account}-{n|ov|t}pk_m` (only their hashes live in publicKeys). + // The ivpk_m point isn't returned separately because it already lives in publicKeys.ivpkM. const publicKeys = new PublicKeys( - masterNullifierPublicKey, + await hashPublicKey(masterNullifierPublicKey), masterIncomingViewingPublicKey, - masterOutgoingViewingPublicKey, - masterTaggingPublicKey, + await hashPublicKey(masterOutgoingViewingPublicKey), + await hashPublicKey(masterTaggingPublicKey), ); return { @@ -119,6 +123,9 @@ export async function deriveKeys(secretKey: Fr) { masterIncomingViewingSecretKey, masterOutgoingViewingSecretKey, masterTaggingSecretKey, + masterNullifierPublicKey, + masterOutgoingViewingPublicKey, + masterTaggingPublicKey, publicKeys, }; } diff --git a/yarn-project/stdlib/src/keys/public_key.ts b/yarn-project/stdlib/src/keys/public_key.ts index aa5f388ef9a3..9231e2c3d982 100644 --- a/yarn-project/stdlib/src/keys/public_key.ts +++ b/yarn-project/stdlib/src/keys/public_key.ts @@ -1,4 +1,16 @@ +import { DomainSeparator } from '@aztec/constants'; +import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; +import { Fr } from '@aztec/foundation/curves/bn254'; import type { Point } from '@aztec/foundation/curves/grumpkin'; /** Represents a user public key. */ export type PublicKey = Point; + +/** + * Hashes a public key under the canonical single-public-key domain separator. + * + * `Poseidon2(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, [pk.x, pk.y])`. + */ +export function hashPublicKey(pk: PublicKey): Promise { + return poseidon2HashWithSeparator([pk.x, pk.y], DomainSeparator.SINGLE_PUBLIC_KEY_HASH); +} diff --git a/yarn-project/stdlib/src/keys/public_keys.test.ts b/yarn-project/stdlib/src/keys/public_keys.test.ts index feba8ed89f1a..d9a097783cab 100644 --- a/yarn-project/stdlib/src/keys/public_keys.test.ts +++ b/yarn-project/stdlib/src/keys/public_keys.test.ts @@ -19,16 +19,11 @@ describe('PublicKeys', () => { }); it('computes public keys hash', async () => { - const keys = new PublicKeys( - new Point(new Fr(1n), new Fr(2n), false), - new Point(new Fr(3n), new Fr(4n), false), - new Point(new Fr(5n), new Fr(6n), false), - new Point(new Fr(7n), new Fr(8n), false), - ); + const keys = new PublicKeys(new Fr(11n), new Point(new Fr(3n), new Fr(4n), false), new Fr(22n), new Fr(33n)); const hash = await keys.hash(); expect(hash.toString()).toMatchInlineSnapshot( - `"0x056998309f6c119e4d753e404f94fef859dddfa530a9379634ceb0854b29bf7a"`, + `"0x0b8c7b67576d3ac859a7fab578b2b2e305c67eba9e133b0fa46af8d19a50b8fc"`, ); // Run with AZTEC_GENERATE_TEST_DATA=1 to update noir test data @@ -44,7 +39,7 @@ describe('PublicKeys', () => { const hash = await keys.hash(); expect(hash.toString()).toMatchInlineSnapshot( - `"0x023547e676dba19784188825b901a0e70d8ad978300d21d6185a54281b734da0"`, + `"0x147a900f3e1abdfcc56355d65ab9bebb1016400cb9d81ee1c977d0df16bb198c"`, ); // Run with AZTEC_GENERATE_TEST_DATA=1 to update noir test data diff --git a/yarn-project/stdlib/src/keys/public_keys.ts b/yarn-project/stdlib/src/keys/public_keys.ts index 130fcf07c06d..d6a7c835ba2e 100644 --- a/yarn-project/stdlib/src/keys/public_keys.ts +++ b/yarn-project/stdlib/src/keys/public_keys.ts @@ -1,12 +1,9 @@ import { DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, - DEFAULT_NPK_M_X, - DEFAULT_NPK_M_Y, - DEFAULT_OVPK_M_X, - DEFAULT_OVPK_M_Y, - DEFAULT_TPK_M_X, - DEFAULT_TPK_M_Y, + DEFAULT_NPK_M_HASH, + DEFAULT_OVPK_M_HASH, + DEFAULT_TPK_M_HASH, DomainSeparator, } from '@aztec/constants'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; @@ -19,189 +16,175 @@ import type { FieldsOf } from '@aztec/foundation/types'; import { z } from 'zod'; -import type { PublicKey } from './public_key.js'; +import { type PublicKey, hashPublicKey } from './public_key.js'; +/** + * A non-owner's view of an account's master public keys. + * + * Only `ivpkM` is exposed as a point (since address derivation needs the curve + * point in-circuit); the other three keys are exposed as their `hashPublicKey` digests. + */ export class PublicKeys { public constructor( - /** Master nullifier public key */ - public masterNullifierPublicKey: PublicKey, + /** Hash of the master nullifier public key */ + public npkMHash: Fr, /** Master incoming viewing public key */ - public masterIncomingViewingPublicKey: PublicKey, - /** Master outgoing viewing public key */ - public masterOutgoingViewingPublicKey: PublicKey, - /** Master tagging viewing public key */ - public masterTaggingPublicKey: PublicKey, + public ivpkM: PublicKey, + /** Hash of the master outgoing viewing public key */ + public ovpkMHash: Fr, + /** Hash of the master tagging public key */ + public tpkMHash: Fr, ) {} static get schema() { return z .object({ - masterNullifierPublicKey: schemas.Point, - masterIncomingViewingPublicKey: schemas.Point, - masterOutgoingViewingPublicKey: schemas.Point, - masterTaggingPublicKey: schemas.Point, + npkMHash: schemas.Fr, + ivpkM: schemas.Point, + ovpkMHash: schemas.Fr, + tpkMHash: schemas.Fr, }) .transform(PublicKeys.from); } static from(fields: FieldsOf) { - return new PublicKeys( - fields.masterNullifierPublicKey, - fields.masterIncomingViewingPublicKey, - fields.masterOutgoingViewingPublicKey, - fields.masterTaggingPublicKey, - ); + return new PublicKeys(fields.npkMHash, fields.ivpkM, fields.ovpkMHash, fields.tpkMHash); } /** * Creates a PublicKeys from a plain object without Zod validation. - * This method is optimized for performance and skips validation, making it suitable - * for deserializing trusted data (e.g., from C++ via MessagePack). - * @param obj - Plain object containing PublicKeys fields - * @returns A PublicKeys instance + * Suitable for deserializing trusted data (e.g., from C++ via MessagePack). */ static fromPlainObject(obj: any): PublicKeys { if (obj instanceof PublicKeys) { return obj; } return new PublicKeys( - Point.fromPlainObject(obj.masterNullifierPublicKey), - Point.fromPlainObject(obj.masterIncomingViewingPublicKey), - Point.fromPlainObject(obj.masterOutgoingViewingPublicKey), - Point.fromPlainObject(obj.masterTaggingPublicKey), + Fr.fromPlainObject(obj.npkMHash), + Point.fromPlainObject(obj.ivpkM), + Fr.fromPlainObject(obj.ovpkMHash), + Fr.fromPlainObject(obj.tpkMHash), ); } - hash() { - return this.isEmpty() - ? Fr.ZERO - : poseidon2HashWithSeparator( - [ - this.masterNullifierPublicKey, - this.masterIncomingViewingPublicKey, - this.masterOutgoingViewingPublicKey, - this.masterTaggingPublicKey, - ], - DomainSeparator.PUBLIC_KEYS_HASH, - ); + async hash() { + if (this.isEmpty()) { + return Fr.ZERO; + } + // Mirror Noir's `PublicKeys::hash`: hash the four single-key digests under + // DOM_SEP__PUBLIC_KEYS_HASH. `ivpk_m` must be reduced to its single-key digest first + // (Poseidon2 over [x, y]); passing the Point directly would inadvertently include + // `is_infinite` and produce a different value. + const ivpkMHash = await hashPublicKey(this.ivpkM); + return poseidon2HashWithSeparator( + [this.npkMHash, ivpkMHash, this.ovpkMHash, this.tpkMHash], + DomainSeparator.PUBLIC_KEYS_HASH, + ); } isEmpty() { - return ( - this.masterNullifierPublicKey.isZero() && - this.masterIncomingViewingPublicKey.isZero() && - this.masterOutgoingViewingPublicKey.isZero() && - this.masterTaggingPublicKey.isZero() - ); + return this.npkMHash.isZero() && this.ivpkM.isZero() && this.ovpkMHash.isZero() && this.tpkMHash.isZero(); } static default(): PublicKeys { + // Precomputed `hash_public_key(Point { DEFAULT_*_X, DEFAULT_*_Y, false })` for npk/ovpk/tpk. + // Sourced from constants.gen.ts (originally defined in + // noir-protocol-circuits/crates/types/src/constants.nr); a self-test in public_keys.nr + // (`default_hashes_match_default_points`) catches drift between the *_HASH constants and + // the underlying X/Y points. return new PublicKeys( - new Point(new Fr(DEFAULT_NPK_M_X), new Fr(DEFAULT_NPK_M_Y), false), + new Fr(DEFAULT_NPK_M_HASH), new Point(new Fr(DEFAULT_IVPK_M_X), new Fr(DEFAULT_IVPK_M_Y), false), - new Point(new Fr(DEFAULT_OVPK_M_X), new Fr(DEFAULT_OVPK_M_Y), false), - new Point(new Fr(DEFAULT_TPK_M_X), new Fr(DEFAULT_TPK_M_Y), false), + new Fr(DEFAULT_OVPK_M_HASH), + new Fr(DEFAULT_TPK_M_HASH), ); } static async random(): Promise { - return new PublicKeys(await Point.random(), await Point.random(), await Point.random(), await Point.random()); + const npkM = await Point.random(); + const ovpkM = await Point.random(); + const tpkM = await Point.random(); + return new PublicKeys( + await hashPublicKey(npkM), + await Point.random(), + await hashPublicKey(ovpkM), + await hashPublicKey(tpkM), + ); } - /** - * Determines if this PublicKeys instance is equal to the given PublicKeys instance. - * Equality is based on the content of their respective buffers. - * - * @param other - The PublicKeys instance to compare against. - * @returns True if the buffers of both instances are equal, false otherwise. - */ equals(other: PublicKeys): boolean { return ( - this.masterNullifierPublicKey.equals(other.masterNullifierPublicKey) && - this.masterIncomingViewingPublicKey.equals(other.masterIncomingViewingPublicKey) && - this.masterOutgoingViewingPublicKey.equals(other.masterOutgoingViewingPublicKey) && - this.masterTaggingPublicKey.equals(other.masterTaggingPublicKey) + this.npkMHash.equals(other.npkMHash) && + this.ivpkM.equals(other.ivpkM) && + this.ovpkMHash.equals(other.ovpkMHash) && + this.tpkMHash.equals(other.tpkMHash) ); } - /** - * Converts the PublicKeys instance into a Buffer. - * This method should be used when encoding the address for storage, transmission or serialization purposes. - * - * @returns A Buffer representation of the PublicKeys instance. - */ toBuffer(): Buffer { - return serializeToBuffer([ - this.masterNullifierPublicKey, - this.masterIncomingViewingPublicKey, - this.masterOutgoingViewingPublicKey, - this.masterTaggingPublicKey, - ]); + return serializeToBuffer([this.npkMHash, this.ivpkM, this.ovpkMHash, this.tpkMHash]); } - /** - * Creates an PublicKeys instance from a given buffer or BufferReader. - * If the input is a Buffer, it wraps it in a BufferReader before processing. - * Throws an error if the input length is not equal to the expected size. - * - * @param buffer - The input buffer or BufferReader containing the address data. - * @returns - A new PublicKeys instance with the extracted address data. - */ static fromBuffer(buffer: Buffer | BufferReader): PublicKeys { const reader = BufferReader.asReader(buffer); - const masterNullifierPublicKey = reader.readObject(Point); - const masterIncomingViewingPublicKey = reader.readObject(Point); - const masterOutgoingViewingPublicKey = reader.readObject(Point); - const masterTaggingPublicKey = reader.readObject(Point); - return new PublicKeys( - masterNullifierPublicKey, - masterIncomingViewingPublicKey, - masterOutgoingViewingPublicKey, - masterTaggingPublicKey, - ); + const npkMHash = Fr.fromBuffer(reader); + const ivpkM = reader.readObject(Point); + const ovpkMHash = Fr.fromBuffer(reader); + const tpkMHash = Fr.fromBuffer(reader); + return new PublicKeys(npkMHash, ivpkM, ovpkMHash, tpkMHash); } toNoirStruct() { - // We need to use lowercase identifiers as those are what the noir interface expects - + // We need to use lowercase identifiers as those are what the noir interface expects. + /* eslint-disable camelcase */ return { - // TODO(#6337): Directly dump account.publicKeys here - /* eslint-disable camelcase */ - npk_m: this.masterNullifierPublicKey.toWrappedNoirStruct(), - ivpk_m: this.masterIncomingViewingPublicKey.toWrappedNoirStruct(), - ovpk_m: this.masterOutgoingViewingPublicKey.toWrappedNoirStruct(), - tpk_m: this.masterTaggingPublicKey.toWrappedNoirStruct(), - /* eslint-enable camelcase */ + npk_m_hash: this.npkMHash, + ivpk_m: this.ivpkM.toWrappedNoirStruct(), + ovpk_m_hash: this.ovpkMHash, + tpk_m_hash: this.tpkMHash, }; + /* eslint-enable camelcase */ } /** - * Serializes the payload to an array of fields - * @returns The fields of the payload + * Wire-format fields matching Noir's struct flattening of `PublicKeys`: + * `[npk_m_hash, ivpk_m.x, ivpk_m.y, ivpk_m.is_infinite, ovpk_m_hash, tpk_m_hash]` (6 fields). + * + * The `is_infinite` slot is `0` for `ivpkM` produced by `deriveKeys` (fixed-base scalar + * multiplication on Grumpkin cannot reach infinity for a non-zero scalar, and Poseidon-derived + * scalars are non-zero with cryptographically negligible exception). External flows that + * import pre-derived keys are responsible for maintaining this invariant (see the AZIP-8 + * migration note "Security note (PXE side)"). The slot stays on the wire because the Noir + * struct's `Point` still carries the flag. AZIP-8's "drop `is_infinite`" goal applies to the + * address-derivation hash (via `hash_public_key`, computed elsewhere), not to the + * contract-call args wire. + * TODO(F-553): drop the `is_infinite` slot once `Point` no longer carries the flag. */ toFields(): Fr[] { return [ - ...this.masterNullifierPublicKey.toFields(), - ...this.masterIncomingViewingPublicKey.toFields(), - ...this.masterOutgoingViewingPublicKey.toFields(), - ...this.masterTaggingPublicKey.toFields(), + this.npkMHash, + this.ivpkM.x, + this.ivpkM.y, + new Fr(this.ivpkM.isInfinite ? 1 : 0), + this.ovpkMHash, + this.tpkMHash, ]; } - // TOOD: This is used in foundation/src/abi/encoder. This is probably non-optimal but I did not want - // to spend too much time on the encoder now. It probably needs a refactor. + // Used in foundation/src/abi/encoder. Probably non-optimal but the encoder needs a refactor. encodeToNoir(): Fr[] { return this.toFields(); } static fromFields(fields: Fr[] | FieldReader): PublicKeys { const reader = FieldReader.asReader(fields); - return new PublicKeys( - reader.readObject(Point), - reader.readObject(Point), - reader.readObject(Point), - reader.readObject(Point), - ); + const npkMHash = reader.readField(); + const ivpkMX = reader.readField(); + const ivpkMY = reader.readField(); + const ivpkMIsInfinite = reader.readBoolean(); + const ovpkMHash = reader.readField(); + const tpkMHash = reader.readField(); + return new PublicKeys(npkMHash, new Point(ivpkMX, ivpkMY, ivpkMIsInfinite), ovpkMHash, tpkMHash); } toString() { diff --git a/yarn-project/stdlib/src/tests/factories.ts b/yarn-project/stdlib/src/tests/factories.ts index e4a987249fca..c05e258cee53 100644 --- a/yarn-project/stdlib/src/tests/factories.ts +++ b/yarn-project/stdlib/src/tests/factories.ts @@ -123,7 +123,7 @@ import { PublicCallRequest, PublicCallRequestArrayLengths, } from '../kernel/public_call_request.js'; -import { PublicKeys, computeAddress } from '../keys/index.js'; +import { PublicKeys, computeAddress, hashPublicKey } from '../keys/index.js'; import { ExtendedDirectionalAppTaggingSecret } from '../logs/extended_directional_app_tagging_secret.js'; import { ContractClassLog, ContractClassLogFields } from '../logs/index.js'; import { PrivateLog } from '../logs/private_log.js'; @@ -252,7 +252,7 @@ function makeScopedReadRequest(n: number): ScopedReadRequest { * @returns A KeyValidationRequest. */ function makeKeyValidationRequests(seed: number): KeyValidationRequest { - return new KeyValidationRequest(makePoint(seed), fr(seed + 2)); + return new KeyValidationRequest(fr(seed), fr(seed + 2)); } /** @@ -1220,8 +1220,13 @@ export async function makeMapAsync(size: number, fn: (i: number) => Promise<[ export async function makePublicKeys(seed = 0): Promise { const f = (offset: number) => Grumpkin.mul(Grumpkin.generator, new Fq(seed + offset)); - - return new PublicKeys(await f(0), await f(1), await f(2), await f(3)); + const ivpkM = await f(1); + return new PublicKeys( + await hashPublicKey(await f(0)), + ivpkM, + await hashPublicKey(await f(2)), + await hashPublicKey(await f(3)), + ); } export async function makeContractInstanceFromClassId( @@ -1230,6 +1235,7 @@ export async function makeContractInstanceFromClassId( overrides?: { deployer?: AztecAddress; initializationHash?: Fr; + immutablesHash?: Fr; publicKeys?: PublicKeys; currentClassId?: Fr; }, @@ -1238,21 +1244,24 @@ export async function makeContractInstanceFromClassId( const initializationHash = overrides?.initializationHash ?? new Fr(seed + 1); const deployer = overrides?.deployer ?? new AztecAddress(new Fr(seed + 2)); const publicKeys = overrides?.publicKeys ?? (await makePublicKeys(seed + 3)); + const immutablesHash = overrides?.immutablesHash ?? new Fr(seed + 4); const partialAddress = await computePartialAddress({ originalContractClassId: classId, salt, initializationHash, + immutablesHash, deployer, }); const address = await computeAddress(publicKeys, partialAddress); return new SerializableContractInstance({ - version: 1, + version: 2, salt, deployer, currentContractClassId: overrides?.currentClassId ?? classId, originalContractClassId: classId, initializationHash, + immutablesHash, publicKeys, }).withAddress(address); } @@ -1430,11 +1439,12 @@ export function makeAvmContractInstanceHint(seed = 0): AvmContractInstanceHint { new Fr(seed + 0x4), new Fr(seed + 0x5), new Fr(seed + 0x6), + new Fr(seed + 0x7), new PublicKeys( - new Point(new Fr(seed + 0x7), new Fr(seed + 0x8), false), + new Fr(seed + 0x7), new Point(new Fr(seed + 0x9), new Fr(seed + 0x10), false), - new Point(new Fr(seed + 0x11), new Fr(seed + 0x12), false), - new Point(new Fr(seed + 0x13), new Fr(seed + 0x14), false), + new Fr(seed + 0x11), + new Fr(seed + 0x13), ), ); } diff --git a/yarn-project/txe/src/index.ts b/yarn-project/txe/src/index.ts index 225e77f85a86..d745b11df297 100644 --- a/yarn-project/txe/src/index.ts +++ b/yarn-project/txe/src/index.ts @@ -200,10 +200,7 @@ class TXEDispatcher { if (!TXEArtifactsCacheInFlight.has(cacheKey)) { const compute = async () => { const keys = await deriveKeys(secret); - const args = [ - keys.publicKeys.masterIncomingViewingPublicKey.x, - keys.publicKeys.masterIncomingViewingPublicKey.y, - ]; + const args = [keys.publicKeys.ivpkM.x, keys.publicKeys.ivpkM.y]; const computedArtifact: ContractArtifactWithHash = { ...SchnorrAccountContractArtifact, // Artifact hash is *very* expensive to compute, so we do it here once diff --git a/yarn-project/txe/src/oracle/txe_oracle_top_level_context.ts b/yarn-project/txe/src/oracle/txe_oracle_top_level_context.ts index 24c1ce0d3239..13c9ca6b7e0e 100644 --- a/yarn-project/txe/src/oracle/txe_oracle_top_level_context.ts +++ b/yarn-project/txe/src/oracle/txe_oracle_top_level_context.ts @@ -59,6 +59,7 @@ import { PrivateToPublicAccumulatedData, PublicCallRequest, } from '@aztec/stdlib/kernel'; +import { hashPublicKey } from '@aztec/stdlib/keys'; import { ChonkProof } from '@aztec/stdlib/proofs'; import { makeGlobalVariables } from '@aztec/stdlib/testing'; import { MerkleTreeId } from '@aztec/stdlib/trees'; @@ -273,7 +274,8 @@ export class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecutionOracl async addAuthWitness(address: AztecAddress, messageHash: Fr) { const account = await this.accountStore.getAccount(address); - const privateKey = await this.keyStore.getMasterSecretKey(account.publicKeys.masterIncomingViewingPublicKey); + const ivpkMHash = await hashPublicKey(account.publicKeys.ivpkM); + const privateKey = await this.keyStore.getMasterSecretKey(ivpkMHash); const schnorr = new Schnorr(); const signature = await schnorr.constructSignature(messageHash, privateKey); diff --git a/yarn-project/txe/src/rpc_translator.ts b/yarn-project/txe/src/rpc_translator.ts index bb5fa4b8d356..ec34c3059d2d 100644 --- a/yarn-project/txe/src/rpc_translator.ts +++ b/yarn-project/txe/src/rpc_translator.ts @@ -256,6 +256,7 @@ export class RPCTranslator { instance.deployer.toField(), instance.currentContractClassId, instance.initializationHash, + instance.immutablesHash, ...instance.publicKeys.toFields(), ]), ]); @@ -681,6 +682,7 @@ export class RPCTranslator { instance.deployer.toField(), instance.currentContractClassId, instance.initializationHash, + instance.immutablesHash, ...instance.publicKeys.toFields(), ].map(toSingle), ); @@ -696,12 +698,24 @@ export class RPCTranslator { // with two fields: `some` (a boolean) and `value` (a field array in this case). if (result === undefined) { // No data was found so we set `some` to 0 and pad `value` with zeros get the correct return size. - return toForeignCallResult([toSingle(new Fr(0)), toArray(Array(13).fill(new Fr(0)))]); + // Wire shape: [npk_m_hash, ivpk_m.x, ivpk_m.y, ovpk_m_hash, tpk_m_hash, partial_address] = 6 fields. + return toForeignCallResult([toSingle(new Fr(0)), toArray(Array(6).fill(new Fr(0)))]); } else { - // Data was found so we set `some` to 1 and return it along with `value`. + // The Noir side hand-decodes a `[Field; 6]` here (see aztec-nr/aztec/src/oracle/keys.nr), so we + // emit the 5-field PublicKeys shape + partial_address explicitly + // rather than going through `publicKeys.toFields()` (which is the struct-flattened 6-field + // wire for oracle returns that decode via struct shape). + const { publicKeys, partialAddress } = result; return toForeignCallResult([ toSingle(new Fr(1)), - toArray([...result.publicKeys.toFields(), result.partialAddress]), + toArray([ + publicKeys.npkMHash, + publicKeys.ivpkM.x, + publicKeys.ivpkM.y, + publicKeys.ovpkMHash, + publicKeys.tpkMHash, + partialAddress, + ]), ]); } } @@ -1155,6 +1169,19 @@ export class RPCTranslator { ]); } + // eslint-disable-next-line camelcase + async aztec_avm_getContractInstanceImmutablesHash(foreignAddress: ForeignCallSingle) { + const address = addressFromSingle(foreignAddress); + + const instance = await this.handlerAsUtility().getContractInstance(address); + + return toForeignCallResult([ + toSingle(instance.immutablesHash), + // AVM requires an extra boolean indicating the instance was found + toSingle(new Fr(1)), + ]); + } + // eslint-disable-next-line camelcase async aztec_avm_sender() { const sender = await this.handlerAsAvm().sender();