diff --git a/barretenberg/acir_tests/browser-test-app/src/index.ts b/barretenberg/acir_tests/browser-test-app/src/index.ts index 4fa385813707..7dca690f32de 100644 --- a/barretenberg/acir_tests/browser-test-app/src/index.ts +++ b/barretenberg/acir_tests/browser-test-app/src/index.ts @@ -87,7 +87,10 @@ function installClientIvcGlobal() { threads, logger: console.log, }); - const [proof, verificationKey] = await backend.prove(witnessBufs, vkBufs); + const [_, proof, verificationKey] = await backend.prove( + witnessBufs, + vkBufs + ); await backend.destroy(); return { proof, verificationKey }; } diff --git a/barretenberg/cpp/scripts/ci_benchmark_ivc_flows.sh b/barretenberg/cpp/scripts/ci_benchmark_ivc_flows.sh index 55ea9b7895f5..bd3bcaa1cbcd 100755 --- a/barretenberg/cpp/scripts/ci_benchmark_ivc_flows.sh +++ b/barretenberg/cpp/scripts/ci_benchmark_ivc_flows.sh @@ -25,10 +25,10 @@ function verify_ivc_flow { # TODO(AD): Checking which one would be good, but there isn't too much that can go wrong here. set +e echo_stderr "Private verify." - "./$native_build_dir/bin/bb" verify --scheme client_ivc -p "$proof" -k ../../yarn-project/bb-prover/artifacts/private-civc-vk 1>&2 + "./$native_build_dir/bin/bb" verify --scheme client_ivc -p "$proof" -k ../../noir-projects/noir-protocol-circuits/target/keys/hiding_kernel_to_rollup.ivc.vk 1>&2 local private_result=$? echo_stderr "Private verify: $private_result." - "./$native_build_dir/bin/bb" verify --scheme client_ivc -p "$proof" -k ../../yarn-project/bb-prover/artifacts/public-civc-vk 1>&2 + "./$native_build_dir/bin/bb" verify --scheme client_ivc -p "$proof" -k ../../noir-projects/noir-protocol-circuits/target/keys/hiding_kernel_to_public.ivc.vk 1>&2 local public_result=$? echo_stderr "Public verify: $public_result." if [[ $private_result -eq $public_result ]]; then @@ -36,7 +36,7 @@ function verify_ivc_flow { exit 1 fi if [[ $private_result -ne 0 ]] && [[ $public_result -ne 0 ]]; then - echo_stderr "Verification failed for $flow. Did not verify with precalculated verification key - we may need to revisit how it is generated in yarn-project/bb-prover." + echo_stderr "Verification failed for $flow. Did not verify with precalculated verification key - we may need to revisit how it is generated in noir-projects/noir-protocol-circuits." exit 1 fi } diff --git a/barretenberg/cpp/src/barretenberg/api/api_client_ivc.cpp b/barretenberg/cpp/src/barretenberg/api/api_client_ivc.cpp index 9ad55a4e5c06..45debce95541 100644 --- a/barretenberg/cpp/src/barretenberg/api/api_client_ivc.cpp +++ b/barretenberg/cpp/src/barretenberg/api/api_client_ivc.cpp @@ -27,13 +27,16 @@ namespace { // anonymous namespace * * @param bytecode_path * @param witness_path + * @param use_structured_trace Whether to utilize structured trace when computing VK for circuit */ -void write_standalone_vk(const std::filesystem::path& bytecode_path, const std::filesystem::path& output_path) +void write_standalone_vk(std::vector bytecode, + const std::filesystem::path& output_path, + bool use_structured_trace = true) { - auto bytecode = get_bytecode(bytecode_path); + auto trace_settings = use_structured_trace ? TraceSettings{ AZTEC_TRACE_STRUCTURE } : TraceSettings{}; auto response = bbapi::ClientIvcComputeStandaloneVk{ .circuit = { .name = "standalone_circuit", .bytecode = std::move(bytecode) } - }.execute(); + }.execute({ .trace_settings = trace_settings }); bool is_stdout = output_path == "-"; if (is_stdout) { @@ -84,17 +87,18 @@ void ClientIVCAPI::prove(const Flags& flags, const bool output_to_stdout = output_dir == "-"; const auto write_proof = [&]() { - const auto buf = to_buffer(proof); + const auto buf = to_buffer(proof.to_field_elements()); if (output_to_stdout) { vinfo("writing ClientIVC proof to stdout"); write_bytes_to_stdout(buf); } else { vinfo("writing ClientIVC proof in directory ", output_dir); - proof.to_file_msgpack(output_dir / "proof"); + write_file(output_dir / "proof", buf); } }; write_proof(); + if (flags.write_vk) { vinfo("writing ClientIVC vk in directory ", output_dir); // write CIVC vk using the bytecode of the hiding circuit (the last step of the execution) @@ -108,8 +112,11 @@ bool ClientIVCAPI::verify([[maybe_unused]] const Flags& flags, const std::filesystem::path& vk_path) { BB_BENCH_NAME("ClientIVCAPI::verify"); - auto proof = ClientIVC::Proof::from_file_msgpack(proof_path); + auto proof_fields = many_from_buffer(read_file(proof_path)); + auto proof = ClientIVC::Proof::from_field_elements(proof_fields); + auto vk_buffer = read_file(vk_path); + auto response = bbapi::ClientIvcVerify{ .proof = std::move(proof), .vk = std::move(vk_buffer) }.execute(); return response.valid; } @@ -177,10 +184,14 @@ void ClientIVCAPI::write_vk(const Flags& flags, const std::filesystem::path& output_path) { BB_BENCH_NAME("ClientIVCAPI::write_vk"); + auto bytecode = get_bytecode(bytecode_path); if (flags.verifier_type == "ivc") { - write_civc_vk(get_bytecode(bytecode_path), output_path); + write_civc_vk(bytecode, output_path); } else if (flags.verifier_type == "standalone") { - write_standalone_vk(bytecode_path, output_path); + write_standalone_vk(bytecode, output_path); + } else if (flags.verifier_type == "standalone_hiding") { + // write the VK for the hiding kernel which DOES NOT utilize a structured trace + write_standalone_vk(bytecode, output_path, false); } else { const std::string msg = std::string("Can't write vk for verifier type ") + flags.verifier_type; throw_or_abort(msg); diff --git a/barretenberg/cpp/src/barretenberg/bb/cli.cpp b/barretenberg/cpp/src/barretenberg/bb/cli.cpp index 208b9df43008..953f291dd09f 100644 --- a/barretenberg/cpp/src/barretenberg/bb/cli.cpp +++ b/barretenberg/cpp/src/barretenberg/bb/cli.cpp @@ -241,9 +241,11 @@ int parse_and_run_cli_command(int argc, char* argv[]) "recursive verifier) or is it for an ivc verifier? `standalone` produces a verification key " "is sufficient for verifying proofs about a single circuit (including the non-encsapsulated " "use case where an IVC scheme is manually constructed via recursive UltraHonk proof " - "verification). `ivc` produces a verification key for verifying the stack of run though a " - "dedicated ivc verifier class (currently the only option is the ClientIVC class) ") - ->check(CLI::IsMember({ "standalone", "ivc" }).name("is_member")); + "verification). `standalone_hiding` is similar to `standalone` but is used for the last step " + "where the structured trace is not utilized. `ivc` produces a verification key for verifying " + "the stack of run though a dedicated ivc verifier class (currently the only option is the " + "ClientIVC class)") + ->check(CLI::IsMember({ "standalone", "standalone_hiding", "ivc" }).name("is_member")); }; const auto add_verbose_flag = [&](CLI::App* subcommand) { diff --git a/barretenberg/cpp/src/barretenberg/client_ivc/client_ivc.cpp b/barretenberg/cpp/src/barretenberg/client_ivc/client_ivc.cpp index c4f43ca23e71..6d7b5b644eb5 100644 --- a/barretenberg/cpp/src/barretenberg/client_ivc/client_ivc.cpp +++ b/barretenberg/cpp/src/barretenberg/client_ivc/client_ivc.cpp @@ -673,6 +673,43 @@ std::vector ClientIVC::Proof::to_field_elements() const return proof; }; +ClientIVC::Proof ClientIVC::Proof::from_field_elements(const std::vector& fields) +{ + HonkProof mega_proof; + GoblinProof goblin_proof; + + size_t custom_public_inputs_size = fields.size() - ClientIVC::Proof::PROOF_LENGTH(); + + // Mega proof + auto start_idx = fields.begin(); + auto end_idx = start_idx + static_cast( + MegaZKFlavor::PROOF_LENGTH_WITHOUT_PUB_INPUTS(MegaZKFlavor::VIRTUAL_LOG_N) + + bb::HidingKernelIO::PUBLIC_INPUTS_SIZE + custom_public_inputs_size); + mega_proof.insert(mega_proof.end(), start_idx, end_idx); + + // Merge proof + start_idx = end_idx; + end_idx += static_cast(MERGE_PROOF_SIZE); + goblin_proof.merge_proof.insert(goblin_proof.merge_proof.end(), start_idx, end_idx); + + // ECCVM pre-ipa proof + start_idx = end_idx; + end_idx += static_cast(ECCVMFlavor::PROOF_LENGTH_WITHOUT_PUB_INPUTS - IPA_PROOF_LENGTH); + goblin_proof.eccvm_proof.pre_ipa_proof.insert(goblin_proof.eccvm_proof.pre_ipa_proof.end(), start_idx, end_idx); + + // ECCVM ipa proof + start_idx = end_idx; + end_idx += static_cast(IPA_PROOF_LENGTH); + goblin_proof.eccvm_proof.ipa_proof.insert(goblin_proof.eccvm_proof.ipa_proof.end(), start_idx, end_idx); + + // Translator proof + start_idx = end_idx; + end_idx += static_cast(TranslatorFlavor::PROOF_LENGTH_WITHOUT_PUB_INPUTS); + goblin_proof.translator_proof.insert(goblin_proof.translator_proof.end(), start_idx, end_idx); + + return { mega_proof, goblin_proof }; +}; + msgpack::sbuffer ClientIVC::Proof::to_msgpack_buffer() const { msgpack::sbuffer buffer; diff --git a/barretenberg/cpp/src/barretenberg/client_ivc/client_ivc.hpp b/barretenberg/cpp/src/barretenberg/client_ivc/client_ivc.hpp index bb6ed95e00c2..64aa9dde7e5b 100644 --- a/barretenberg/cpp/src/barretenberg/client_ivc/client_ivc.hpp +++ b/barretenberg/cpp/src/barretenberg/client_ivc/client_ivc.hpp @@ -133,6 +133,8 @@ class ClientIVC { */ std::vector to_field_elements() const; + static Proof from_field_elements(const std::vector& fields); + // TODO(https://github.com/AztecProtocol/barretenberg/issues/1299): The following msgpack methods are generic // and should leverage some kind of shared msgpack utility. msgpack::sbuffer to_msgpack_buffer() const; diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/civc_recursion_constraints.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/civc_recursion_constraints.cpp index 85254379cdfb..98c71036e0ad 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/civc_recursion_constraints.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/civc_recursion_constraints.cpp @@ -113,7 +113,7 @@ create_civc_recursion_constraints(Builder& builder, // Recursively verify CIVC proof auto mega_vk = std::make_shared(builder, key_fields); auto mega_vk_and_hash = std::make_shared(mega_vk, vk_hash); - ClientIVCRecursiveVerifier::StdlibProof stdlib_proof(proof_fields); + ClientIVCRecursiveVerifier::StdlibProof stdlib_proof(proof_fields, input.public_inputs.size()); ClientIVCRecursiveVerifier verifier(&builder, mega_vk_and_hash); ClientIVCRecursiveVerifier::Output verification_output = verifier.verify(stdlib_proof); diff --git a/barretenberg/cpp/src/barretenberg/stdlib/client_ivc_verifier/client_ivc_recursive_verifier.hpp b/barretenberg/cpp/src/barretenberg/stdlib/client_ivc_verifier/client_ivc_recursive_verifier.hpp index f87044e11bdb..e6214686fbf5 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/client_ivc_verifier/client_ivc_recursive_verifier.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/client_ivc_verifier/client_ivc_recursive_verifier.hpp @@ -57,11 +57,13 @@ class ClientIVCRecursiveVerifier { * @param proof_indices * @param virtual_log_n */ - StdlibProof(const std::vector>& proof_indices, size_t virtual_log_n = Flavor::VIRTUAL_LOG_N) + StdlibProof(const std::vector>& proof_indices, + size_t public_inputs_size, + size_t virtual_log_n = Flavor::VIRTUAL_LOG_N) { BB_ASSERT_EQ(proof_indices.size(), - PROOF_LENGTH(virtual_log_n), + PROOF_LENGTH(virtual_log_n) + public_inputs_size, "Number of indices differs from the expected proof size."); auto it = proof_indices.begin(); @@ -70,7 +72,7 @@ class ClientIVCRecursiveVerifier { std::ptrdiff_t start_idx = 0; std::ptrdiff_t end_idx = static_cast( RecursiveFlavor::NativeFlavor::PROOF_LENGTH_WITHOUT_PUB_INPUTS(virtual_log_n) + - HidingKernelIO::PUBLIC_INPUTS_SIZE); + HidingKernelIO::PUBLIC_INPUTS_SIZE + public_inputs_size); mega_proof.insert(mega_proof.end(), it + start_idx, it + end_idx); // Merge proof @@ -96,7 +98,7 @@ class ClientIVCRecursiveVerifier { goblin_proof.translator_proof.insert(goblin_proof.translator_proof.end(), it + start_idx, it + end_idx); BB_ASSERT_EQ(static_cast(end_idx), - PROOF_LENGTH(virtual_log_n), + PROOF_LENGTH(virtual_log_n) + public_inputs_size, "Reconstructed a ClientIVC proof of wrong the length from proof indices."); } }; diff --git a/barretenberg/ts/src/barretenberg/backend.ts b/barretenberg/ts/src/barretenberg/backend.ts index c89b37367a39..d182fa374ba2 100644 --- a/barretenberg/ts/src/barretenberg/backend.ts +++ b/barretenberg/ts/src/barretenberg/backend.ts @@ -8,7 +8,7 @@ import { uint8ArrayToHex, hexToUint8Array, } from '../proof/index.js'; -import { fromClientIVCProof, toClientIVCProof } from '../cbind/generated/api_types.js'; +import { ClientIVCProof, fromClientIVCProof, toClientIVCProof } from '../cbind/generated/api_types.js'; import { ungzip } from 'pako'; import { Buffer } from 'buffer'; import { Decoder, Encoder } from 'msgpackr'; @@ -267,7 +267,7 @@ export class AztecClientBackend { } } - async prove(witnessBuf: Uint8Array[], vksBuf: Uint8Array[] = []): Promise<[Uint8Array, Uint8Array]> { + async prove(witnessBuf: Uint8Array[], vksBuf: Uint8Array[] = []): Promise<[Uint8Array[], Uint8Array, Uint8Array]> { if (vksBuf.length !== 0 && this.acirBuf.length !== witnessBuf.length) { throw new AztecClientBackendError('Witness and bytecodes must have the same stack depth!'); } @@ -315,12 +315,19 @@ export class AztecClientBackend { bytecode: this.acirBuf[this.acirBuf.length - 1], } }); + const proofFields = [ + proveResult.proof.megaProof, + proveResult.proof.goblinProof.mergeProof, + proveResult.proof.goblinProof.eccvmProof.preIpaProof, + proveResult.proof.goblinProof.eccvmProof.ipaProof, + proveResult.proof.goblinProof.translatorProof, + ].flat(); // Note: Verification may not work correctly until we properly serialize the proof if (!(await this.verify(proof, vkResult.bytes))) { throw new AztecClientBackendError('Failed to verify the private (ClientIVC) transaction proof!'); } - return [proof, vkResult.bytes]; + return [proofFields, proof, vkResult.bytes]; } async verify(proof: Uint8Array, vk: Uint8Array): Promise { diff --git a/cspell.json b/cspell.json index b53ecf78cbb2..accf349e218d 100644 --- a/cspell.json +++ b/cspell.json @@ -65,6 +65,7 @@ "cimg", "ciphertext", "ciphertexts", + "civc", "clonedeep", "clonedeepwith", "cmd", @@ -394,9 +395,5 @@ "lib", "*.cmake" ], - "flagWords": [ - "anonymous", - "offence", - "offences" - ] + "flagWords": ["anonymous", "offence", "offences"] } diff --git a/noir-projects/mock-protocol-circuits/crates/mock-rollup-base-private/src/main.nr b/noir-projects/mock-protocol-circuits/crates/mock-rollup-base-private/src/main.nr index 68dea6f1bbe0..1f5c056e2b2b 100644 --- a/noir-projects/mock-protocol-circuits/crates/mock-rollup-base-private/src/main.nr +++ b/noir-projects/mock-protocol-circuits/crates/mock-rollup-base-private/src/main.nr @@ -1,6 +1,6 @@ -use dep::mock_types::{RollupPublicInputs, TubeData}; +use dep::mock_types::{CivcProofData, RollupPublicInputs}; -fn main(tube_data: TubeData) -> pub RollupPublicInputs { - tube_data.verify(); +fn main(civc_proof_data: CivcProofData) -> pub RollupPublicInputs { + civc_proof_data.verify(); RollupPublicInputs::new(1) } diff --git a/noir-projects/mock-protocol-circuits/crates/mock-rollup-base-public/src/main.nr b/noir-projects/mock-protocol-circuits/crates/mock-rollup-base-public/src/main.nr index 8e3015b94c58..55baa08cadd6 100644 --- a/noir-projects/mock-protocol-circuits/crates/mock-rollup-base-public/src/main.nr +++ b/noir-projects/mock-protocol-circuits/crates/mock-rollup-base-public/src/main.nr @@ -1,15 +1,15 @@ use dep::mock_types::{ AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED, - AvmCircuitPublicInputs, PROOF_TYPE_AVM, RollupPublicInputs, TubeData, VerificationKey, + AvmCircuitPublicInputs, CivcProofData, PROOF_TYPE_AVM, RollupPublicInputs, VerificationKey, }; fn main( - tube_data: TubeData, + civc_proof_data: CivcProofData, verification_key: VerificationKey, proof: [Field; AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED], public_inputs: AvmCircuitPublicInputs, ) -> pub RollupPublicInputs { - tube_data.verify(); + civc_proof_data.verify(); std::verify_proof_with_type( verification_key.key, proof, diff --git a/noir-projects/mock-protocol-circuits/crates/mock-types/src/lib.nr b/noir-projects/mock-protocol-circuits/crates/mock-types/src/lib.nr index ec589b4c06f5..a0500f857312 100644 --- a/noir-projects/mock-protocol-circuits/crates/mock-types/src/lib.nr +++ b/noir-projects/mock-protocol-circuits/crates/mock-types/src/lib.nr @@ -7,10 +7,10 @@ pub use protocol_types::{ abis::avm_circuit_public_inputs::AvmCircuitPublicInputs, constants::{ AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED, - MEGA_VK_LENGTH_IN_FIELDS, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, PROOF_TYPE_AVM, - PROOF_TYPE_OINK, PROOF_TYPE_PG, PROOF_TYPE_PG_FINAL, PROOF_TYPE_PG_TAIL, - PROOF_TYPE_ROLLUP_HONK, PROOF_TYPE_ROOT_ROLLUP_HONK, TUBE_PROOF_LENGTH, - ULTRA_VK_LENGTH_IN_FIELDS, + CIVC_PROOF_LENGTH, CIVC_VK_LENGTH_IN_FIELDS, MEGA_VK_LENGTH_IN_FIELDS, + NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, PROOF_TYPE_AVM, PROOF_TYPE_CIVC, PROOF_TYPE_OINK, + PROOF_TYPE_PG, PROOF_TYPE_PG_FINAL, PROOF_TYPE_PG_TAIL, PROOF_TYPE_ROLLUP_HONK, + PROOF_TYPE_ROOT_ROLLUP_HONK, }, proof::verification_key::{RollupHonkVerificationKey, VerificationKey}, traits::Serialize, @@ -163,13 +163,13 @@ impl PreviousRollupData { } } -pub struct TubeData { +pub struct CivcProofData { pub public_inputs: KernelPublicInputs, - pub proof: [Field; TUBE_PROOF_LENGTH], - pub vk_data: VerificationKey, + pub proof: [Field; CIVC_PROOF_LENGTH], + pub vk_data: VerificationKey, } -impl TubeData { +impl CivcProofData { pub fn verify(self) { let inputs = KernelPublicInputs::serialize(self.public_inputs); std::verify_proof_with_type( @@ -177,7 +177,7 @@ impl TubeData { self.proof, inputs, self.vk_data.hash, - PROOF_TYPE_ROLLUP_HONK, + PROOF_TYPE_CIVC, ); } } diff --git a/noir-projects/noir-protocol-circuits/Nargo.template.toml b/noir-projects/noir-protocol-circuits/Nargo.template.toml index 569ecf961fd0..951f0f475eb0 100644 --- a/noir-projects/noir-protocol-circuits/Nargo.template.toml +++ b/noir-projects/noir-protocol-circuits/Nargo.template.toml @@ -20,6 +20,7 @@ members = [ "crates/reset-kernel-lib", "crates/hiding-kernel-to-rollup", "crates/hiding-kernel-to-public", + "crates/tube-public", "crates/rollup-lib", "crates/rollup-merge", "crates/rollup-base-private", diff --git a/noir-projects/noir-protocol-circuits/bootstrap.sh b/noir-projects/noir-protocol-circuits/bootstrap.sh index d359670ece45..119cb9081082 100755 --- a/noir-projects/noir-protocol-circuits/bootstrap.sh +++ b/noir-projects/noir-protocol-circuits/bootstrap.sh @@ -32,7 +32,7 @@ readarray -t ivc_tail_patterns < <(jq -r '.[]' "../client_ivc_tail_circuits.json readarray -t rollup_honk_patterns < <(jq -r '.[]' "../rollup_honk_circuits.json") # Convert to regex string here and export for use in exported functions. export ivc_regex=$(IFS="|"; echo "${ivc_patterns[*]}") -export private_tail_regex=$(IFS="|"; echo "${ivc_tail_patterns[*]}") +export ivc_tail_regex=$(IFS="|"; echo "${ivc_tail_patterns[*]}") export rollup_honk_regex=$(IFS="|"; echo "${rollup_honk_patterns[*]}") function on_exit { @@ -90,9 +90,9 @@ function compile { local outdir=$(mktemp -d) trap "rm -rf $outdir" EXIT function write_vk { - if echo "$name" | grep -qE "${private_tail_regex}"; then + if echo "$name" | grep -qE "${ivc_tail_regex}"; then # We still need the standalone IVC vk. We also create the final IVC vk from the tail (specifically, the number of public inputs is used from it). - denoise "$BB write_vk --scheme client_ivc --verifier_type standalone -b - -o $outdir" + denoise "$BB write_vk --scheme client_ivc --verifier_type standalone_hiding -b - -o $outdir" elif echo "$name" | grep -qE "${ivc_regex}"; then denoise "$BB write_vk --scheme client_ivc --verifier_type standalone -b - -o $outdir" elif echo "$name" | grep -qE "${rollup_honk_regex}"; then @@ -130,7 +130,7 @@ function compile { echo_stderr "Root rollup verifier at: $verifier_path (${SECONDS}s)" # Include the verifier path if we create it. cache_upload vk-$hash.tar.gz $key_path $verifier_path &> /dev/null - elif echo "$name" | grep -qE "${private_tail_regex}"; then + elif echo "$name" | grep -qE "${ivc_tail_regex}"; then # If we are a tail kernel circuit, we also need to generate the ivc vk. SECONDS=0 local ivc_vk_path="$key_dir/${name}.ivc.vk" 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 e5a9ce2cac77..0dadcfdf13cf 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,30 +1,30 @@ -vk_tree_root = "0x1f8cde81e0c5165be68b2c47089d558a335abff180d3369d351ad6aac4e73ecd" -protocol_contract_tree_root = "0x18eb72d449788231796808c5a8c66b8611b36598807bc2b42c8f554d397b1052" +vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" +protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" is_private_only = false first_nullifier_hint = "0x0000000000000000000000000000000000000000000000000000000000000000" [tx_request] -args_hash = "0x0c7ed3f3672e3e634d3d9b2885eefc4660ca32cefb9868e6f7e41eb3b55c3ae5" -salt = "0x2d0f5eebcb143d57504576b5f26ff38b2337cd4b658ddfebe30a32480b5f4948" +args_hash = "0x20f1c575879c8fd8acde9e46d75c619ddce497e92274c70d28329c9ac5d98a20" +salt = "0x2e769e116d70737369ffc25c01ebbdb2f753f7f368e9fd7e3ce990c2e716849e" [tx_request.origin] - inner = "0x08078dc9d3bb206b81bd7c186980fd81a2a1d95b3231f23768d4aa06302d0518" + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" [tx_request.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" [tx_request.tx_context.gas_settings.gas_limits] -da_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" -l2_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000600000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [tx_request.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" -l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [tx_request.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000009c27" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000e10" [tx_request.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -41,30 +41,30 @@ key = [ "0x0000000000000000000000000000000000000000000000000000000000000012", "0x0000000000000000000000000000000000000000000000000000000000000010", "0x0000000000000000000000000000000000000000000000000000000000004269", - "0x0000000000000000000000000000002397a18c7b13bef3bfdb55244dab29c3cd", - "0x000000000000000000000000000000000002c67a5a4c5a532ef69716ec698562", - "0x0000000000000000000000000000004c5b4952e4cb93990dcf8e56f2e6efb544", - "0x00000000000000000000000000000000002be5a399c7d4dec089ed18dfb634e1", - "0x00000000000000000000000000000079154efc4b5ada0ae720f1757a6d0dd18a", - "0x00000000000000000000000000000000001e398b02d7b030adea1e37af422c59", - "0x0000000000000000000000000000006a371950d7b5db2f1ac7089cdd6df924b6", - "0x000000000000000000000000000000000004021e84186b1ec0aa24b53a7eca36", - "0x0000000000000000000000000000005b8f0f83ced6dd57b7292cbc295206af7e", - "0x0000000000000000000000000000000000077bbd88b2be546d9457c56d0d6ff5", - "0x00000000000000000000000000000090d7864cff291d01ae55fe0b11ea490f35", - "0x000000000000000000000000000000000006f863e8817e362866a913e4f1845a", - "0x000000000000000000000000000000a5abebfc4163bfb36008d8e23083d2018d", - "0x000000000000000000000000000000000007dfb6a0ec91586980c4bdc01d569a", - "0x0000000000000000000000000000006b1150acfd2d3b856861ab17f98987f925", - "0x00000000000000000000000000000000000acff53babd078f3ae533c7e400497", - "0x00000000000000000000000000000087300b8d5f7c28b1421bf2f66ebcc43024", - "0x000000000000000000000000000000000024fbdcbd449d0972827175967eb968", - "0x000000000000000000000000000000d6e7aef9a2623ab53720b04e1edb32dc03", - "0x000000000000000000000000000000000007c175a5024f17640c9201f6e4f54a", - "0x000000000000000000000000000000a071f53678bd50588eabab515e98ff3b2f", - "0x0000000000000000000000000000000000083184780c9c93f392053f1bded5f4", - "0x00000000000000000000000000000056e60ed72df2812034fc6cef962f9d5416", - "0x000000000000000000000000000000000014180aeb90de02b0e13b12eff6cffe", + "0x000000000000000000000000000000a4f5b2355d650566e8641ab5c714022b74", + "0x0000000000000000000000000000000000114e8da62c10794aff627cdca19bd0", + "0x0000000000000000000000000000009164f7eb0a6500ed561aab3b835cbcf6f4", + "0x000000000000000000000000000000000026610734dee5f47ba75fcf9fd04739", + "0x0000000000000000000000000000001ef16d6806a81c2a308942a5b9929a52a6", + "0x00000000000000000000000000000000002dfe37c8c98aba448444122d047681", + "0x000000000000000000000000000000bc7980e5b93c5fffecd1a23d2ac28e4628", + "0x00000000000000000000000000000000002bcbbafb6db317736e6e23c44f5192", + "0x0000000000000000000000000000009062d14a95743a7cf1515d671728d7d361", + "0x000000000000000000000000000000000002aa072132a5eb2a5c804c89cad455", + "0x0000000000000000000000000000009b4f552d1a93ce8e522c8d4383abf01c85", + "0x000000000000000000000000000000000018c01350478ae37a8ef51eaf0b300d", + "0x000000000000000000000000000000e251932a6a309cdf790fce063659713b6c", + "0x00000000000000000000000000000000001217fd8fed10e8067241fea4a239bb", + "0x0000000000000000000000000000005f8a7cf5081655ea3ca230be1d767844e9", + "0x000000000000000000000000000000000000ba7c3b632428067bf4bf2bc52b3c", + "0x0000000000000000000000000000002db3184cec675124c7f51443eea0e61312", + "0x00000000000000000000000000000000001cb30348392a24adee66b9ec7cd35c", + "0x0000000000000000000000000000001af50eec570f3414d92b16422323ee7b14", + "0x000000000000000000000000000000000019055532fade44da3f8fa698787b92", + "0x000000000000000000000000000000ac3d136c56e174682e19e00ca4b8dfbfdb", + "0x000000000000000000000000000000000008c984d53e7ddc367f0fa1d18cfd8d", + "0x000000000000000000000000000000742487a5f3d435a378de45458bdc148214", + "0x00000000000000000000000000000000002aa55824d60d827aaec56610b5b83d", "0x0000000000000000000000000000009a0c2af757f4f521495628327a37850af4", "0x000000000000000000000000000000000008b154a27fc0c2eb174b957d5ce2bb", "0x000000000000000000000000000000ed10a7b6d3c020d62a923b5bd396191d13", @@ -73,10 +73,10 @@ key = [ "0x00000000000000000000000000000000001365e6e13ed00e4643c92d68a9b5be", "0x00000000000000000000000000000048d23eac6df57c97f139d94dfd16d09e98", "0x00000000000000000000000000000000002cca286bfb14add704cda8a4f333c8", - "0x00000000000000000000000000000070dcf768618c56dacca7c1bc447960a2ac", - "0x00000000000000000000000000000000001444bf5450834c6bf6db02c2bf2934", - "0x0000000000000000000000000000003c6cd2854d49e9c446ff2a4896bf375fc2", - "0x0000000000000000000000000000000000012c258c525e6255c56148404f2055", + "0x000000000000000000000000000000473af17e04db248d795091fefbf5ba0155", + "0x00000000000000000000000000000000001602ed1c1383081252adcf9c3646fe", + "0x0000000000000000000000000000009a0e479647587600c3afadfa8186d913e6", + "0x00000000000000000000000000000000002382548ce5c8abab611e2488090fed", "0x000000000000000000000000000000e8a7fd2159d1f9e46c5dd0ab9488fb21c0", "0x00000000000000000000000000000000000f6324e78e4cdb863afd0f431301aa", "0x000000000000000000000000000000b63acb4ac8c68d8e8e06f3946b45dfe166", @@ -101,38 +101,38 @@ key = [ "0x00000000000000000000000000000000000bd73b7c09d0060db319d0512203f8", "0x000000000000000000000000000000789f4a8900b6f586337925744c8fc63e81", "0x0000000000000000000000000000000000081335aa462c3a655bd1919c3ae134", - "0x000000000000000000000000000000aac64120b491b8b76b5513e7d5209b281e", - "0x0000000000000000000000000000000000174d6a63a6d7a244a3c9fc78dc9f0b", - "0x00000000000000000000000000000037096a85d98b1028c276a2d54d4a732f36", - "0x00000000000000000000000000000000001d0cf793732089ba10e690bc4b2828", - "0x0000000000000000000000000000001f371f1f578b13d4256d64ebb06bb5c641", - "0x00000000000000000000000000000000002d2e4488cfb8145749cf977c7b6dc1", - "0x0000000000000000000000000000008579f45aa2244f23031f6a85f0eee2295c", - "0x00000000000000000000000000000000001ff6660c5fbb17968c14b24e28dca1", - "0x00000000000000000000000000000021fbef6b1696d4eb8bee9d327fa7261af1", - "0x00000000000000000000000000000000000bde042f1c19ff6d44d84e48cb4109", - "0x000000000000000000000000000000c0a1d7639f89c4820a152c3cb213af2300", - "0x00000000000000000000000000000000000960eaf05883aa6dd50d41df983e18", - "0x00000000000000000000000000000032df6422e963ca6e25eb9efacd46d95a5a", - "0x00000000000000000000000000000000002d70a7a53451066db98658f295e407", - "0x000000000000000000000000000000b61428e30633b3eef4e9f6bf43c368b281", - "0x0000000000000000000000000000000000179869a6ccef6ab22f88e7fff5719d", - "0x00000000000000000000000000000038c76291292f118545d1da3795f32d4c6f", - "0x00000000000000000000000000000000001aecf4c613a4ac8414004eba3d2636", - "0x0000000000000000000000000000002d16b01da7de0d33d430664c00e532894d", - "0x0000000000000000000000000000000000056938623f2146efdde9fc4c7cd69d", - "0x000000000000000000000000000000c1e2332a218a55bfe56a3dc7e07cccb780", - "0x0000000000000000000000000000000000266b8fef6d9a01680c5baa5179a167", - "0x000000000000000000000000000000d546634b4c8d01006519ce0a87da28bc6a", - "0x00000000000000000000000000000000001119b6dba15dcfba1d4cb28ebf65b1", - "0x000000000000000000000000000000036e36ad52342d08e50fa5a973ccb5c28d", - "0x000000000000000000000000000000000002413bf710afe647db83749b237d75", - "0x00000000000000000000000000000013e60b495d05d2602ae78a8377d6a89345", - "0x00000000000000000000000000000000001d762f3702060d377e77b74a821c5f", - "0x0000000000000000000000000000005d72a98fd6270015be538f6b044e75f022", - "0x00000000000000000000000000000000001d842bc11bab0fd7bbc175052e68ac", - "0x00000000000000000000000000000018ec3b393b3e5ef8be62e58d074db22dc5", - "0x00000000000000000000000000000000001b03d38d0b31b07cb674db54c9bad0", + "0x00000000000000000000000000000032ed57b7c44e6091297ef93ee4d729c558", + "0x000000000000000000000000000000000024aa279231442a04333711604c8294", + "0x0000000000000000000000000000006bd8e56ecb43a67bfeee70c883ecfb1aa0", + "0x00000000000000000000000000000000000067200c80479036bb81caf3cf28df", + "0x0000000000000000000000000000002d2a04e6959cc4349288d35145cde6d9e9", + "0x00000000000000000000000000000000000eeeb8a32b7f66ca1f5b347f227285", + "0x0000000000000000000000000000000540f05a5f35740f5e84a7baa25a3ee278", + "0x000000000000000000000000000000000024b7ac86c7102c71f878562ae111b7", + "0x00000000000000000000000000000073593d80e814bd449920d27cfe5e12d7c7", + "0x00000000000000000000000000000000000d798198761fe92735c6fa95ba59be", + "0x00000000000000000000000000000095b9e9396719e92ce8a1a57edffb74ec8e", + "0x0000000000000000000000000000000000113efbfd638e1100bd6d2bb9390775", + "0x00000000000000000000000000000076678788636d8844a7999cfb05da8b9bf8", + "0x00000000000000000000000000000000000a003b62c1c0624d7032be0ed83f38", + "0x0000000000000000000000000000005a880f35e1473238be3fdf0227616142fb", + "0x00000000000000000000000000000000001bfbecf439e89a0a0e4860ea8f0dc9", + "0x000000000000000000000000000000de48ad39ef82a32a6a9a94bf7bacffed53", + "0x00000000000000000000000000000000002f1180b3e67514fa1b663ec722f23b", + "0x0000000000000000000000000000002899975b4e325b31fd25e0c6e9efbf2a9b", + "0x0000000000000000000000000000000000026ccf29e876e19bbdfb76a8228834", + "0x0000000000000000000000000000004e1d12c0e50105783f122ee4a82e158a3d", + "0x00000000000000000000000000000000000c44a2e2bf3b4f6c24773df1ca3cbd", + "0x000000000000000000000000000000875784aab44d677a91b619b25d55100bc5", + "0x00000000000000000000000000000000002b92f31ade077ea882484575fa24d9", + "0x0000000000000000000000000000008e52115a132d85ff548ade651b708239c0", + "0x00000000000000000000000000000000000e7a97024a814b3c6144dc0527f4cc", + "0x000000000000000000000000000000f8fcf2ad241ae72f29e113289de6878c0a", + "0x0000000000000000000000000000000000002e863f40811585d0d2d434e74950", + "0x000000000000000000000000000000ebb56f4becfc39214844fce1618d356581", + "0x000000000000000000000000000000000000291656c2fc599ba8c6051ccedd9b", + "0x0000000000000000000000000000008c44cb5c2f49acf35c7714954a00419dec", + "0x0000000000000000000000000000000000218601e32409947c69f47178e9dc83", "0x000000000000000000000000000000f25b9aa3d5a803c8c0326961d64238f439", "0x00000000000000000000000000000000000cfafb6664c33107c0e1c9c324be8c", "0x00000000000000000000000000000022f1d566e188ad1105227725d86aaea234", @@ -161,15 +161,15 @@ key = [ "0x000000000000000000000000000000000000c43726f75b6fda0de22ce0e0dfab", "0x0000000000000000000000000000001d0a09d7178ec93bad7858f96e64f0b48d", "0x00000000000000000000000000000000002f9b6e0b4e2c01968de5c32482aa7d", - "0x000000000000000000000000000000e55ba19751adfe6c36324d3fb6c2da0989", - "0x00000000000000000000000000000000001d58aa61c64ad522043d79c4802219", - "0x00000000000000000000000000000078f4b3bc61f19d6e7069359bbf47e7f907", - "0x00000000000000000000000000000000002d7c18a93c3dae58809faaeec6a86a" + "0x000000000000000000000000000000b3c3cf6db5a5c37c73b4eaabc7c2bdb5d5", + "0x0000000000000000000000000000000000019aaa1db73a9843297ddd5305a039", + "0x000000000000000000000000000000f3287cee24421753c9bb15d7145031ca6d", + "0x000000000000000000000000000000000005892462ef48edfc14cca5c68eae6e" ] -hash = "0x1821482918a5c0114d3fd57847325f6845e4dd93a049d25081ea65d48779f164" +hash = "0x21893f5c2e4936ee95b46695ac9ddbd25d09f21aadfc54b36149a5ae297340f2" [private_call.verification_key_hints] -contract_class_artifact_hash = "0x1be31d6f3d58bfc1f60993d2dd643ba673fc844ca56213d0f5de0cc5ae71475d" +contract_class_artifact_hash = "0x1eafc3dca10c2ff4c4f0fb325963c665673f262a25284e67d1c639761d7a6ff6" contract_class_public_bytecode_commitment = "0x0760738ac70fb3a6282af9a84ad00f3ccaee25deea3156d5c9f81542674af4d2" updated_class_id_delayed_public_mutable_values = [ "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -180,59 +180,59 @@ updated_class_id_delayed_public_mutable_values = [ [private_call.verification_key_hints.function_leaf_membership_witness] leaf_index = "0" sibling_path = [ - "0x1da476b0a466d720b992aa57135cc1616c02b0fff643a2b8fbea35c610142f39", - "0x194357bfcba71ecbecb9dab6e4be51ebff96adec843eb57cc14174438b659852", + "0x08f90e4f827421534d505672021d46366a863b16ff737c4b5893b6dbc105dfa7", + "0x12ae8b7c02a9b4737bd3677d2cd42c684b980a467a354a6222e1844290c70e28", "0x0e1ce4f11f4d51a7d3136abbd625315fff3876d322e46ad8401da96f8e43a614", "0x1a0ca5eecb1430479902264f04e557160a4666fb42bb8b283c6397e3d17ac937", "0x2a6595890719fef7967c209488728aa5342438ba52058a3c770202f55acf6854" ] [private_call.verification_key_hints.public_keys.npk_m.inner] -x = "0x1acda8e75e1eb9662c04b751f41c7dbae55682db7523abc4ad1c5fba309b0320" -y = "0x03ebaa9feffa1c45b38bc2dc9086b3bbfc88bdad5f98c463a0de24f4ad11b951" +x = "0x1481282be07dbdd44d9bbda8b8a71946a96a09675b3ee31392a4f01a7dc1b4ea" +y = "0x01d2caa69da2b2d31ec3143d4558e7e7cbc48c2e5a9cea50629539592ac35f39" is_infinite = false [private_call.verification_key_hints.public_keys.ivpk_m.inner] -x = "0x0de2ad3a83bf329626cdbe4206bc7e485a1bec236c74d4e6b231f8e92f2e3903" -y = "0x20d591829ad0469d695f231f3e75e948a6bd3521a64e98acc475516622568be7" +x = "0x0552f4d8b43a51f90dfb1eaa02d907ddc8b22f8aa319516f595996ae73ef76a8" +y = "0x1d3f454efd1cbbd0b0a0d2e559e46f6ee06587cc6a56e6a3ddb41489d6d3761e" is_infinite = false [private_call.verification_key_hints.public_keys.ovpk_m.inner] -x = "0x1adab378d69b736cb148e2a2daafe640eb22ef79ac94b934db1e338037808ee7" -y = "0x168f9e8b382478db9c80b7f46d29dfe48e8a381af20d049f5323b9b04c10b228" +x = "0x0075f46d326df4fd4224b3b498bac27f259e2b7932e57b852555156adc18e156" +y = "0x261df3b3cf2568466a4e679c655aa94e716c91b087a006c6753eb3e9caadf33c" is_infinite = false [private_call.verification_key_hints.public_keys.tpk_m.inner] -x = "0x2314a519167c2654016167e688f7a02a7b8380ca77d41fee78c8757b38627cfb" -y = "0x16a26447be55f7371f614ee07a5f10aa6218fcb4fcc08968e807856e7fdadc10" +x = "0x12752e36c6448758f2c07124f45e106140394d44ee4e28c132ce20ba0ee99c02" +y = "0x195365354ee0132cdebf086408497c39c25935945382f32843dfe2f923782032" is_infinite = false [private_call.verification_key_hints.salted_initialization_hash] - inner = "0x262db44ea9f1bbf34835dcfcc3246fec85d7e86693b36728864eb3d190a41fb2" + inner = "0x24d8da500954322c6191651da765d86165ec59c77be83179a57c2f0e172888c9" [private_call.verification_key_hints.protocol_contract_membership_witness] - leaf_index = "4" + leaf_index = "6" sibling_path = [ - "0x12bbcb7bd6cd194289ab3544a0c059b2cd4d6830bb5ce377a1f3781faba60aea", - "0x1e4e54dd7acb9e090d6f0d19a32ee6fbfc25c3065a6647986e3e17637e63ddb0", - "0x22c36ee91f96553ed6720933a66adac43f3b6dc1e39d187a624a8254d1baa6ee" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x1bc929a06c95122bf3f082ed756f717486151e8679afbd0e596dd9189fe9301a", + "0x0a85b3cca865f9521d26b0e7a031ca200341fb2ea86c22c844152ca827470274" ] [private_call.verification_key_hints.protocol_contract_leaf] - address = "0x06d809b30b496ef588f34bf6d1a37ff660f421fd0acef1ad2518bc6fa70b4aff" - next_address = "0x297e492c370e83c62c25d12a8d620b25e8779a0b56a77f3249c29168407157f3" + address = "0x180b58198cce7c0866a828841df6eca6369a71a6e884ca5cf08938301d7ad0ca" + next_address = "0x1bd2e13b35e2745e638132262e6642a86ac4219f1b7a95086bebe250f5d557ea" [private_call.verification_key_hints.updated_class_id_witness] - leaf_index = "123" + leaf_index = "129" sibling_path = [ - "0x16d1c29183251b0ce81bb6bde7f924f60be16dd3a76bddf6e1d72108cd915601", - "0x1c23e1bccf22bde8f4a1575491dd6993e6a296d4472eb80f007a92e738d749be", - "0x0e7cb91b343f5b4b5dcce11b1c3c8f881eb46aa4a7562c46c2c9c673398f0c3e", - "0x12d12808c92ff0ee702cbe941afb3877f8e526882be90c5146752a1006f03e64", - "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", - "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", - "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", - "0x2f37e6abaab9843ec050a4ec41d11b4707fcd86aa5211799f396fd87a04ae97e", + "0x1520cab97ee36008619ea84b5c9d2b7ea75abc519752e2b841ba52999d8bd98d", + "0x09bda1cd5408bcc07396b1de858aa1d28b45ad976fa3c740ab579dae0111be0d", + "0x2344d5cbdebf5efd95e8b054393bea0f71ff48e2b0fe81861294b228d6b35d6f", + "0x08259331d418daafff816935e3fdc0c6041d567c115b561597d842489f54e03c", + "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", + "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", + "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", + "0x02857581eb224756287605f843eef503c0cc21b7f5e79e48f65d93b9285941a5", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -268,19 +268,19 @@ is_infinite = false ] [private_call.verification_key_hints.updated_class_id_leaf] - slot = "0x17a5272c21c697fc73785426c50214efb255b5256fa499bcd84b44f1dc2df303" - value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" - next_slot = "0x2124fada703ebf5492733bfc4a67fe4694446bb3d96765f1b268bf9a48e4f996" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000083" + slot = "0x1d6d073b05329441618062971bf2308a1fa3bdf52cd354f2843fbd093688e6d6" + value = "0x0000000000000000000000000000000000000000000000000000000000000001" + next_slot = "0x1f7adda1d741e186cf8c17ecb41003222c86f551485f8a5ad208f4999b9f7af2" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000089" [app_public_inputs] -args_hash = "0x0c7ed3f3672e3e634d3d9b2885eefc4660ca32cefb9868e6f7e41eb3b55c3ae5" +args_hash = "0x20f1c575879c8fd8acde9e46d75c619ddce497e92274c70d28329c9ac5d98a20" returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000001" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000004" min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000003" is_fee_payer = true -include_by_timestamp = "0x00000000000000000000000000000000000000000000000000000000689daddf" +include_by_timestamp = "0x0000000000000000000000000000000000000000000000000000000068c146c0" [app_public_inputs.call_context] is_static_call = false @@ -289,7 +289,7 @@ include_by_timestamp = "0x000000000000000000000000000000000000000000000000000000 inner = "0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000" [app_public_inputs.call_context.contract_address] - inner = "0x08078dc9d3bb206b81bd7c186980fd81a2a1d95b3231f23768d4aa06302d0518" + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" [app_public_inputs.call_context.function_selector] inner = "0x0000000000000000000000000000000000000000000000000000000027e740b2" @@ -298,7 +298,7 @@ include_by_timestamp = "0x000000000000000000000000000000000000000000000000000000 length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[app_public_inputs.note_hash_read_requests.array]] - value = "0x291e3111b8037e44591f690dd7bdecafc7586afacc362ec2cb6ec3fab62c723d" + value = "0x15389cb39ac4233cdff6ca291a663a27c40116891f5d21cbdd46d584613200b2" counter = "0x0000000000000000000000000000000000000000000000000000000000000002" [[app_public_inputs.note_hash_read_requests.array]] @@ -858,13 +858,13 @@ include_by_timestamp = "0x000000000000000000000000000000000000000000000000000000 [app_public_inputs.public_call_requests.array.inner] is_static_call = true - calldata_hash = "0x260384c1b8bd62319cd9e594a23714aa0e7fe56eaffb200eb2f9415ae1d5a3e5" + calldata_hash = "0x20284c4ac976913f2da6153d66e9d089a692fe726ce1c4c3e289354d95e7a85e" [app_public_inputs.public_call_requests.array.inner.msg_sender] - inner = "0x08078dc9d3bb206b81bd7c186980fd81a2a1d95b3231f23768d4aa06302d0518" + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" [app_public_inputs.public_call_requests.array.inner.contract_address] - inner = "0x2be76fc4d837d656fd7a48faa201468f5413ae40444e1c7256d3820f4f7e3cfe" + inner = "0x1b0bd8ae0ba4d899bdfd9cfb3298d9812ba3686d946c25a0b8cae81bf285bcb2" [[app_public_inputs.public_call_requests.array]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1538,15 +1538,15 @@ include_by_timestamp = "0x000000000000000000000000000000000000000000000000000000 length = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.historical_header] - total_fees = "0x000000000000000000000000000000000000000000000000000000005d04d366" - total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000e4bf" + total_fees = "0x000000000000000000000000000000000000000000000000000000004be1498e" + total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000deb3" [app_public_inputs.historical_header.last_archive] - root = "0x21d52ee9a007daa53df18b57a2b633858e5f4b487743f1f09272dc627fa0a06f" + root = "0x2ce60ce3930b66a957e90d8d7743f53439be6d5a2c628afea9e65431767102e3" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" [app_public_inputs.historical_header.content_commitment] - blobs_hash = "0x00c00dfa9c24c3a99d31f6b1e0f75320688d64e59d4aa3396e92d33813f09f82" + blobs_hash = "0x00540c19affa4d7213a3d9c9e95c740c76b231c1824412682c8eb340f5b299e5" in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1555,49 +1555,49 @@ root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000060" [app_public_inputs.historical_header.state.partial.note_hash_tree] -root = "0x2f5f52c81e65232c969e7b748eb1b6dfc3f7eba9216029a55622a4105b31a995" +root = "0x21f127e5c363624de42112452ac39b9e7b0418940bcde9b7e8fb70339a54eda4" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" [app_public_inputs.historical_header.state.partial.nullifier_tree] -root = "0x17fee6f3e8648b9b76c999d96eab875fe3dea176f65a7b8a59b8d3af783e2284" +root = "0x2937efffa09c64dd72e8fbbb9d2b6fce80bf6859bee419d4089ea7baaeb03a57" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [app_public_inputs.historical_header.state.partial.public_data_tree] -root = "0x0d603a2c1490b47db2e8e450cd0d96db141ef47b0cb23b574dff666e2882344b" +root = "0x0f998cc8a87058c956ea3960d4d206c005c01b48c125cca9cdb2b528d5179411" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [app_public_inputs.historical_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000006" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000007" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c5c5f" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000008" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff540" [app_public_inputs.historical_header.global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [app_public_inputs.historical_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.historical_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000573a" [app_public_inputs.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" [app_public_inputs.tx_context.gas_settings.gas_limits] -da_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" -l2_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000600000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [app_public_inputs.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" -l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [app_public_inputs.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000009c27" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000e10" [app_public_inputs.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_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 7409e9482c49..a51b8e5691de 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,43 +1,43 @@ [previous_kernel.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000000" sibling_path = [ - "0x03c1b384e669a952466acd71ddc213f12b3f03408c6f8482d48b52fd2fd415f4", - "0x29bfeef08a6ae64356083db0dad5ecdef60548977fef1dc4f49860e41260df20", - "0x0d95ebabc17fe3813d2937f9961f6d275f881a0cb401408da1a7a97c7f4a8f5d", - "0x1249aa422389974330842f8e2c78f1588c04c530cc3ea9ecdf3ff346e00a4555", - "0x2ceb8c9f55a85f4b5c8c7795bf162b303e2ce1d86bba80ef5a37f045df17273f", - "0x2ac35a585f37cd8b1e9ab4423155da6325d6a2406f6ed8d4fff29af478a2783c" + "0x122040586cc43532a734c68eceadaf47c1bf49251a94ad69068d7a4fb30ce59f", + "0x0896884f7de78e6a7d508f0aaea414f76401663b2361861b59dd3b8307c8ee01", + "0x1bbf956a109fb8f2b719b42ede1c0f881349ca89c85b8a50ce1dff5f84e42931", + "0x2b19ce4682078f26bde2ff926806892441a97f239bbe4ed569485d94750fe8c8", + "0x2e4e5b7e23ac6533333c43f70db2a3c699240ba4adc372b2a3d13a000b41199c", + "0x1cb36c900588afc3a59d2d9c4b45ae89b78611c0b8ae393f0f3776887d40ce60" ] [previous_kernel.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x0000000000000000000000000000000000000000000000000000000000000040", + "0x0000000000000000000000000000000000000000000000000000000000000041", "0x0000000000000000000000000000000000000000000000000000000000004269", - "0x0000000000000000000000000000002b72d3333467bff7db06acf0723f85ddaf", - "0x000000000000000000000000000000000009cd146f0423fac18a365f3d2fd490", - "0x000000000000000000000000000000ae461057091278178a9eb2f601440871d4", - "0x00000000000000000000000000000000002515ab01aeecb54b8c69e7da8e9196", - "0x000000000000000000000000000000a4f9ac4b1a1791c1ed309736f5e0f39271", - "0x00000000000000000000000000000000002b7fcd30f300c493bf3fbeecabd533", - "0x000000000000000000000000000000858c877a66793dd6454534f629a91db7ed", - "0x00000000000000000000000000000000002bd65db646493bc274df9ebfee9178", - "0x00000000000000000000000000000036c454a2fbe5b0e4f36518b7b31a8d4c98", - "0x000000000000000000000000000000000013b8b5c77ef59c81e5ccf217d2c02f", - "0x000000000000000000000000000000654fca17c4bd7ed01dad4f0b5c892325f1", - "0x000000000000000000000000000000000011a2341fdfdf3c16ae55193d2ee9cb", - "0x00000000000000000000000000000080f33d3efa24bf33c1a1b8b839001d380e", - "0x000000000000000000000000000000000012d5ae87234b7c80b019160c0efffa", - "0x00000000000000000000000000000002b876fa296b4d9a95affaf2d337608ac4", - "0x00000000000000000000000000000000001136b8ad85038c49e389b7fe9b2a2a", - "0x0000000000000000000000000000008c271e2b89e9a9ae2c8bea2d9a3b030823", - "0x00000000000000000000000000000000002079b997ebb56fa0494e1d5fae7e6f", - "0x0000000000000000000000000000007243431634e0e65ca0d0f28b1d85f40978", - "0x0000000000000000000000000000000000175cf152d93cbd8916df3c19c784bf", - "0x000000000000000000000000000000ce79a2ea8bae6abb834f2b479800907c04", - "0x00000000000000000000000000000000001154c79f3c470d176f1db0f911082d", - "0x0000000000000000000000000000006dc371ac74a45568fa2d614372d4b4538a", - "0x0000000000000000000000000000000000196c5ab37f0ec80489566fc80aa7af", + "0x000000000000000000000000000000e99c72c7a09753d36855087639e807aa23", + "0x00000000000000000000000000000000002ba71e0c355b3c2b25605e2477a99a", + "0x0000000000000000000000000000000732660681a69e45d2cd175c5fefe06340", + "0x00000000000000000000000000000000001bc7b3ee2e795a3513ea994d32f8bf", + "0x000000000000000000000000000000feb1b07f0a10dc28b26eacb1746ec7ddf6", + "0x00000000000000000000000000000000001bc7a1908e490c67b8cf341b8313f5", + "0x000000000000000000000000000000a1b622df5d148912e2d50f43415881e92c", + "0x0000000000000000000000000000000000187745ad4c286e1201927c2992f6ef", + "0x0000000000000000000000000000005519cf7a869edcb4ff9504d2716b9976ed", + "0x000000000000000000000000000000000017604a9fad3a3edfb89db19f042e93", + "0x0000000000000000000000000000002da582b187a973e1a136cfeda814e3b265", + "0x000000000000000000000000000000000021c9e5ee69df75bc826e7b189a8f04", + "0x0000000000000000000000000000006c0bd3cf743fc3381a8ab468debe3a0564", + "0x00000000000000000000000000000000002c9ce3abab2c35540571166cf05db0", + "0x0000000000000000000000000000001a20245ed0b5ecd5b510d3dfaaa59d52e8", + "0x00000000000000000000000000000000001974ebaaf3e82f3a506a526369250b", + "0x000000000000000000000000000000397cfab1421280a5db6da20abbdae5e0b0", + "0x00000000000000000000000000000000002572226c2ed4063d72d910f0daf14d", + "0x000000000000000000000000000000bca95a95524a9f06d4a5e926fecac96b9d", + "0x00000000000000000000000000000000001c0b1c2c3b2628dd14a7456b8968ba", + "0x000000000000000000000000000000cb4550f319f210b30bba4d553eadec469a", + "0x000000000000000000000000000000000005a934115b0b9a388dc5afc86c93c2", + "0x000000000000000000000000000000af371fd9819cc6e65a255f5f8deb450f15", + "0x0000000000000000000000000000000000289414c33d36e9d3aae05a94d9db8f", "0x000000000000000000000000000000860731b142eecb2747e7aed354ca0dbddf", "0x00000000000000000000000000000000001c6af0b22844301cfcc5e3e9b9087a", "0x000000000000000000000000000000eee422154e7d17b492610b7641da96fab0", @@ -46,14 +46,14 @@ sibling_path = [ "0x00000000000000000000000000000000001f94c000fd5cc224bfd3e729502c38", "0x0000000000000000000000000000007f66df3b2e16c7dd16920e82a7769cc591", "0x00000000000000000000000000000000000851586e2a40e049ae6862f6f5849a", - "0x00000000000000000000000000000032eb0a7f9337c32c7488e936d62742a416", - "0x00000000000000000000000000000000001d100548a59e5ccdef45ca46f7c2c5", - "0x0000000000000000000000000000000c12ceb2e3f2d85b0e9dacabcdf233c443", - "0x0000000000000000000000000000000000234ffde2c0d4cd112ff528a3d9333c", - "0x0000000000000000000000000000009954dbab2044aee24bf97cfb7990af4bcc", - "0x0000000000000000000000000000000000077ac533236d2f11bf2740d26cd88a", - "0x000000000000000000000000000000e797f9bfe2d5be732750a84697db7f8a44", - "0x00000000000000000000000000000000002ebca489bc74dc9bfa61c763a26843", + "0x000000000000000000000000000000a529066dc3d5b043730303142bed511c6f", + "0x0000000000000000000000000000000000179329b6fdc03bc89cc8e3512f5ca6", + "0x0000000000000000000000000000006bb1d0b7d523bfe3c3674a5f1c7c968e6d", + "0x00000000000000000000000000000000001493deb44f8f69b942e508b66b9600", + "0x000000000000000000000000000000b5ac5a541f0fa929278d9d53edb94d1115", + "0x00000000000000000000000000000000000465432c1a27c4f0e7da876391201b", + "0x0000000000000000000000000000003c7da79d4722eb3ea8c589fb1a11ee6522", + "0x00000000000000000000000000000000001281cc1cdf9d5c1fce9bf8404083b4", "0x0000000000000000000000000000000ab5564c0f7aadb11742ea571ac245ba79", "0x000000000000000000000000000000000006e10b3bfdc80c3ab7ce7fbe500724", "0x000000000000000000000000000000cd6370e45f28cb9576d727a60da0e69cb4", @@ -66,46 +66,46 @@ sibling_path = [ "0x00000000000000000000000000000000000dbd8e997c744fc2f54be34b6fe385", "0x0000000000000000000000000000000909b43a3efbce8ac97d6802c6aa977d84", "0x00000000000000000000000000000000000db03f35a1ab98dae7449fc062e0a2", - "0x0000000000000000000000000000002d63d6bae751de40589ebda0af944b94d5", - "0x0000000000000000000000000000000000151ffa7349d1ccd9183ececf0f35f3", - "0x000000000000000000000000000000b998c68b12e4d9106ff732e954b4dd7860", - "0x00000000000000000000000000000000000b70e8bae6db545915443a84eda0d6", - "0x000000000000000000000000000000e4bcfde6b07f74590e171851bb51395fa6", - "0x00000000000000000000000000000000000547ae72b6bbe2dc36aba755b0c064", - "0x0000000000000000000000000000003f3ab0ceb619ff0b682c2657d898ba5704", - "0x00000000000000000000000000000000002c43295ffa60def39de913132e4d92", - "0x000000000000000000000000000000bc77e62f32a765b9a1380ef735df5f5cce", - "0x00000000000000000000000000000000000bc172f36bb0ab2d298a9bec138460", - "0x000000000000000000000000000000492b0eea2e19bdff6ced2c17fe0f047200", - "0x00000000000000000000000000000000001b09be952ef6ffbc1dab77d4f8b3fe", - "0x0000000000000000000000000000008de80923a2ee84135e6bf78906cc3efe4f", - "0x00000000000000000000000000000000000c13945cd340cb01c30d70c2264704", - "0x000000000000000000000000000000e0b8fc94c1a7ff0b700aaa73b261831a47", - "0x0000000000000000000000000000000000216c8963251741b16ad1bd857364f1", - "0x000000000000000000000000000000e72ffee1794436c190ea77cc5c18e0c9fa", - "0x000000000000000000000000000000000016d4794caa0f9a23ef15301b43c67f", - "0x0000000000000000000000000000002cad5c44a9701e87627e12c39a50caf86c", - "0x000000000000000000000000000000000013a7bd1999398e007b86e72f6655b4", - "0x00000000000000000000000000000090ef58a0a23e3457298d4a66cf6d5f5d07", - "0x000000000000000000000000000000000013b29d552d12df94957059d47e6913", - "0x000000000000000000000000000000a6b0efdad81956fa47a21bdb6cc46c1fe8", - "0x00000000000000000000000000000000002398dac91f14be3b1fbd1856a6cdc8", - "0x000000000000000000000000000000096dc52e5704c2ea940f13c4ff499cc0ee", - "0x00000000000000000000000000000000002d2b4517307e515881904c610f4374", - "0x000000000000000000000000000000dcadc4742065c32a413b29ce1547be30d1", - "0x0000000000000000000000000000000000201c723c43159a74ffde0416c9b4ec", - "0x0000000000000000000000000000008f2e2c9e7508b32efb437ada6a93044ce2", - "0x00000000000000000000000000000000000eb33e849a668eb846e633de8c3ef7", - "0x000000000000000000000000000000b16061fe1f37005f2658746a812d0922ee", - "0x00000000000000000000000000000000000bc3e34e7a27126e56f6880e8fdb2a", - "0x000000000000000000000000000000f9046eecab5d22a94bdba8bdcc200e7359", - "0x0000000000000000000000000000000000159cea12d20e5151f66543ba4e276a", - "0x00000000000000000000000000000099b00c8308afdd4a51a382c869ba066571", - "0x0000000000000000000000000000000000106ce80e328ee0ebc1d3118c2814e2", - "0x000000000000000000000000000000dd39b259d8eea23b786443041359973683", - "0x00000000000000000000000000000000001e366d962cff7f4c8649be2a39c03d", - "0x000000000000000000000000000000de8e3310803eb88c9ab1ddcea7a559d3f3", - "0x0000000000000000000000000000000000100bb6abd664c5819a12521c8f98e2", + "0x000000000000000000000000000000a7934b2b9007fc73b5301fe14536153e0d", + "0x0000000000000000000000000000000000255a3ea2da004b730dba5d69a35d62", + "0x0000000000000000000000000000004bb2ed0e75d9585318876e7476e2ef0a69", + "0x0000000000000000000000000000000000157d05f4cf65774388dddf0c57e12b", + "0x0000000000000000000000000000002b2d6438ead28edcda06bfcd9b4116d312", + "0x00000000000000000000000000000000000a660420052f503e460f469227462a", + "0x000000000000000000000000000000dba946353770b96414e3ba76a14756befb", + "0x000000000000000000000000000000000000568ab15f21ceaaa0ce739f786eb8", + "0x00000000000000000000000000000068979a86a135fcc17f2dc86d03e6aa9da9", + "0x000000000000000000000000000000000021b97f0d03d44857af01e4c15c8c5f", + "0x00000000000000000000000000000035115860c75b0d7e51b19815366957e963", + "0x0000000000000000000000000000000000293153d758291f748e0322fa608182", + "0x000000000000000000000000000000500a806a439f0a4db0f2137547ae0b8223", + "0x00000000000000000000000000000000000a091847d75d6f1a4c4df44243a54e", + "0x00000000000000000000000000000002f31499e724394f995e8527aaa8c5c184", + "0x0000000000000000000000000000000000294f49cd34ae5fa5c29d954a19e948", + "0x000000000000000000000000000000d75a8375e4e54e0cc87291f3af10e43154", + "0x00000000000000000000000000000000001743b9348d85ee3f754d318a0d7fe9", + "0x00000000000000000000000000000074e9f75380a4d6a69abe8f1f4dc6270600", + "0x00000000000000000000000000000000000d59019af03f67a4c9beb5adfa57b3", + "0x000000000000000000000000000000b9f213f9c725ab7611d1cf241fb572f15b", + "0x00000000000000000000000000000000002cd33ec26589f85ccd124b2865b758", + "0x0000000000000000000000000000009dd9cb4f0175a86778e730d4d3f7bdd328", + "0x0000000000000000000000000000000000205cc4d67a517e4850200caef81ce5", + "0x000000000000000000000000000000418a3e43049d5586374c932a8a3e1ab400", + "0x000000000000000000000000000000000024bc97011f8d1500b782d114cf6351", + "0x00000000000000000000000000000048811c9531b26930549b28236d74ee29dd", + "0x00000000000000000000000000000000001839225fb72cdfd3a8220739ba458b", + "0x000000000000000000000000000000a6a88ac9eadfc8fbb01c773c3e34f0e582", + "0x000000000000000000000000000000000019a8cb830df33a09feeffcb6133927", + "0x000000000000000000000000000000670d291c29fa7f6878dfbd3906eebc94e9", + "0x0000000000000000000000000000000000303d98e439ad6f6782cd578ff7d41f", + "0x000000000000000000000000000000635249b7e36a09d6459dcda88b7d64a3f5", + "0x000000000000000000000000000000000004d08d94b9d7ccd8c04c55f0a11f56", + "0x000000000000000000000000000000af21b9a21a0bae701ead2c5a9f9feb99c4", + "0x00000000000000000000000000000000002073c3c178d3e876c16c88bb1e1465", + "0x000000000000000000000000000000b1f3d965e4b848e6e77cc23bb7c7738468", + "0x00000000000000000000000000000000001da5761d67526ed108219621214866", + "0x0000000000000000000000000000005d567d940f7911d9164c005ba261a17b39", + "0x0000000000000000000000000000000000220305714b1d562074391644112051", "0x00000000000000000000000000000058b33d923ade8b5d0448419d48345e5f81", "0x000000000000000000000000000000000028ad3f8c8963eaa28db13b23cef532", "0x0000000000000000000000000000009ed57c51f54e285c34ed4967a9fedff9c0", @@ -126,41 +126,41 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000a28e59b687585f4a419e8d30d3acfb1280", - "0x000000000000000000000000000000000018ef07f15c792cb9ae88868d83d9a5", - "0x00000000000000000000000000000066c3de353604a822b01b76d7a9a1a7bcce", - "0x00000000000000000000000000000000002d08c50cf6263a7308d97e61d5ee3c", - "0x0000000000000000000000000000000f3c2e7a96b4a6469aca26167209285d9b", - "0x00000000000000000000000000000000002db8d548af3efd182047c9081ce287", - "0x0000000000000000000000000000002ed6223822b4602ad263892e0799b27eba", - "0x0000000000000000000000000000000000063d0df54d2aba02c2c82b4e6fe8bf", - "0x000000000000000000000000000000e55ba19751adfe6c36324d3fb6c2da0989", - "0x00000000000000000000000000000000001d58aa61c64ad522043d79c4802219", - "0x00000000000000000000000000000078f4b3bc61f19d6e7069359bbf47e7f907", - "0x00000000000000000000000000000000002d7c18a93c3dae58809faaeec6a86a" + "0x000000000000000000000000000000027f35e25e15a1154b04383cbed5a7d494", + "0x00000000000000000000000000000000001b2debe41e2f2f2dea46dcc69197e8", + "0x000000000000000000000000000000012b80f9893f05e089c4d785fb737f4924", + "0x000000000000000000000000000000000026336472cfab134e9992b76b49b6e7", + "0x0000000000000000000000000000006532a8ae000dc46f371c079db6c0e33951", + "0x000000000000000000000000000000000012529e4f5ae4a5862d514dcfb85dfb", + "0x000000000000000000000000000000d92742cabb425ed1bee1be1f7d2a12b3bb", + "0x00000000000000000000000000000000002cfbaf2e44239382803456ddeba4fb", + "0x000000000000000000000000000000b3c3cf6db5a5c37c73b4eaabc7c2bdb5d5", + "0x0000000000000000000000000000000000019aaa1db73a9843297ddd5305a039", + "0x000000000000000000000000000000f3287cee24421753c9bb15d7145031ca6d", + "0x000000000000000000000000000000000005892462ef48edfc14cca5c68eae6e" ] - hash = "0x268ad440c204a80b71ac2560474b99b9a1eb68a807d893ecf26dc4f8eceb8530" + hash = "0x0545969f768d9081cf66436e6dcf4392b355c65bc4f21eaa467ae10d482b93c5" [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000003" -include_by_timestamp = "0x00000000000000000000000000000000000000000000000000000000689daddf" +include_by_timestamp = "0x0000000000000000000000000000000000000000000000000000000068c146c0" is_private_only = true -claimed_first_nullifier = "0x0fd2b6ba90fd6367b6ebc931d38380db5e1a226c4ad139b41674a8122c052597" +claimed_first_nullifier = "0x15f21513991e2111dd0459a9a2f8dc8cf81837b2d1505eab6e0c7776027ec57e" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x1f8cde81e0c5165be68b2c47089d558a335abff180d3369d351ad6aac4e73ecd" - protocol_contract_tree_root = "0x18eb72d449788231796808c5a8c66b8611b36598807bc2b42c8f554d397b1052" + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" + protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" [previous_kernel_public_inputs.constants.historical_header] - total_fees = "0x000000000000000000000000000000000000000000000000000000005d04d366" - total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000e4bf" + total_fees = "0x000000000000000000000000000000000000000000000000000000004be1498e" + total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000deb3" [previous_kernel_public_inputs.constants.historical_header.last_archive] - root = "0x21d52ee9a007daa53df18b57a2b633858e5f4b487743f1f09272dc627fa0a06f" + root = "0x2ce60ce3930b66a957e90d8d7743f53439be6d5a2c628afea9e65431767102e3" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" [previous_kernel_public_inputs.constants.historical_header.content_commitment] - blobs_hash = "0x00c00dfa9c24c3a99d31f6b1e0f75320688d64e59d4aa3396e92d33813f09f82" + blobs_hash = "0x00540c19affa4d7213a3d9c9e95c740c76b231c1824412682c8eb340f5b299e5" in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -169,49 +169,49 @@ root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000060" [previous_kernel_public_inputs.constants.historical_header.state.partial.note_hash_tree] -root = "0x2f5f52c81e65232c969e7b748eb1b6dfc3f7eba9216029a55622a4105b31a995" +root = "0x21f127e5c363624de42112452ac39b9e7b0418940bcde9b7e8fb70339a54eda4" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" [previous_kernel_public_inputs.constants.historical_header.state.partial.nullifier_tree] -root = "0x17fee6f3e8648b9b76c999d96eab875fe3dea176f65a7b8a59b8d3af783e2284" +root = "0x2937efffa09c64dd72e8fbbb9d2b6fce80bf6859bee419d4089ea7baaeb03a57" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.historical_header.state.partial.public_data_tree] -root = "0x0d603a2c1490b47db2e8e450cd0d96db141ef47b0cb23b574dff666e2882344b" +root = "0x0f998cc8a87058c956ea3960d4d206c005c01b48c125cca9cdb2b528d5179411" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [previous_kernel_public_inputs.constants.historical_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000006" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000007" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c5c5f" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000008" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff540" [previous_kernel_public_inputs.constants.historical_header.global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [previous_kernel_public_inputs.constants.historical_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.historical_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000573a" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] -da_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" -l2_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000600000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [previous_kernel_public_inputs.constants.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" -l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000009c27" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000e10" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -222,11 +222,11 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.read_request] -value = "0x291e3111b8037e44591f690dd7bdecafc7586afacc362ec2cb6ec3fab62c723d" +value = "0x15389cb39ac4233cdff6ca291a663a27c40116891f5d21cbdd46d584613200b2" counter = "0x0000000000000000000000000000000000000000000000000000000000000002" [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] -inner = "0x08078dc9d3bb206b81bd7c186980fd81a2a1d95b3231f23768d4aa06302d0518" +inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.read_request] @@ -2734,7 +2734,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.end.nullifiers.array]] [previous_kernel_public_inputs.end.nullifiers.array.nullifier] -value = "0x0fd2b6ba90fd6367b6ebc931d38380db5e1a226c4ad139b41674a8122c052597" +value = "0x15f21513991e2111dd0459a9a2f8dc8cf81837b2d1505eab6e0c7776027ec57e" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4847,7 +4847,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.end.private_call_stack.array]] - args_hash = "0x04aedcdcc86fb988c6d9ef84e46108a26ea4b1944786498a1cb1eed96cc89f28" + args_hash = "0x217d88e9bcc7983cabaf21419e91c6562a5081f82ec06b93958c44b3ed4ff1f8" returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000003" end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000d" @@ -4856,10 +4856,10 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" is_static_call = false [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] - inner = "0x08078dc9d3bb206b81bd7c186980fd81a2a1d95b3231f23768d4aa06302d0518" + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] - inner = "0x2be76fc4d837d656fd7a48faa201468f5413ae40444e1c7256d3820f4f7e3cfe" + inner = "0x1b0bd8ae0ba4d899bdfd9cfb3298d9812ba3686d946c25a0b8cae81bf285bcb2" [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] inner = "0x00000000000000000000000000000000000000000000000000000000754fb767" @@ -5001,37 +5001,37 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x08078dc9d3bb206b81bd7c186980fd81a2a1d95b3231f23768d4aa06302d0518" + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" [private_call.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000012", "0x0000000000000000000000000000000000000000000000000000000000000010", "0x0000000000000000000000000000000000000000000000000000000000004269", - "0x0000000000000000000000000000000df916cf02277b94d524a7c48194a2ce9c", - "0x000000000000000000000000000000000007fd3e89fc0d93461844f7d45c95d9", - "0x000000000000000000000000000000b23c14e58fbfc38d82fc0519ad8c8894c6", - "0x00000000000000000000000000000000001ec75f40b6835e473458ed171129eb", - "0x0000000000000000000000000000001f5b38688338308945f2f8cd33409a99d4", - "0x0000000000000000000000000000000000216b8d143a9066fe92be61f2ffa8f9", - "0x0000000000000000000000000000001dbeb34e294f3e3ad4a62529b139991eb4", - "0x00000000000000000000000000000000001ea2de0ce43fc890285227eb590f8e", - "0x00000000000000000000000000000071d3da1de3ce7bf7c0c06d7d1f965fd298", - "0x000000000000000000000000000000000006b5352c96753f641e8f3cc237c1cb", - "0x000000000000000000000000000000e1e568f10c30b981bc2521f835bf55bd6d", - "0x0000000000000000000000000000000000190f397aacad4b3dde0980115658c3", - "0x00000000000000000000000000000059fb4d8f0fb9bf8ef851bd0cae9795c81a", - "0x00000000000000000000000000000000001e4834d282ca695fa0dbebf60f349f", - "0x0000000000000000000000000000005a4668a5e1bbb460869625e220e3041575", - "0x000000000000000000000000000000000006cc0d9201ace9620360c3e205162d", - "0x000000000000000000000000000000fbd06258d72abd1c75b022bc6c7a57b0ad", - "0x0000000000000000000000000000000000026a5ca75e9c824f254a257140980d", - "0x000000000000000000000000000000f463ff3f47ccb17ce884a6ed5d9df4f1cd", - "0x000000000000000000000000000000000008eb70a9a00b453f95f47ef82e2c82", - "0x0000000000000000000000000000007d2c7e4f0362b2d9c1d5d28101b1862df4", - "0x0000000000000000000000000000000000257ee00adeffac7ec6e2c281ec5311", - "0x0000000000000000000000000000006048d8b95271da6c73a52fb990c46438df", - "0x00000000000000000000000000000000000a6f108d7dbaa735cb11bd1c42e326", + "0x0000000000000000000000000000007ac6883f74814aacf085a3523c7ab31006", + "0x0000000000000000000000000000000000082a5d2d7fdbf8830ac5cb3d274c93", + "0x00000000000000000000000000000076b020b18c45b2b38ec8a014072dd674a8", + "0x00000000000000000000000000000000002cbbc112c91a7f27f88b87b52dfd08", + "0x000000000000000000000000000000939cbc7a847498540ec2b7d27268307ea0", + "0x0000000000000000000000000000000000091ff845502dabdfbfe3dd05e8e83f", + "0x000000000000000000000000000000a67c5c407582059f1ddf60b86f01822f48", + "0x0000000000000000000000000000000000165508cb8e68be35b0b2645f2abf1a", + "0x000000000000000000000000000000478f0778a7a510739777a6430aa3553bf2", + "0x000000000000000000000000000000000026237b54a77cdbc86c54c5761b6a8c", + "0x00000000000000000000000000000002e04fe64beae081e7cce3d5ed92146f7a", + "0x00000000000000000000000000000000000bd17c7243ace3cc49c4dd87590b20", + "0x0000000000000000000000000000003da7892770e9a27f746f0be74724edf20f", + "0x00000000000000000000000000000000002466ead228e1e5a9b7c554b669bdfb", + "0x000000000000000000000000000000acf83e5556a2dab4f7909dd20e51babeca", + "0x00000000000000000000000000000000000d2b9690db3440e829e0099ba1191a", + "0x000000000000000000000000000000cd3ff3ea9a603cbb20a4f80a96fa304faf", + "0x0000000000000000000000000000000000270e34d02e7174f27ec60be19ceeb7", + "0x00000000000000000000000000000090d9da7f7d916d552362ad899a0df5d71b", + "0x00000000000000000000000000000000001cdc389c6823f04741cfc8214918c2", + "0x000000000000000000000000000000d66a0a959f2632c163113583d0202a9313", + "0x000000000000000000000000000000000013651f5e824172b0c6c437032b71c9", + "0x000000000000000000000000000000bde33add3fbbb982e1b13df2d05eeaa778", + "0x00000000000000000000000000000000002a7b3d588c0dffc576310286c49534", "0x0000000000000000000000000000009a0c2af757f4f521495628327a37850af4", "0x000000000000000000000000000000000008b154a27fc0c2eb174b957d5ce2bb", "0x000000000000000000000000000000ed10a7b6d3c020d62a923b5bd396191d13", @@ -5040,10 +5040,10 @@ key = [ "0x00000000000000000000000000000000001f94c000fd5cc224bfd3e729502c38", "0x0000000000000000000000000000007f66df3b2e16c7dd16920e82a7769cc591", "0x00000000000000000000000000000000000851586e2a40e049ae6862f6f5849a", - "0x000000000000000000000000000000bad5e2eacd9c8726e7b777444d6fcdb352", - "0x0000000000000000000000000000000000081740969db5c7bd8be23324ec1823", - "0x0000000000000000000000000000001f924c8af0232d985ad625b06dd6a7ef8d", - "0x00000000000000000000000000000000000269f8569536135a23a4b4bda0b15c", + "0x00000000000000000000000000000013162aeedf9910233bbc5c10bf732ad7cf", + "0x00000000000000000000000000000000001f756c481abd56706ae68e8c8ec013", + "0x0000000000000000000000000000008410653d4be0de0252279e98ecba55089f", + "0x000000000000000000000000000000000016d6797f403dd3659f0d3b870ad401", "0x0000000000000000000000000000000b7363d4a248125a0a7008b27ac8f68d2c", "0x00000000000000000000000000000000002852eb57f8b829c26db925ca6fcee6", "0x000000000000000000000000000000bb4f2f3ea2b474e3a3139d5f2ba6d09d87", @@ -5068,38 +5068,38 @@ key = [ "0x000000000000000000000000000000000013bd523d7c2c9679e53e29500c6a23", "0x000000000000000000000000000000eb12dd562fec96622ec4f030f5f77c3d0f", "0x000000000000000000000000000000000029be26f5347b414978938e36bb0870", - "0x0000000000000000000000000000005008798ab056b3b2b8cce24cb6d28a3842", - "0x000000000000000000000000000000000008a978daca045338a6440ec9320fe6", - "0x000000000000000000000000000000dde9be9cedf1d4e998d0ae52d73601093a", - "0x0000000000000000000000000000000000065b9ed1ab40656bc23419aad4d817", - "0x000000000000000000000000000000b09f107ce54fb20a52d8aa80b36e12e704", - "0x00000000000000000000000000000000000dd8104862c3b7c937cd5b80ceab9c", - "0x000000000000000000000000000000dbc63cb0f9aa30980aaa583c09d33c1273", - "0x000000000000000000000000000000000020c80436748c856072808f7f54fe52", - "0x00000000000000000000000000000081e49ec84b5be170e7675bb1c138b28a32", - "0x00000000000000000000000000000000001b55d9e400fceb05547ec3046ebd4e", - "0x00000000000000000000000000000090dcd9fb279f71c0d765d6b45ab5a8d18c", - "0x00000000000000000000000000000000001f547baad8a4d46937feb5ebd822b2", - "0x000000000000000000000000000000af5c2661e93c458026f12887a1dca9f465", - "0x00000000000000000000000000000000002184dac23759d065a735411ee1b12e", - "0x0000000000000000000000000000008f52814beb83d30c1e56f1c7c29b56f480", - "0x00000000000000000000000000000000000ddf992cde4aa3f13c96308bbb4d06", - "0x0000000000000000000000000000003027273fb75387c8bf60e9de67a9214e95", - "0x00000000000000000000000000000000001fbe83e99447767c7d66b0e9496d42", - "0x000000000000000000000000000000bbf6e6743c0854e1b39d8c8b41c899c78c", - "0x000000000000000000000000000000000002a818ce1fe35765fcac167da609ef", - "0x000000000000000000000000000000246ae26c977408e56da78099f253698f44", - "0x0000000000000000000000000000000000114713c652b9a509bbe66956506fa4", - "0x0000000000000000000000000000003b5e3de93351dc5fcc745e92ab0617cdd9", - "0x00000000000000000000000000000000001a3471a27fe8ef47ccc1bdc5a89ad9", - "0x000000000000000000000000000000d63654f8640052101916086a2faf8783d4", - "0x00000000000000000000000000000000000c0dbba9e817b95436573db9cae853", - "0x00000000000000000000000000000004a59b87599813dc6fd8cdfffe233b4b02", - "0x000000000000000000000000000000000029cc90e3fe219d81731811ffa78f88", - "0x0000000000000000000000000000003b387ddb721e0a2921b419eb2accae033d", - "0x00000000000000000000000000000000001cee3cefade85363c02f4dbb6e55e8", - "0x0000000000000000000000000000000b2c1ec27dae932fe6f521ccda315814f2", - "0x00000000000000000000000000000000002d65515229a55fff49596d28234fcc", + "0x000000000000000000000000000000d363f13b5cdaa07b564bb9ba2a73e30010", + "0x00000000000000000000000000000000001fa881b890a0e34985aee0b4955680", + "0x000000000000000000000000000000c530fa754ba212e8c608c44c89b7d1f1f4", + "0x00000000000000000000000000000000002008542d91973b1d5be86befc5b014", + "0x0000000000000000000000000000004d2942a8e8c6194f4195c908873454bbae", + "0x000000000000000000000000000000000022103da748fd2c92007ee25b1b3b99", + "0x0000000000000000000000000000003f96c814a56d272b122f01a1053edb3d63", + "0x00000000000000000000000000000000000e38ab7236477f208012f117482619", + "0x000000000000000000000000000000a0ad5032b335b25f7f2ee52e4902351fb3", + "0x00000000000000000000000000000000001948fa46cf01e379870f87572d67f9", + "0x000000000000000000000000000000b98dc6faaaf919f6c8df29fd8985373629", + "0x000000000000000000000000000000000017dc186c0ea6491b0c52e03243b5df", + "0x0000000000000000000000000000007b007051449f301997570f7fc02a349803", + "0x00000000000000000000000000000000000cbcd773bca4b058bd911d3f8e52f0", + "0x00000000000000000000000000000065736bae360ab4b7ec76c34d98eaf575a1", + "0x000000000000000000000000000000000009f410ada608214db00e0db29612db", + "0x000000000000000000000000000000917c4d09537720128c28b9848671b38140", + "0x00000000000000000000000000000000002c712b1a859e9735e5ddb22d8ad375", + "0x00000000000000000000000000000053538a061383e2c3d48a43e8bf1265681d", + "0x0000000000000000000000000000000000254d0686a7b2566f536dbb7e8c6034", + "0x00000000000000000000000000000095eb72c7c15e9978f22f55a67c2d3b24c1", + "0x0000000000000000000000000000000000271eee8e25e54c86b26641db107796", + "0x000000000000000000000000000000ef4f56a7bf5ee623a3e4ddab2480938773", + "0x00000000000000000000000000000000001b5b6b14788b3ebc2725dbdb9f6c46", + "0x0000000000000000000000000000004bdf0710e92c7c1b957823daba4ef1ebb6", + "0x00000000000000000000000000000000002415be60dbc22e2348aea1d3ecb6d7", + "0x0000000000000000000000000000001e321dbbe462262b78693a830830f3a01b", + "0x0000000000000000000000000000000000045f5f963754c25d4f1a3fa240159b", + "0x00000000000000000000000000000052647ecaadd66c34e16939e21750b113bc", + "0x000000000000000000000000000000000029354e9570c50f4572daa51f05f04f", + "0x0000000000000000000000000000008222335d04a276314da40f8317d435f1e5", + "0x00000000000000000000000000000000001979083fb206f0473c76794c947878", "0x00000000000000000000000000000058b33d923ade8b5d0448419d48345e5f81", "0x000000000000000000000000000000000028ad3f8c8963eaa28db13b23cef532", "0x0000000000000000000000000000009ed57c51f54e285c34ed4967a9fedff9c0", @@ -5128,16 +5128,16 @@ key = [ "0x000000000000000000000000000000000000c43726f75b6fda0de22ce0e0dfab", "0x0000000000000000000000000000001d0a09d7178ec93bad7858f96e64f0b48d", "0x00000000000000000000000000000000002f9b6e0b4e2c01968de5c32482aa7d", - "0x000000000000000000000000000000e55ba19751adfe6c36324d3fb6c2da0989", - "0x00000000000000000000000000000000001d58aa61c64ad522043d79c4802219", - "0x00000000000000000000000000000078f4b3bc61f19d6e7069359bbf47e7f907", - "0x00000000000000000000000000000000002d7c18a93c3dae58809faaeec6a86a" + "0x000000000000000000000000000000b3c3cf6db5a5c37c73b4eaabc7c2bdb5d5", + "0x0000000000000000000000000000000000019aaa1db73a9843297ddd5305a039", + "0x000000000000000000000000000000f3287cee24421753c9bb15d7145031ca6d", + "0x000000000000000000000000000000000005892462ef48edfc14cca5c68eae6e" ] -hash = "0x0fea1a8791ba7aa20b4d9ab2c13dfe511aa52adeb038c8361e3c76d5594505b4" +hash = "0x161d122cf3db7dd1db0a7bb2c00da6462318e805ff98c9f82d84aec97b20769f" [private_call.verification_key_hints] -contract_class_artifact_hash = "0x06526d7894a57b0cbe15efb0e6eb55443981e9890aa78ff073b2723e21f8ed61" -contract_class_public_bytecode_commitment = "0x07b23bd167e7d042054c58aa640f7a58d1e7e507d364f6f97429279a8f271867" +contract_class_artifact_hash = "0x2c48d67cff78e81e8ae9acd3f441c068c0ae607d113b615589040e7ea3479c28" +contract_class_public_bytecode_commitment = "0x302630cf5b8b12fc037f21b84e168b013463e8488253c66cdeda966ee4097b83" updated_class_id_delayed_public_mutable_values = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5147,10 +5147,10 @@ updated_class_id_delayed_public_mutable_values = [ [private_call.verification_key_hints.function_leaf_membership_witness] leaf_index = "3" sibling_path = [ - "0x12341e6c4ed267874c3ef2aa84bd1a64acb09c77027e5da4fb8deb7b552e2cd9", - "0x075dd8ff6fc98d204c7c4683bfb91ce2147c5642882c84dda6d947e742fcad21", - "0x12c346b8876fb9038b84b24eb4e0d14d5f031c81ced958100a113f9b821d3671", - "0x1324db1b1db805907073500a99b2f4c477e8f6ddabec4f232d0d51d4d1dbea0a", + "0x214dc65288606fb79a7aa30eb7820db26a621515d531da54de20c378cb5ad767", + "0x0bd076e1f9a1a270b894f30ac476c3c5e69333ff71927aabb5fb05f0d6bcfd78", + "0x1de701135466892f0f0ce7ea7c7f213cf732f47939da5ad1689e3aa7252c17d5", + "0x082665c93bdf6fd264566a7bc781cf4ca453a9c02aca06b76c6aba0bb190b765", "0x2a6595890719fef7967c209488728aa5342438ba52058a3c770202f55acf6854" ] @@ -5175,31 +5175,31 @@ y = "0x2039907fe37f08d10739255141bb066c506a12f7d1e8dfec21abc58494705b6f" is_infinite = false [private_call.verification_key_hints.salted_initialization_hash] - inner = "0x2e3b4177780392e3b3a610b0e92bec7692bc991e2fd5e06436d1de12434e503c" + inner = "0x11b45bf4733f96732d13738120ab8a8fe5dbc66a8f25f48c78bc21a64e579b39" [private_call.verification_key_hints.protocol_contract_membership_witness] leaf_index = "6" sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x08bc0e906783393a6e354e2bfa38af9193434faace815fcd04e6059e3b8c82df", - "0x22c36ee91f96553ed6720933a66adac43f3b6dc1e39d187a624a8254d1baa6ee" + "0x1bc929a06c95122bf3f082ed756f717486151e8679afbd0e596dd9189fe9301a", + "0x0a85b3cca865f9521d26b0e7a031ca200341fb2ea86c22c844152ca827470274" ] [private_call.verification_key_hints.protocol_contract_leaf] - address = "0x2a5ec00df75df3b7ad81f517d58a80f2bbb4c86d54d7bcee6d47ef4014587372" - next_address = "0x0000000000000000000000000000000000000000000000000000000000000000" + address = "0x180b58198cce7c0866a828841df6eca6369a71a6e884ca5cf08938301d7ad0ca" + next_address = "0x1bd2e13b35e2745e638132262e6642a86ac4219f1b7a95086bebe250f5d557ea" [private_call.verification_key_hints.updated_class_id_witness] - leaf_index = "125" + leaf_index = "137" sibling_path = [ - "0x2bd5cf58e631a54d140b5991435b026dc2ea0a58ec3643f7d8c3e8ac0642052c", - "0x282cbd1dc034f5a8d0d2f60508b470c0e25be94278496a62bfa1a9a12e7dd1c9", - "0x207b1eb977ef318749d5be7d1e8f952b4c691e013b614390fa1e589e814648ff", - "0x12d12808c92ff0ee702cbe941afb3877f8e526882be90c5146752a1006f03e64", - "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", - "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", - "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", - "0x2f37e6abaab9843ec050a4ec41d11b4707fcd86aa5211799f396fd87a04ae97e", + "0x2c3c183ca7aa5b9d44aa3a34d32272176d66c9a7aecba1c8077445bf70b67866", + "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", + "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", + "0x1d3e19d527499d3fbb2acc29e2328965e8ac2da8188a2fdb2e1c0eebb45c66ef", + "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", + "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", + "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", + "0x02857581eb224756287605f843eef503c0cc21b7f5e79e48f65d93b9285941a5", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -5235,28 +5235,28 @@ is_infinite = false ] [private_call.verification_key_hints.updated_class_id_leaf] - slot = "0x265239490b7596bfe5af640a0c95f35abb018de616b01d39790251f66698e2af" - value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" - next_slot = "0x274b76afa922d6e0ab9db968b002b6b0c1f3785beb056c736c425501115ff52d" - next_index = "0x000000000000000000000000000000000000000000000000000000000000007e" + slot = "0x1f7adda1d741e186cf8c17ecb41003222c86f551485f8a5ad208f4999b9f7af2" + value = "0x0000000000000000000000000000000000000000000000000000000000004e20" + next_slot = "0x2635f4d282c3de729fed05cbcf1a5da1073a14718a0ad938e1a90fb29976a8e1" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000088" [app_public_inputs] -args_hash = "0x04aedcdcc86fb988c6d9ef84e46108a26ea4b1944786498a1cb1eed96cc89f28" +args_hash = "0x217d88e9bcc7983cabaf21419e91c6562a5081f82ec06b93958c44b3ed4ff1f8" returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000003" end_side_effect_counter = "0x000000000000000000000000000000000000000000000000000000000000000d" min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" is_fee_payer = false -include_by_timestamp = "0x00000000000000000000000000000000000000000000000000000000689daddf" +include_by_timestamp = "0x0000000000000000000000000000000000000000000000000000000068c146c0" [app_public_inputs.call_context] is_static_call = false [app_public_inputs.call_context.msg_sender] - inner = "0x08078dc9d3bb206b81bd7c186980fd81a2a1d95b3231f23768d4aa06302d0518" + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" [app_public_inputs.call_context.contract_address] - inner = "0x2be76fc4d837d656fd7a48faa201468f5413ae40444e1c7256d3820f4f7e3cfe" + inner = "0x1b0bd8ae0ba4d899bdfd9cfb3298d9812ba3686d946c25a0b8cae81bf285bcb2" [app_public_inputs.call_context.function_selector] inner = "0x00000000000000000000000000000000000000000000000000000000754fb767" @@ -5265,7 +5265,7 @@ include_by_timestamp = "0x000000000000000000000000000000000000000000000000000000 length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[app_public_inputs.note_hash_read_requests.array]] - value = "0x07f6129c966abe2b6fa8c3bb8bb01d9c238ff2d811dee3f1c01188f1da38f106" + value = "0x2cc8200ff23b82c5c0ed3ff13077cc7f1ed0184efd92a21e6c9669d0aa41aeaf" counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [[app_public_inputs.note_hash_read_requests.array]] @@ -5332,7 +5332,7 @@ include_by_timestamp = "0x000000000000000000000000000000000000000000000000000000 length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[app_public_inputs.nullifier_read_requests.array]] - value = "0x2be76fc4d837d656fd7a48faa201468f5413ae40444e1c7256d3820f4f7e3cfe" + value = "0x1b0bd8ae0ba4d899bdfd9cfb3298d9812ba3686d946c25a0b8cae81bf285bcb2" counter = "0x0000000000000000000000000000000000000000000000000000000000000004" [[app_public_inputs.nullifier_read_requests.array]] @@ -5402,11 +5402,11 @@ include_by_timestamp = "0x000000000000000000000000000000000000000000000000000000 sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000030" [app_public_inputs.key_validation_requests_and_generators.array.request] - sk_app = "0x16c52b5fcbcd8b9451e37b4b4d3e3b353b8c71b2980fa4c06aa16e75f6bd83fe" + sk_app = "0x24fbf7dc6ce48f30e6bed1069f846dc7f35314d70ec453ae844c0859b14c9e01" [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] - x = "0x1acda8e75e1eb9662c04b751f41c7dbae55682db7523abc4ad1c5fba309b0320" - y = "0x03ebaa9feffa1c45b38bc2dc9086b3bbfc88bdad5f98c463a0de24f4ad11b951" + x = "0x1481282be07dbdd44d9bbda8b8a71946a96a09675b3ee31392a4f01a7dc1b4ea" + y = "0x01d2caa69da2b2d31ec3143d4558e7e7cbc48c2e5a9cea50629539592ac35f39" is_infinite = false [[app_public_inputs.key_validation_requests_and_generators.array]] @@ -5578,11 +5578,11 @@ include_by_timestamp = "0x000000000000000000000000000000000000000000000000000000 length = "0x0000000000000000000000000000000000000000000000000000000000000002" [[app_public_inputs.note_hashes.array]] - value = "0x288dff8b9c4ca64f6630318394a501c44de8ae3457b9da715a3e3b3ec29ce249" + value = "0x20b1b447f27eefc91bbfe2a9c33eb67e22a97b920026d7a23ce16ea5d58cfc68" counter = "0x0000000000000000000000000000000000000000000000000000000000000007" [[app_public_inputs.note_hashes.array]] - value = "0x11a24544b6c961733b642d726010789aa5baa2a709951823beecf2e089778eca" + value = "0x226e0cd5a12b727f48c2c1c9c840cbc5f098d7e2f7d37d4ecfed1befd917b3e9" counter = "0x0000000000000000000000000000000000000000000000000000000000000009" [[app_public_inputs.note_hashes.array]] @@ -5645,12 +5645,12 @@ include_by_timestamp = "0x000000000000000000000000000000000000000000000000000000 length = "0x0000000000000000000000000000000000000000000000000000000000000002" [[app_public_inputs.nullifiers.array]] - value = "0x0e64b582b2169b2f05920e94d6afb17c2517982b85fe8d17824c63f1e4999984" + value = "0x0a74fd1cd94db2d1dbbf1e550d439c9c6907f383ba7010bdda4cb7f2eb98f275" counter = "0x0000000000000000000000000000000000000000000000000000000000000006" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.nullifiers.array]] - value = "0x0b528c26c2e18814e4d210c2081513a404e315ec200b3aa7c0f1f46b4c3bfdc6" + value = "0x0ebf531a3098478d6171fa8206bbf4de297333a5ad74cac5d11c031e9d3a8bfa" counter = "0x000000000000000000000000000000000000000000000000000000000000000b" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6068,24 +6068,24 @@ include_by_timestamp = "0x000000000000000000000000000000000000000000000000000000 [app_public_inputs.private_logs.array.log] fields = [ - "0x07abd085a9d4697bcc18f49bd70790f6c982a5a7854de46b0e09bbfa8fefa4e4", - "0x0d28b13c1c497c262e413909d3e62f394a0e1222698ce0164b75f22b017a5a0c", - "0x0001de166053ee5823fdb2006adb7e96094066e00b55e4e1d100861645f1c0ee", - "0x00f6692bc6b1aa80a3ff26bfa64144b2bbaef2f46593885536cad98aecf82c03", - "0x006036cbc8119d8e42d5ac9f12222334f287c7021d463e01e55bd1208564f802", - "0x0037b19f355527d174c5b0fc2c250c85c93a6961767ae4a45c263c93a3ecb818", - "0x0099dddf770a43f3623139eafeab2df2f01e6b7b6f4bc8cac12dd57cf0fda538", - "0x0051251d7362df4479d293eafba749119b31ac99244ed6ac772720daf6455d5e", - "0x00d542bb5f74bb6202d88d6d96d0060c2c61878beff9edb400058504abd3cb63", - "0x00fc5517a0791f35411e857780291801ff1fa0e3ad172a081d5f626b91330288", - "0x00ffeb17d098cb7be963ac708a5d22704072ab13427f17fcb6fdf7d8b184b64e", - "0x004f54d3dfe1bf7d69f07ad37fbc8a31efc826ac1ed9157d3e5f58f4751822d9", - "0x0040299192075939a25e1186455194c56db2da5b8e7f5e5faeccfabffcfa1b3a", - "0x0045f49977cbe5bd02688187bf83f0a102be088cdbf50e312e30b37ab8578e6d", - "0x007f86904bc5bfa04bac403e7d686f2f0fc618d1eccb7532badbffac2a0883a0", - "0x0030c21205133f1665048884eb4e540618f6246f9ca9785d2425fd7ec0b1e0fa", - "0x0076835ca6d0fa57f800c5cf121c1752b275e9c976dec8610fa2b698b480a849", - "0x00a8deb2b7d0a565226e6d241d64ef46d49f37f8c34828df5bf89b3f2a124ab2" + "0x211c6bf76cf64431a94b7878855a5f4349ba95f11fc91808b91974e96a07d5f8", + "0x1e0e74b782af7824e19291c66d1133e4b25c43a56300fe24543b8aa96708b21f", + "0x000128da5028452107525fcbf2a5a8a1a78e49145e819e755f7ec16f4289da30", + "0x008deeb42f621316f20aa4f124a4e4c5bd2ae1fb3aa7570a86e96a84337f0f97", + "0x00d11dd9fda795364530d347c442c42f3f2809795c3ee47a8a6f4cb7d8cadda1", + "0x000b86821b7b86d03c1b51290b0dc369ebbf976ee5ea709ec870abce7b1d5881", + "0x003ff13f3d845504d9a94b449ffb8abca84ef213ccb292f9590e9d1b05aca970", + "0x003f65e3a3179145e7426d2d9c96fa5b3c167f717ed900adae7f1a555f25bc15", + "0x00b755884f6862e14eb147ea5e510ab245bf48f394e48ab97a6ced0ed72e1a6b", + "0x00ec465c2b4620831980e86738312bb964bfe8f96bb454289f9bee6f382b9f7e", + "0x00b276c8b5e66a0938d7e053aaccf460dcb0769b1054b83c1d8e3c08a919ec3c", + "0x00857434a6e2e7bd98deff33e2fd7ea35b2d654b25a5a53b462aa954bcde70d8", + "0x00e46b186e2d4289e6fae97f378397486204539ae14b379a118cfe8a77dbdb68", + "0x0025d2fe5517145edc666e957187791eb9fcfb460ad2043a85d6e1510bdfa99b", + "0x0018827172865ab166baea28525b337c5bc795148b937a30c4031fc9efcbff78", + "0x000eedc79aada69666c772d0e2d4f60246972f331437a33f2975eb07793973eb", + "0x00c1aa61bf2ca040bf6e5541b2a95d39efb7604d9733a768d1ea3510023f9ccc", + "0x00eca3eb27f77cfb2d24196b55bdbd4b1d0b34389971946ff401d13445bf8147" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -6095,24 +6095,24 @@ include_by_timestamp = "0x000000000000000000000000000000000000000000000000000000 [app_public_inputs.private_logs.array.log] fields = [ - "0x2c593cc172e511ec3229d67223b53ab49f8ea4cc9c8466ba3b4cde8869ec4205", - "0x01a17a2710a5a9cd76e5d65f99cd7016924dfc595f613dade2b2475d33dec437", - "0x00007be618d9a03419e48231451308067f2b474d6094cf0b00a7d8d20c1b5431", - "0x004b297ec28a532eb74d22f2387fb2bc9eb97cf67491df69d8de55d72f31bb41", - "0x00c48e063f0533ab90fbd4fe755afed6fccdd9bc4fa1b82a548dfbf478541372", - "0x00dc2d2609971a8c5afe68d37d6600fd12e9a6252f40b76f8aaa32beef216a80", - "0x00b52d8b8fe149f1b13cec2644a67700bb0fd4091db824b04f8f101eb07a5a26", - "0x0094455696fce19277bb0e7e16bbc8bd3b0a9c4bc9f53a097ea6e063d1bedb3b", - "0x006473ed63828060be21f1e8ca316657dbbb29ae3ef8972efdf0f84044e1a5da", - "0x00d75a02ce8604a8ca6fd466e9211deed32b8029edec2969074d5cba04173835", - "0x00634e0513e4928d0f9d0d3f74a130dda4968f27add1726490f5d1c8630b3965", - "0x00d1d6aad09a6bc12a24b901653f7b20dcca5dfa2f87db3080c0c4bec6e30e5d", - "0x00a9f86afb99095050b39671126f55aa3e785941ed3f98658d56db7e8defe44c", - "0x00057476e4dd723a3a02d71d5ca29133f3134b580859ac3d49a4291a4045d572", - "0x005b35e0d6819c1551b3ee0a96c943236a33eea000599b7f61557ec217fc78cc", - "0x003321a33517ad61deb49b584b7608ac7c215834dd2e08b2ae2ca47e834122d9", - "0x00a576b0a132ccaa046d44be943aa904e22950d4c56c3d12d8cf262fe3554c9f", - "0x0028b491c163351a1f2e4e615e3d388c10a39f3e569a9290699342638c25be67" + "0x18ffde70bee3174584c856a1f602e6173ff9776fb1e9bf5b00c25538677e12d8", + "0x194c262e6ca47fdbe0bd90c27a6bdd9a9d7580e16861ae895cb744362ae9c9d8", + "0x000040926a72e6fd3d33941182c0fc7f812a4cd9e7a21d3ccd187709e0a198f6", + "0x0084ee106646409e2e888ff9468a0e35f4d9d3d1c43cc174fa184c48fe4bbefa", + "0x00fb529e728ebe546cc2d9a5c09359bdd7b43a7ac34c7d364b9afb6c063fdd39", + "0x00286df0c76aa376c202b58cdada712e0b6676a57bef842faccb5988a24e6358", + "0x00844f84012908403c1e61939df16f2c3c5205f836ec6c86e1789a9e7fcdfacf", + "0x001ad483db0d4637bfb9034f7aa94d9ceb27d76ad13ad7c5ab4c114a76ebe937", + "0x00fa493b91d855ceaf8e01dfe971e0a49d86be81377664566626c159579ac028", + "0x00670db3fa0b0bd20f961866664978f7acec489b3f78561909877cf615b44554", + "0x00cb6184314fd2a1a7fddf35ea2df32e79c5ac4d75f809fb7857fda73cc6bfab", + "0x008417697abc8e33e848fccf965559485f09909bd7b5aae9cbadd25e2db12840", + "0x00c770aac3c6d28913b4881e6df86452c36564e1ad95a01cf0b7a7c009c2d85f", + "0x00c601e996d0468243ec608288377185555a638ef1f776138c7d63564acb30c5", + "0x00a06a4a0433cb0a27c8217bae3050e14cf1e53f6042c0997b1ff76ff1fb07ba", + "0x00d1c3b5d297df808526c9427e6793613543be2218e16ceb7ec1299f2c252045", + "0x007d7536bf93c15ba2f8cb9eb6e8f82d3faea6478387488b661ba0baa27d20fe", + "0x00db6c89e99bb021cf47ce11e713d49edb80f87391ae96c87995cdcf1a282b4e" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -6122,24 +6122,24 @@ include_by_timestamp = "0x000000000000000000000000000000000000000000000000000000 [app_public_inputs.private_logs.array.log] fields = [ - "0x2d4e6ea201f3dbe64a0c4d86f1df08aa31398a802ca29180caf403a08918f908", - "0x0457da091f41fa57e41e07be02bfbf8e587968549467bca3c6b34c3b9bf512b0", - "0x000089ddcf8873b012d20be5c8db08f68fdc7e4d65b65084fdb39d25bae226bd", - "0x00d5c06b9ba26a5c7d4d011b1aa6f666de216b4676e750baf08b61f928e03edb", - "0x0043d5396de14739ce88ec4fd001baf93f505cb8db19d959d9c4cdaee6ed18f9", - "0x00b758fe60ea70c137dff18a11bb4fb0e7cb3b41e09a187f61ac915fed53a624", - "0x0000ae64a0a9f0b66de2408e295c28de3f703c6c044224912f632b520cf6725b", - "0x00b03a329a19d8985cc534c902482ca3494c763820fa758ccc25193f3d03f60d", - "0x005c31a0cf30135231e872ab28e7d7afbab0ec1eedec5f7d4101ef82b1d06519", - "0x00eae01c5425ab3b0be5e5536ab29d754c6d3f16e5a376f6fd5c83b5a3965c80", - "0x00b2309d5c0e7d1a0427d38c306c17c6e5047947b7326073219ab36ec4bfa563", - "0x001c703de0ee61ce351fc65580e896cdf5b0d247547c10f91908c0a9ce0d7e9f", - "0x009fac1c93c9c321657b39c8c3bf18a6d06677ada71836e1aee4ff65243295b4", - "0x00843b70e7701f0765c8e6fa094cb1650dfe19be8404c492b4173e7c5facb7f1", - "0x005b401995694cc8baba28eebd2dbbaf6ebb2537c75b3c297f10faaf1520d0e1", - "0x00fbe1355f799e2a4924143548c3cf3cdc83faddee8318fa4a6d9a152e4f6e18", - "0x00d537ffd93831c4443ee8581751152d2b957130d4ede5d0a32252460e8fa2fd", - "0x0080c991e77098ae849a0151558403b2baca38b3a5f129694b2b0ca1d390620b" + "0x01fedb70e0f368af0f4f626fdb39485e918ce29177facc7216fdeaf47321cd60", + "0x2c096d11874bf4606a96790d12d1dc9bb9b2ecbf372263077f296302e9ee6509", + "0x000192d0f6a7b6232722168d53e9658118105b8ede76a6cdcdf778d90f7d55bd", + "0x0070d051a7e20edccc99e55bc850ea1c62fc02bf3f338911681a5f7bdefd3c41", + "0x0027469cbc77b350f2b7cb55f523d21e351f5720ee3fe97a3bee3c80102d1e78", + "0x00d84303ffeea7794d017048add671143949c6ac40f4141ffa17f7cdbea56f8f", + "0x0094f44c6c6f3e2a30fe0fe1de6ed3c1511b872d64856d405fae6826a6e584d5", + "0x00fd7a0585d1c8ac8c693173f23570fa738f01902e5e3a75dad77766a196690f", + "0x00bf5889f2af0e8d9ac455cfd9df4f76e4c418632269a8801bee8db9fdb2c0be", + "0x007938940eb6bee4c9a6d9154a2c750bd82de3cb6ea8bc14b08ac406d0458458", + "0x00d084091b1db893c8040c96428af39f332453148780f62c13548d449489e3cb", + "0x004e9af25804bbf34a5c443d285d48a9eb6ad58cc43b95993a61e86d4e96bb07", + "0x00145377037254b6a9f5c65c69c91d6f810f8d9caee125fd053296247556faaf", + "0x0077faa72409206dd3efc65177f8c115b93f1ba8eda67d20d66852f463c34d3c", + "0x004fa788e774330b0f27b410665e8c4881572582e8ab789e942aa629d5710b98", + "0x00c041a9facbbd3e414f47c2904625f1edc2478834776742318f6e0ae2a7de66", + "0x00f3f2d9e61e55d86c7993b4ef72fc70957df7b8b403efcc8ed6887b364f2d88", + "0x00df62d18d520c5f4b05282de5f0a8948fa15640b96752fe0a0c7b06715177d3" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -6505,15 +6505,15 @@ include_by_timestamp = "0x000000000000000000000000000000000000000000000000000000 length = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.historical_header] - total_fees = "0x000000000000000000000000000000000000000000000000000000005d04d366" - total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000e4bf" + total_fees = "0x000000000000000000000000000000000000000000000000000000004be1498e" + total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000deb3" [app_public_inputs.historical_header.last_archive] - root = "0x21d52ee9a007daa53df18b57a2b633858e5f4b487743f1f09272dc627fa0a06f" + root = "0x2ce60ce3930b66a957e90d8d7743f53439be6d5a2c628afea9e65431767102e3" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" [app_public_inputs.historical_header.content_commitment] - blobs_hash = "0x00c00dfa9c24c3a99d31f6b1e0f75320688d64e59d4aa3396e92d33813f09f82" + blobs_hash = "0x00540c19affa4d7213a3d9c9e95c740c76b231c1824412682c8eb340f5b299e5" in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6522,49 +6522,49 @@ root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000060" [app_public_inputs.historical_header.state.partial.note_hash_tree] -root = "0x2f5f52c81e65232c969e7b748eb1b6dfc3f7eba9216029a55622a4105b31a995" +root = "0x21f127e5c363624de42112452ac39b9e7b0418940bcde9b7e8fb70339a54eda4" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" [app_public_inputs.historical_header.state.partial.nullifier_tree] -root = "0x17fee6f3e8648b9b76c999d96eab875fe3dea176f65a7b8a59b8d3af783e2284" +root = "0x2937efffa09c64dd72e8fbbb9d2b6fce80bf6859bee419d4089ea7baaeb03a57" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [app_public_inputs.historical_header.state.partial.public_data_tree] -root = "0x0d603a2c1490b47db2e8e450cd0d96db141ef47b0cb23b574dff666e2882344b" +root = "0x0f998cc8a87058c956ea3960d4d206c005c01b48c125cca9cdb2b528d5179411" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [app_public_inputs.historical_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000006" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000007" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c5c5f" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000008" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff540" [app_public_inputs.historical_header.global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [app_public_inputs.historical_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.historical_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000573a" [app_public_inputs.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" [app_public_inputs.tx_context.gas_settings.gas_limits] -da_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" -l2_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000600000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [app_public_inputs.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" -l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [app_public_inputs.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000009c27" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000e10" [app_public_inputs.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" 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 a6a8164123b1..288f1b615cdc 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,43 +1,43 @@ [previous_kernel.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000000" sibling_path = [ - "0x03c1b384e669a952466acd71ddc213f12b3f03408c6f8482d48b52fd2fd415f4", - "0x29bfeef08a6ae64356083db0dad5ecdef60548977fef1dc4f49860e41260df20", - "0x0d95ebabc17fe3813d2937f9961f6d275f881a0cb401408da1a7a97c7f4a8f5d", - "0x1249aa422389974330842f8e2c78f1588c04c530cc3ea9ecdf3ff346e00a4555", - "0x2ceb8c9f55a85f4b5c8c7795bf162b303e2ce1d86bba80ef5a37f045df17273f", - "0x2ac35a585f37cd8b1e9ab4423155da6325d6a2406f6ed8d4fff29af478a2783c" + "0x122040586cc43532a734c68eceadaf47c1bf49251a94ad69068d7a4fb30ce59f", + "0x0896884f7de78e6a7d508f0aaea414f76401663b2361861b59dd3b8307c8ee01", + "0x1bbf956a109fb8f2b719b42ede1c0f881349ca89c85b8a50ce1dff5f84e42931", + "0x2b19ce4682078f26bde2ff926806892441a97f239bbe4ed569485d94750fe8c8", + "0x2e4e5b7e23ac6533333c43f70db2a3c699240ba4adc372b2a3d13a000b41199c", + "0x1cb36c900588afc3a59d2d9c4b45ae89b78611c0b8ae393f0f3776887d40ce60" ] [previous_kernel.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x0000000000000000000000000000000000000000000000000000000000000040", + "0x0000000000000000000000000000000000000000000000000000000000000041", "0x0000000000000000000000000000000000000000000000000000000000004269", - "0x0000000000000000000000000000002b72d3333467bff7db06acf0723f85ddaf", - "0x000000000000000000000000000000000009cd146f0423fac18a365f3d2fd490", - "0x000000000000000000000000000000ae461057091278178a9eb2f601440871d4", - "0x00000000000000000000000000000000002515ab01aeecb54b8c69e7da8e9196", - "0x000000000000000000000000000000a4f9ac4b1a1791c1ed309736f5e0f39271", - "0x00000000000000000000000000000000002b7fcd30f300c493bf3fbeecabd533", - "0x000000000000000000000000000000858c877a66793dd6454534f629a91db7ed", - "0x00000000000000000000000000000000002bd65db646493bc274df9ebfee9178", - "0x00000000000000000000000000000036c454a2fbe5b0e4f36518b7b31a8d4c98", - "0x000000000000000000000000000000000013b8b5c77ef59c81e5ccf217d2c02f", - "0x000000000000000000000000000000654fca17c4bd7ed01dad4f0b5c892325f1", - "0x000000000000000000000000000000000011a2341fdfdf3c16ae55193d2ee9cb", - "0x00000000000000000000000000000080f33d3efa24bf33c1a1b8b839001d380e", - "0x000000000000000000000000000000000012d5ae87234b7c80b019160c0efffa", - "0x00000000000000000000000000000002b876fa296b4d9a95affaf2d337608ac4", - "0x00000000000000000000000000000000001136b8ad85038c49e389b7fe9b2a2a", - "0x0000000000000000000000000000008c271e2b89e9a9ae2c8bea2d9a3b030823", - "0x00000000000000000000000000000000002079b997ebb56fa0494e1d5fae7e6f", - "0x0000000000000000000000000000007243431634e0e65ca0d0f28b1d85f40978", - "0x0000000000000000000000000000000000175cf152d93cbd8916df3c19c784bf", - "0x000000000000000000000000000000ce79a2ea8bae6abb834f2b479800907c04", - "0x00000000000000000000000000000000001154c79f3c470d176f1db0f911082d", - "0x0000000000000000000000000000006dc371ac74a45568fa2d614372d4b4538a", - "0x0000000000000000000000000000000000196c5ab37f0ec80489566fc80aa7af", + "0x000000000000000000000000000000e99c72c7a09753d36855087639e807aa23", + "0x00000000000000000000000000000000002ba71e0c355b3c2b25605e2477a99a", + "0x0000000000000000000000000000000732660681a69e45d2cd175c5fefe06340", + "0x00000000000000000000000000000000001bc7b3ee2e795a3513ea994d32f8bf", + "0x000000000000000000000000000000feb1b07f0a10dc28b26eacb1746ec7ddf6", + "0x00000000000000000000000000000000001bc7a1908e490c67b8cf341b8313f5", + "0x000000000000000000000000000000a1b622df5d148912e2d50f43415881e92c", + "0x0000000000000000000000000000000000187745ad4c286e1201927c2992f6ef", + "0x0000000000000000000000000000005519cf7a869edcb4ff9504d2716b9976ed", + "0x000000000000000000000000000000000017604a9fad3a3edfb89db19f042e93", + "0x0000000000000000000000000000002da582b187a973e1a136cfeda814e3b265", + "0x000000000000000000000000000000000021c9e5ee69df75bc826e7b189a8f04", + "0x0000000000000000000000000000006c0bd3cf743fc3381a8ab468debe3a0564", + "0x00000000000000000000000000000000002c9ce3abab2c35540571166cf05db0", + "0x0000000000000000000000000000001a20245ed0b5ecd5b510d3dfaaa59d52e8", + "0x00000000000000000000000000000000001974ebaaf3e82f3a506a526369250b", + "0x000000000000000000000000000000397cfab1421280a5db6da20abbdae5e0b0", + "0x00000000000000000000000000000000002572226c2ed4063d72d910f0daf14d", + "0x000000000000000000000000000000bca95a95524a9f06d4a5e926fecac96b9d", + "0x00000000000000000000000000000000001c0b1c2c3b2628dd14a7456b8968ba", + "0x000000000000000000000000000000cb4550f319f210b30bba4d553eadec469a", + "0x000000000000000000000000000000000005a934115b0b9a388dc5afc86c93c2", + "0x000000000000000000000000000000af371fd9819cc6e65a255f5f8deb450f15", + "0x0000000000000000000000000000000000289414c33d36e9d3aae05a94d9db8f", "0x000000000000000000000000000000860731b142eecb2747e7aed354ca0dbddf", "0x00000000000000000000000000000000001c6af0b22844301cfcc5e3e9b9087a", "0x000000000000000000000000000000eee422154e7d17b492610b7641da96fab0", @@ -46,14 +46,14 @@ sibling_path = [ "0x00000000000000000000000000000000001f94c000fd5cc224bfd3e729502c38", "0x0000000000000000000000000000007f66df3b2e16c7dd16920e82a7769cc591", "0x00000000000000000000000000000000000851586e2a40e049ae6862f6f5849a", - "0x00000000000000000000000000000032eb0a7f9337c32c7488e936d62742a416", - "0x00000000000000000000000000000000001d100548a59e5ccdef45ca46f7c2c5", - "0x0000000000000000000000000000000c12ceb2e3f2d85b0e9dacabcdf233c443", - "0x0000000000000000000000000000000000234ffde2c0d4cd112ff528a3d9333c", - "0x0000000000000000000000000000009954dbab2044aee24bf97cfb7990af4bcc", - "0x0000000000000000000000000000000000077ac533236d2f11bf2740d26cd88a", - "0x000000000000000000000000000000e797f9bfe2d5be732750a84697db7f8a44", - "0x00000000000000000000000000000000002ebca489bc74dc9bfa61c763a26843", + "0x000000000000000000000000000000a529066dc3d5b043730303142bed511c6f", + "0x0000000000000000000000000000000000179329b6fdc03bc89cc8e3512f5ca6", + "0x0000000000000000000000000000006bb1d0b7d523bfe3c3674a5f1c7c968e6d", + "0x00000000000000000000000000000000001493deb44f8f69b942e508b66b9600", + "0x000000000000000000000000000000b5ac5a541f0fa929278d9d53edb94d1115", + "0x00000000000000000000000000000000000465432c1a27c4f0e7da876391201b", + "0x0000000000000000000000000000003c7da79d4722eb3ea8c589fb1a11ee6522", + "0x00000000000000000000000000000000001281cc1cdf9d5c1fce9bf8404083b4", "0x0000000000000000000000000000000ab5564c0f7aadb11742ea571ac245ba79", "0x000000000000000000000000000000000006e10b3bfdc80c3ab7ce7fbe500724", "0x000000000000000000000000000000cd6370e45f28cb9576d727a60da0e69cb4", @@ -66,46 +66,46 @@ sibling_path = [ "0x00000000000000000000000000000000000dbd8e997c744fc2f54be34b6fe385", "0x0000000000000000000000000000000909b43a3efbce8ac97d6802c6aa977d84", "0x00000000000000000000000000000000000db03f35a1ab98dae7449fc062e0a2", - "0x0000000000000000000000000000002d63d6bae751de40589ebda0af944b94d5", - "0x0000000000000000000000000000000000151ffa7349d1ccd9183ececf0f35f3", - "0x000000000000000000000000000000b998c68b12e4d9106ff732e954b4dd7860", - "0x00000000000000000000000000000000000b70e8bae6db545915443a84eda0d6", - "0x000000000000000000000000000000e4bcfde6b07f74590e171851bb51395fa6", - "0x00000000000000000000000000000000000547ae72b6bbe2dc36aba755b0c064", - "0x0000000000000000000000000000003f3ab0ceb619ff0b682c2657d898ba5704", - "0x00000000000000000000000000000000002c43295ffa60def39de913132e4d92", - "0x000000000000000000000000000000bc77e62f32a765b9a1380ef735df5f5cce", - "0x00000000000000000000000000000000000bc172f36bb0ab2d298a9bec138460", - "0x000000000000000000000000000000492b0eea2e19bdff6ced2c17fe0f047200", - "0x00000000000000000000000000000000001b09be952ef6ffbc1dab77d4f8b3fe", - "0x0000000000000000000000000000008de80923a2ee84135e6bf78906cc3efe4f", - "0x00000000000000000000000000000000000c13945cd340cb01c30d70c2264704", - "0x000000000000000000000000000000e0b8fc94c1a7ff0b700aaa73b261831a47", - "0x0000000000000000000000000000000000216c8963251741b16ad1bd857364f1", - "0x000000000000000000000000000000e72ffee1794436c190ea77cc5c18e0c9fa", - "0x000000000000000000000000000000000016d4794caa0f9a23ef15301b43c67f", - "0x0000000000000000000000000000002cad5c44a9701e87627e12c39a50caf86c", - "0x000000000000000000000000000000000013a7bd1999398e007b86e72f6655b4", - "0x00000000000000000000000000000090ef58a0a23e3457298d4a66cf6d5f5d07", - "0x000000000000000000000000000000000013b29d552d12df94957059d47e6913", - "0x000000000000000000000000000000a6b0efdad81956fa47a21bdb6cc46c1fe8", - "0x00000000000000000000000000000000002398dac91f14be3b1fbd1856a6cdc8", - "0x000000000000000000000000000000096dc52e5704c2ea940f13c4ff499cc0ee", - "0x00000000000000000000000000000000002d2b4517307e515881904c610f4374", - "0x000000000000000000000000000000dcadc4742065c32a413b29ce1547be30d1", - "0x0000000000000000000000000000000000201c723c43159a74ffde0416c9b4ec", - "0x0000000000000000000000000000008f2e2c9e7508b32efb437ada6a93044ce2", - "0x00000000000000000000000000000000000eb33e849a668eb846e633de8c3ef7", - "0x000000000000000000000000000000b16061fe1f37005f2658746a812d0922ee", - "0x00000000000000000000000000000000000bc3e34e7a27126e56f6880e8fdb2a", - "0x000000000000000000000000000000f9046eecab5d22a94bdba8bdcc200e7359", - "0x0000000000000000000000000000000000159cea12d20e5151f66543ba4e276a", - "0x00000000000000000000000000000099b00c8308afdd4a51a382c869ba066571", - "0x0000000000000000000000000000000000106ce80e328ee0ebc1d3118c2814e2", - "0x000000000000000000000000000000dd39b259d8eea23b786443041359973683", - "0x00000000000000000000000000000000001e366d962cff7f4c8649be2a39c03d", - "0x000000000000000000000000000000de8e3310803eb88c9ab1ddcea7a559d3f3", - "0x0000000000000000000000000000000000100bb6abd664c5819a12521c8f98e2", + "0x000000000000000000000000000000a7934b2b9007fc73b5301fe14536153e0d", + "0x0000000000000000000000000000000000255a3ea2da004b730dba5d69a35d62", + "0x0000000000000000000000000000004bb2ed0e75d9585318876e7476e2ef0a69", + "0x0000000000000000000000000000000000157d05f4cf65774388dddf0c57e12b", + "0x0000000000000000000000000000002b2d6438ead28edcda06bfcd9b4116d312", + "0x00000000000000000000000000000000000a660420052f503e460f469227462a", + "0x000000000000000000000000000000dba946353770b96414e3ba76a14756befb", + "0x000000000000000000000000000000000000568ab15f21ceaaa0ce739f786eb8", + "0x00000000000000000000000000000068979a86a135fcc17f2dc86d03e6aa9da9", + "0x000000000000000000000000000000000021b97f0d03d44857af01e4c15c8c5f", + "0x00000000000000000000000000000035115860c75b0d7e51b19815366957e963", + "0x0000000000000000000000000000000000293153d758291f748e0322fa608182", + "0x000000000000000000000000000000500a806a439f0a4db0f2137547ae0b8223", + "0x00000000000000000000000000000000000a091847d75d6f1a4c4df44243a54e", + "0x00000000000000000000000000000002f31499e724394f995e8527aaa8c5c184", + "0x0000000000000000000000000000000000294f49cd34ae5fa5c29d954a19e948", + "0x000000000000000000000000000000d75a8375e4e54e0cc87291f3af10e43154", + "0x00000000000000000000000000000000001743b9348d85ee3f754d318a0d7fe9", + "0x00000000000000000000000000000074e9f75380a4d6a69abe8f1f4dc6270600", + "0x00000000000000000000000000000000000d59019af03f67a4c9beb5adfa57b3", + "0x000000000000000000000000000000b9f213f9c725ab7611d1cf241fb572f15b", + "0x00000000000000000000000000000000002cd33ec26589f85ccd124b2865b758", + "0x0000000000000000000000000000009dd9cb4f0175a86778e730d4d3f7bdd328", + "0x0000000000000000000000000000000000205cc4d67a517e4850200caef81ce5", + "0x000000000000000000000000000000418a3e43049d5586374c932a8a3e1ab400", + "0x000000000000000000000000000000000024bc97011f8d1500b782d114cf6351", + "0x00000000000000000000000000000048811c9531b26930549b28236d74ee29dd", + "0x00000000000000000000000000000000001839225fb72cdfd3a8220739ba458b", + "0x000000000000000000000000000000a6a88ac9eadfc8fbb01c773c3e34f0e582", + "0x000000000000000000000000000000000019a8cb830df33a09feeffcb6133927", + "0x000000000000000000000000000000670d291c29fa7f6878dfbd3906eebc94e9", + "0x0000000000000000000000000000000000303d98e439ad6f6782cd578ff7d41f", + "0x000000000000000000000000000000635249b7e36a09d6459dcda88b7d64a3f5", + "0x000000000000000000000000000000000004d08d94b9d7ccd8c04c55f0a11f56", + "0x000000000000000000000000000000af21b9a21a0bae701ead2c5a9f9feb99c4", + "0x00000000000000000000000000000000002073c3c178d3e876c16c88bb1e1465", + "0x000000000000000000000000000000b1f3d965e4b848e6e77cc23bb7c7738468", + "0x00000000000000000000000000000000001da5761d67526ed108219621214866", + "0x0000000000000000000000000000005d567d940f7911d9164c005ba261a17b39", + "0x0000000000000000000000000000000000220305714b1d562074391644112051", "0x00000000000000000000000000000058b33d923ade8b5d0448419d48345e5f81", "0x000000000000000000000000000000000028ad3f8c8963eaa28db13b23cef532", "0x0000000000000000000000000000009ed57c51f54e285c34ed4967a9fedff9c0", @@ -126,41 +126,41 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000a28e59b687585f4a419e8d30d3acfb1280", - "0x000000000000000000000000000000000018ef07f15c792cb9ae88868d83d9a5", - "0x00000000000000000000000000000066c3de353604a822b01b76d7a9a1a7bcce", - "0x00000000000000000000000000000000002d08c50cf6263a7308d97e61d5ee3c", - "0x0000000000000000000000000000000f3c2e7a96b4a6469aca26167209285d9b", - "0x00000000000000000000000000000000002db8d548af3efd182047c9081ce287", - "0x0000000000000000000000000000002ed6223822b4602ad263892e0799b27eba", - "0x0000000000000000000000000000000000063d0df54d2aba02c2c82b4e6fe8bf", - "0x000000000000000000000000000000e55ba19751adfe6c36324d3fb6c2da0989", - "0x00000000000000000000000000000000001d58aa61c64ad522043d79c4802219", - "0x00000000000000000000000000000078f4b3bc61f19d6e7069359bbf47e7f907", - "0x00000000000000000000000000000000002d7c18a93c3dae58809faaeec6a86a" -] - hash = "0x268ad440c204a80b71ac2560474b99b9a1eb68a807d893ecf26dc4f8eceb8530" + "0x000000000000000000000000000000027f35e25e15a1154b04383cbed5a7d494", + "0x00000000000000000000000000000000001b2debe41e2f2f2dea46dcc69197e8", + "0x000000000000000000000000000000012b80f9893f05e089c4d785fb737f4924", + "0x000000000000000000000000000000000026336472cfab134e9992b76b49b6e7", + "0x0000000000000000000000000000006532a8ae000dc46f371c079db6c0e33951", + "0x000000000000000000000000000000000012529e4f5ae4a5862d514dcfb85dfb", + "0x000000000000000000000000000000d92742cabb425ed1bee1be1f7d2a12b3bb", + "0x00000000000000000000000000000000002cfbaf2e44239382803456ddeba4fb", + "0x000000000000000000000000000000b3c3cf6db5a5c37c73b4eaabc7c2bdb5d5", + "0x0000000000000000000000000000000000019aaa1db73a9843297ddd5305a039", + "0x000000000000000000000000000000f3287cee24421753c9bb15d7145031ca6d", + "0x000000000000000000000000000000000005892462ef48edfc14cca5c68eae6e" +] + hash = "0x0545969f768d9081cf66436e6dcf4392b355c65bc4f21eaa467ae10d482b93c5" [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000003" -include_by_timestamp = "0x00000000000000000000000000000000000000000000000000000000689daddf" +include_by_timestamp = "0x0000000000000000000000000000000000000000000000000000000068c146c0" is_private_only = false -claimed_first_nullifier = "0x14b9a8be4437cc30f7e22c9cd4235991cbb2f446a90b3339301a845720bd716e" +claimed_first_nullifier = "0x08a53c5f1484b2053a1a9f7bfb0470a5b64299ad54b46bea4aa8e884ce50215b" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x1f8cde81e0c5165be68b2c47089d558a335abff180d3369d351ad6aac4e73ecd" - protocol_contract_tree_root = "0x18eb72d449788231796808c5a8c66b8611b36598807bc2b42c8f554d397b1052" + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" + protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" [previous_kernel_public_inputs.constants.historical_header] - total_fees = "0x000000000000000000000000000000000000000000000000000000005d04d366" - total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000e4bf" + total_fees = "0x000000000000000000000000000000000000000000000000000000004be1498e" + total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000deb3" [previous_kernel_public_inputs.constants.historical_header.last_archive] - root = "0x21d52ee9a007daa53df18b57a2b633858e5f4b487743f1f09272dc627fa0a06f" + root = "0x2ce60ce3930b66a957e90d8d7743f53439be6d5a2c628afea9e65431767102e3" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" [previous_kernel_public_inputs.constants.historical_header.content_commitment] - blobs_hash = "0x00c00dfa9c24c3a99d31f6b1e0f75320688d64e59d4aa3396e92d33813f09f82" + blobs_hash = "0x00540c19affa4d7213a3d9c9e95c740c76b231c1824412682c8eb340f5b299e5" in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -169,49 +169,49 @@ root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000060" [previous_kernel_public_inputs.constants.historical_header.state.partial.note_hash_tree] -root = "0x2f5f52c81e65232c969e7b748eb1b6dfc3f7eba9216029a55622a4105b31a995" +root = "0x21f127e5c363624de42112452ac39b9e7b0418940bcde9b7e8fb70339a54eda4" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" [previous_kernel_public_inputs.constants.historical_header.state.partial.nullifier_tree] -root = "0x17fee6f3e8648b9b76c999d96eab875fe3dea176f65a7b8a59b8d3af783e2284" +root = "0x2937efffa09c64dd72e8fbbb9d2b6fce80bf6859bee419d4089ea7baaeb03a57" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.historical_header.state.partial.public_data_tree] -root = "0x0d603a2c1490b47db2e8e450cd0d96db141ef47b0cb23b574dff666e2882344b" +root = "0x0f998cc8a87058c956ea3960d4d206c005c01b48c125cca9cdb2b528d5179411" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [previous_kernel_public_inputs.constants.historical_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000006" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000007" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c5c5f" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000008" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff540" [previous_kernel_public_inputs.constants.historical_header.global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [previous_kernel_public_inputs.constants.historical_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.historical_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000573a" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] -da_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" -l2_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000600000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [previous_kernel_public_inputs.constants.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" -l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000009c27" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000e10" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -222,11 +222,11 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.read_request] -value = "0x291e3111b8037e44591f690dd7bdecafc7586afacc362ec2cb6ec3fab62c723d" +value = "0x15389cb39ac4233cdff6ca291a663a27c40116891f5d21cbdd46d584613200b2" counter = "0x0000000000000000000000000000000000000000000000000000000000000002" [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] -inner = "0x08078dc9d3bb206b81bd7c186980fd81a2a1d95b3231f23768d4aa06302d0518" +inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.read_request] @@ -2734,7 +2734,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.end.nullifiers.array]] [previous_kernel_public_inputs.end.nullifiers.array.nullifier] -value = "0x14b9a8be4437cc30f7e22c9cd4235991cbb2f446a90b3339301a845720bd716e" +value = "0x08a53c5f1484b2053a1a9f7bfb0470a5b64299ad54b46bea4aa8e884ce50215b" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4432,13 +4432,13 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.public_call_requests.array.inner] is_static_call = true - calldata_hash = "0x260384c1b8bd62319cd9e594a23714aa0e7fe56eaffb200eb2f9415ae1d5a3e5" + calldata_hash = "0x20284c4ac976913f2da6153d66e9d089a692fe726ce1c4c3e289354d95e7a85e" [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] - inner = "0x08078dc9d3bb206b81bd7c186980fd81a2a1d95b3231f23768d4aa06302d0518" + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] - inner = "0x2be76fc4d837d656fd7a48faa201468f5413ae40444e1c7256d3820f4f7e3cfe" + inner = "0x1b0bd8ae0ba4d899bdfd9cfb3298d9812ba3686d946c25a0b8cae81bf285bcb2" [[previous_kernel_public_inputs.end.public_call_requests.array]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5001,7 +5001,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x08078dc9d3bb206b81bd7c186980fd81a2a1d95b3231f23768d4aa06302d0518" + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" [padded_side_effects] note_hashes = [ @@ -6400,9 +6400,9 @@ read_request_index = "0x00000000000000000000000000000000000000000000000000000000 "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x0ae79b07b294568b7aea68e395dedaffa54c853184ee11eae9fa9d942376738f", + "0x22706d4292339eafb8bbea48346b6f919ea8013bc245d0727a606536a1daf242", "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b", - "0x0330e21dfd21ec8d80ee80cc71a8d3ac8c964f2cebd0b39be16cfea5399335f0", + "0x11013fc7ed9fc83b08e2d8462f7cf15bb9692031eb742543a32245bf3564368e", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", @@ -6437,7 +6437,7 @@ read_request_index = "0x00000000000000000000000000000000000000000000000000000000 ] [hints.note_hash_read_request_hints.settled_read_hints.leaf_preimage] - value = "0x291e3111b8037e44591f690dd7bdecafc7586afacc362ec2cb6ec3fab62c723d" + value = "0x15389cb39ac4233cdff6ca291a663a27c40116891f5d21cbdd46d584613200b2" [[hints.note_hash_read_request_hints.settled_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 2b51380f208d..46b0acd0218b 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,45 +1,45 @@ -include_by_timestamp_upper_bound = "0x00000000000000000000000000000000000000000000000000000000689daddf" +include_by_timestamp_upper_bound = "0x0000000000000000000000000000000000000000000000000000000068c146c0" [previous_kernel.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000003a" sibling_path = [ - "0x1d34600b84897c79b2a22b02794b7e10505f6657046c5fc87430971877e642f5", - "0x2afba7a2f5528ce36ad60a3b4bebdd60d02369b186f57105ac21caba8adc755e", - "0x0bd7d096988741efec46f68a1e3533215f099442a210dd60571451734038d233", - "0x19c7bcdd5cd47a6f86af46990214ce5d93b9dfc3a07c6561d0ab9a543fbcb846", - "0x0e3475b26dad94e06b3af5651bd5ed1050a181940e550e5ad8b81b7ae00d7749", - "0x2f6f1282aa703c5bdf56931b2e0880a5c647f77995b8b42c14e57120b4f7b827" + "0x114e4986a6e9fce67c699e298937c72f16628d5230e09973c753d3a5061fbd06", + "0x081821503b57a7609a283d73439adab460ed354f32729ae4268c0bc435dc3199", + "0x0a7c215885443e44c3d93022b04d5266f2d18ebc01eb60df47d5df86c48f97bf", + "0x0868ef0e65b2b10e1ede4bda43b95a9b7cbaf4979cd8399dc3248e04799be65d", + "0x0d08d8c9adb04e3986b4c4173fabfbeee0a58210909ac7e3a310472d9ccc0f36", + "0x040daaeb0757eede77971d43ef7c5fbc9dba75e47b367bd485de0dd404afccbd" ] [previous_kernel.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x0000000000000000000000000000000000000000000000000000000000000040", + "0x0000000000000000000000000000000000000000000000000000000000000041", "0x0000000000000000000000000000000000000000000000000000000000004269", - "0x000000000000000000000000000000becbe7956d3328e63cd05c295cf4d26cc9", - "0x00000000000000000000000000000000002a3fefa05457e0eb1db551a1a385fc", - "0x00000000000000000000000000000059adeed779374f871bc58786f089279c22", - "0x00000000000000000000000000000000000813ebeeb09af8ed62e4221a90d719", - "0x00000000000000000000000000000006d7dbebaa0a5eca3c036aee68fb1add26", - "0x00000000000000000000000000000000000f4db14690fd54e7a37697144255a7", - "0x000000000000000000000000000000c3111a96516062e244f13188e4579e3176", - "0x000000000000000000000000000000000027f29e61e8ada9588e174773bade3c", - "0x000000000000000000000000000000017d1fc254065d2dd2ae0d916ea62c94fc", - "0x00000000000000000000000000000000001109e334692a3cd2ea2a190e32d8a6", - "0x000000000000000000000000000000052b0ae3c7b69863e838b5039da6df8099", - "0x0000000000000000000000000000000000195ea7ca44b5c3e05462b67f6c3041", - "0x0000000000000000000000000000002c66dca4e2ca895cc8e4af53d560d047fd", - "0x00000000000000000000000000000000001dfff5c5cac197ffa38afe6156549c", - "0x0000000000000000000000000000008e308d842a9faf00bca8ac6c569868e95c", - "0x00000000000000000000000000000000000bcb42d92ac38fd583e8e9b3cf8241", - "0x00000000000000000000000000000086f3e714a61e88f431538444196a9cd064", - "0x000000000000000000000000000000000023d00b1f26ee03fd33ccadf23688a5", - "0x0000000000000000000000000000001d9ec1d0e410d3f5ecdf46ec8b147ec256", - "0x0000000000000000000000000000000000115a24b805f29bca0be51065c8fc2a", - "0x000000000000000000000000000000d308d125dac771af157db2f71214f5ac4a", - "0x00000000000000000000000000000000002855df9ab25c7505c7b0a4f3c4d8d6", - "0x00000000000000000000000000000028e4328928b6b997291054b2a37831152e", - "0x000000000000000000000000000000000018d274a8619e648e84ca8ee97fac8a", + "0x000000000000000000000000000000fd108c0c0c977c476883b4f7713e1a2c25", + "0x00000000000000000000000000000000001385e998fdab4b19303a45d0f84f3e", + "0x0000000000000000000000000000003cbf1dac35b7787b330bc914a97dbdc01e", + "0x000000000000000000000000000000000028a0c903c380220431942c14e089a4", + "0x000000000000000000000000000000d6a42d5a9a2784e4e16a74b0ffdcec5912", + "0x00000000000000000000000000000000001a4cf4522dc4aca3489247c3e2a455", + "0x000000000000000000000000000000ab4ce67b0f3a51b7605989d197c95e0864", + "0x00000000000000000000000000000000002f01ecbb628b27b8032a5ba6eb9bf2", + "0x000000000000000000000000000000e0689c90c4ab1cce36cf4f8f807bf6343e", + "0x000000000000000000000000000000000015cb0adf4e4f10b61807c5efd52d5a", + "0x000000000000000000000000000000b62d815c4857d78ced662f66ff6b7f39ee", + "0x00000000000000000000000000000000000aad78796309ab42611ff71e71a664", + "0x0000000000000000000000000000009b8aaad557e431a4d86f8fcee588c1adee", + "0x0000000000000000000000000000000000186acb04bbd7d471b6944f085e9a76", + "0x000000000000000000000000000000286453a0b46dbd1ca2c1002e7399b840b6", + "0x00000000000000000000000000000000000a2013e813963098d583f6f98770ca", + "0x000000000000000000000000000000ceb768b2d868275d2e2accb6d0d0166fe0", + "0x00000000000000000000000000000000001769e5527ce12edd265e5ca27a2b3c", + "0x00000000000000000000000000000034e6f32eb65420bbd4b1fd67099f8c5d1a", + "0x00000000000000000000000000000000000b8980250ebb239a09d94feb025676", + "0x000000000000000000000000000000a4a13b2e9a092101c7e947d51e417f428a", + "0x0000000000000000000000000000000000215c4e811b8b153e98747ff6c6d986", + "0x000000000000000000000000000000251506a885ce98c02d9fac64dcc2b9e389", + "0x000000000000000000000000000000000015682661d9ae60f3b7431c9b6ed08b", "0x000000000000000000000000000000cc7ecc0c44f4783894292d818fffe8edec", "0x00000000000000000000000000000000000f1180704217a1294bf7deb548c5bf", "0x000000000000000000000000000000a0b7cfce8d3f9babfa5b1bc1e30af19cfa", @@ -48,10 +48,10 @@ sibling_path = [ "0x00000000000000000000000000000000001f94c000fd5cc224bfd3e729502c38", "0x0000000000000000000000000000007f66df3b2e16c7dd16920e82a7769cc591", "0x00000000000000000000000000000000000851586e2a40e049ae6862f6f5849a", - "0x0000000000000000000000000000006fc4fb493c3ea61db8eda29393f50e6e13", - "0x0000000000000000000000000000000000019fe8cdbaef0c7ad69cbea1b4d7f5", - "0x0000000000000000000000000000007706fa27364e91fdfdbb41948eadedb500", - "0x00000000000000000000000000000000000f1f3cdc17c75d5f07ca6576549e5c", + "0x000000000000000000000000000000a543b71857d0fec1249220400b9d403bd4", + "0x000000000000000000000000000000000015061de3b36ac1bdf57a00ee9b1bac", + "0x000000000000000000000000000000dc5b79a91179c36fc6de9d8da9a6f5e99d", + "0x000000000000000000000000000000000021796f84d4fa16ffc0f9cf7830bc49", "0x0000000000000000000000000000008d18e0c7bcc41b3ecc2c4bbf9e785eec94", "0x000000000000000000000000000000000027c6b82b8ce9bad4cc9d6b36bdf654", "0x0000000000000000000000000000003cf3b4b5e10b2f0d030ae3d3270def817d", @@ -68,46 +68,46 @@ sibling_path = [ "0x00000000000000000000000000000000000dbd8e997c744fc2f54be34b6fe385", "0x0000000000000000000000000000000909b43a3efbce8ac97d6802c6aa977d84", "0x00000000000000000000000000000000000db03f35a1ab98dae7449fc062e0a2", - "0x000000000000000000000000000000ddd5c9bc6d6b0047bea1bd36e4f2cc6fc3", - "0x0000000000000000000000000000000000194a2b9c6ef32cf75c7246273814ff", - "0x000000000000000000000000000000873701d8c165ff7d8e9852a99919388901", - "0x00000000000000000000000000000000001096cb4daf13404b69611c42d1d7d1", - "0x0000000000000000000000000000009e75ea4f7f688a657a6ffad0b882c45b3d", - "0x0000000000000000000000000000000000135268770bc4c078b934b11bafd7ff", - "0x000000000000000000000000000000925283ab159a44df257a7e3386d32eb977", - "0x00000000000000000000000000000000000950d282bf06cb4408fbf18cc3886d", - "0x000000000000000000000000000000a367559fffa07eb7af76d9013d83ea98b2", - "0x00000000000000000000000000000000001b1bbe02c26b07e9bbbf1258928551", - "0x000000000000000000000000000000f19689684f1706fb4c4892760c587b9419", - "0x000000000000000000000000000000000020219d01102ed2a80fff919497138e", - "0x000000000000000000000000000000a47dc8541b73fde46c06760fe4bd2011c1", - "0x0000000000000000000000000000000000017ce5a2cf5a57770afa7801ccf4a4", - "0x000000000000000000000000000000de50278d3db204e6464d642f2166e9921c", - "0x000000000000000000000000000000000006ffcbe5982e66050e7d8b4048c773", - "0x0000000000000000000000000000002b0d70d2e436e89e170e93f18e2571652c", - "0x00000000000000000000000000000000000287ef0d2dfdff377eacaeff31c489", - "0x000000000000000000000000000000ac4d9adc2e772c5a70e98d8415015ff70a", - "0x000000000000000000000000000000000015100c834164ff99bad9d12adb3fe1", - "0x00000000000000000000000000000077f0d4d6b6f31ba4bdfb56c20adbf4083f", - "0x00000000000000000000000000000000000e2bce75ddc0ac16dc036a1d17f6a5", - "0x000000000000000000000000000000b8e7a70812457a74830125f5429618c44e", - "0x00000000000000000000000000000000001983aed6c236cfd18ecca3c737ece2", - "0x0000000000000000000000000000001067ce34e9b3481ebbbc55a57fd0bde498", - "0x00000000000000000000000000000000002882aed8e95861d115d30731af0e3c", - "0x0000000000000000000000000000006a616f5e56a4e99f56000e9461159dde94", - "0x00000000000000000000000000000000000b5ae2dbed08bef259d871413be3c6", - "0x0000000000000000000000000000007ffffccf8da3cb15e4504341776ede9c82", - "0x000000000000000000000000000000000003ee3ef54545312c0f6df1beac4486", - "0x000000000000000000000000000000432e148f25d20c71ba8ec3203ce5b7cd9c", - "0x000000000000000000000000000000000026abe8232a49cec21f4a9e3ff6aa57", - "0x0000000000000000000000000000002a96807a8e9a8522a87746b95db38587a0", - "0x000000000000000000000000000000000003f37f151139d7ff53fa16f68cb42b", - "0x000000000000000000000000000000726b3d661a536322d70647e213379557eb", - "0x00000000000000000000000000000000002c79af358b91917e21804b8cb40c4c", - "0x000000000000000000000000000000ef16bb9a5e531019ee70849c2525b9808a", - "0x00000000000000000000000000000000002c2d45fff3c36afc7d7ad3143958a2", - "0x000000000000000000000000000000b91cdd162684f46ee4fab1103907fb84ad", - "0x00000000000000000000000000000000000da8e52f28843bc1af5799dee86074", + "0x000000000000000000000000000000848d50c6a8041c936199038e8c3ec043ec", + "0x00000000000000000000000000000000002c81f9671689caedfcc5395d05dba1", + "0x000000000000000000000000000000992a849233ea57ec612849d25325da7d3e", + "0x00000000000000000000000000000000000414481c993da67ad7d0e6325b8869", + "0x0000000000000000000000000000000f3cd0350a30a38d9a1f9975fe80c562b7", + "0x000000000000000000000000000000000007075b06967a8ff963b2cda838eee8", + "0x0000000000000000000000000000003e13ec0b3d7124453ce987c9222cf89f13", + "0x00000000000000000000000000000000002e6ef027235c75bbd0478b8118c788", + "0x0000000000000000000000000000005b31571650ecf6c802d33279eb61880306", + "0x00000000000000000000000000000000000b5ec64fd32e4de0094a2c60a65ee3", + "0x0000000000000000000000000000006305a12df9c054ffdd593b18d1be01f262", + "0x0000000000000000000000000000000000283b208ecf42e23be4fa77aa6f7a0a", + "0x00000000000000000000000000000070004f996fcb0866d66c59e420987b98e9", + "0x0000000000000000000000000000000000070bc758f401f7a08aeb86027d00a6", + "0x000000000000000000000000000000d78d999a33b1939dab489c52e1becb4ead", + "0x00000000000000000000000000000000001bed9466e86b4b0031be8279fde83e", + "0x000000000000000000000000000000788791fce43902d938aa8521d11ee9e940", + "0x00000000000000000000000000000000002d96e216f8e3dc3330c637b9088210", + "0x0000000000000000000000000000002687ce10fe8ba17c1676b2a19e1edd2502", + "0x000000000000000000000000000000000020b9a5820d55eaefd33fc7134ff8c9", + "0x000000000000000000000000000000ee5f9bdd11a64b1f53c7f74573b3123955", + "0x0000000000000000000000000000000000245cac10a49ef03e75e58545ddf078", + "0x00000000000000000000000000000000c38939a8b49db6082e86ebfa14b0736f", + "0x00000000000000000000000000000000001f61d15380055f5c67408f4278bd1a", + "0x00000000000000000000000000000039fee18e1694583703a046c33a220ba75c", + "0x00000000000000000000000000000000001166ca6bd5f5ca5a01d00df1e4c6dd", + "0x0000000000000000000000000000003525569d05210efaa27d69d0f5fa3fe138", + "0x000000000000000000000000000000000000f5ac4ef86d76ffc42bcd891b50df", + "0x00000000000000000000000000000023c167eea30a91c945c91931ea20ba14d8", + "0x00000000000000000000000000000000002c0166f39bd151604bd10b6b8e86c4", + "0x00000000000000000000000000000047e38814179b17ac55185b9d4330a3df45", + "0x00000000000000000000000000000000001085c4cce1fa12f1b5eb3b9553f037", + "0x0000000000000000000000000000006bcde8712ba6ef0c2f18a8a26669c54c2b", + "0x000000000000000000000000000000000011b7c4a6e760d131338a9781aa9d82", + "0x00000000000000000000000000000088acdbd2c55ba0841d669a389cc89a2108", + "0x0000000000000000000000000000000000057f1072f174ef1f3a1b9098bd99fd", + "0x000000000000000000000000000000023af76153d539912ec35187b537ab0df0", + "0x0000000000000000000000000000000000199a1af2fc75b8c482cc342b7b9202", + "0x000000000000000000000000000000dbe6ce51c01248eb918a43cb2d3470b81a", + "0x00000000000000000000000000000000002030ba9a7313c918aae12a23e9baa5", "0x00000000000000000000000000000058b33d923ade8b5d0448419d48345e5f81", "0x000000000000000000000000000000000028ad3f8c8963eaa28db13b23cef532", "0x0000000000000000000000000000009ed57c51f54e285c34ed4967a9fedff9c0", @@ -128,41 +128,41 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000b4d9150ab36d652f3eed422383c6406c44", - "0x00000000000000000000000000000000001fcda849441d66eb8d9352d0fb82c5", - "0x00000000000000000000000000000082b446c64e579b73d9e62a97ddc8efc5eb", - "0x000000000000000000000000000000000011a87bf75c7c9b3d05408ce4b6387d", - "0x0000000000000000000000000000008877f9d2807f8df5d67f56eea4e2458837", - "0x000000000000000000000000000000000000e36dcfb2681b69846f17d27f0ee9", - "0x0000000000000000000000000000001593a1e8995ddece219f35d711ace4f3c8", - "0x0000000000000000000000000000000000294038b527e5e69662f54d393feb2d", - "0x000000000000000000000000000000e55ba19751adfe6c36324d3fb6c2da0989", - "0x00000000000000000000000000000000001d58aa61c64ad522043d79c4802219", - "0x00000000000000000000000000000078f4b3bc61f19d6e7069359bbf47e7f907", - "0x00000000000000000000000000000000002d7c18a93c3dae58809faaeec6a86a" + "0x0000000000000000000000000000009cba5d3e3970186b3bd69e3378739d25e6", + "0x00000000000000000000000000000000002558b10b4e092dcd559a5a762df9b9", + "0x0000000000000000000000000000007425536de5fd9e6eea1948f387d6d95bfb", + "0x000000000000000000000000000000000009720c80cf5c0610d769711f1df35f", + "0x0000000000000000000000000000008eea31f0f9300a7d2114fc54f4db7a0486", + "0x00000000000000000000000000000000002eadaa149ca172cea9e9f8b229ad53", + "0x00000000000000000000000000000036f9f372e09d2112b06b48cbffb6fe2a63", + "0x000000000000000000000000000000000019f0112ab6e33765002e5acba0e827", + "0x000000000000000000000000000000b3c3cf6db5a5c37c73b4eaabc7c2bdb5d5", + "0x0000000000000000000000000000000000019aaa1db73a9843297ddd5305a039", + "0x000000000000000000000000000000f3287cee24421753c9bb15d7145031ca6d", + "0x000000000000000000000000000000000005892462ef48edfc14cca5c68eae6e" ] - hash = "0x12e6694797761abb5e77965fa0b5043d71deecfe8a6d0253920c3ee79bcfeb7b" + hash = "0x18503787b1256c9f7fbdf82c7e32a42e2ad588f788149618879dab730b30c46d" [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000003" -include_by_timestamp = "0x00000000000000000000000000000000000000000000000000000000689daddf" +include_by_timestamp = "0x0000000000000000000000000000000000000000000000000000000068c146c0" is_private_only = false -claimed_first_nullifier = "0x14b9a8be4437cc30f7e22c9cd4235991cbb2f446a90b3339301a845720bd716e" +claimed_first_nullifier = "0x08a53c5f1484b2053a1a9f7bfb0470a5b64299ad54b46bea4aa8e884ce50215b" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x1f8cde81e0c5165be68b2c47089d558a335abff180d3369d351ad6aac4e73ecd" - protocol_contract_tree_root = "0x18eb72d449788231796808c5a8c66b8611b36598807bc2b42c8f554d397b1052" + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" + protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" [previous_kernel_public_inputs.constants.historical_header] - total_fees = "0x000000000000000000000000000000000000000000000000000000005d04d366" - total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000e4bf" + total_fees = "0x000000000000000000000000000000000000000000000000000000004be1498e" + total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000deb3" [previous_kernel_public_inputs.constants.historical_header.last_archive] - root = "0x21d52ee9a007daa53df18b57a2b633858e5f4b487743f1f09272dc627fa0a06f" + root = "0x2ce60ce3930b66a957e90d8d7743f53439be6d5a2c628afea9e65431767102e3" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" [previous_kernel_public_inputs.constants.historical_header.content_commitment] - blobs_hash = "0x00c00dfa9c24c3a99d31f6b1e0f75320688d64e59d4aa3396e92d33813f09f82" + blobs_hash = "0x00540c19affa4d7213a3d9c9e95c740c76b231c1824412682c8eb340f5b299e5" in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -171,49 +171,49 @@ root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000060" [previous_kernel_public_inputs.constants.historical_header.state.partial.note_hash_tree] -root = "0x2f5f52c81e65232c969e7b748eb1b6dfc3f7eba9216029a55622a4105b31a995" +root = "0x21f127e5c363624de42112452ac39b9e7b0418940bcde9b7e8fb70339a54eda4" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" [previous_kernel_public_inputs.constants.historical_header.state.partial.nullifier_tree] -root = "0x17fee6f3e8648b9b76c999d96eab875fe3dea176f65a7b8a59b8d3af783e2284" +root = "0x2937efffa09c64dd72e8fbbb9d2b6fce80bf6859bee419d4089ea7baaeb03a57" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.historical_header.state.partial.public_data_tree] -root = "0x0d603a2c1490b47db2e8e450cd0d96db141ef47b0cb23b574dff666e2882344b" +root = "0x0f998cc8a87058c956ea3960d4d206c005c01b48c125cca9cdb2b528d5179411" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [previous_kernel_public_inputs.constants.historical_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000006" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000007" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c5c5f" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000008" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff540" [previous_kernel_public_inputs.constants.historical_header.global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [previous_kernel_public_inputs.constants.historical_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.historical_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000573a" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] -da_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" -l2_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000600000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [previous_kernel_public_inputs.constants.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" -l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000009c27" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000e10" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2736,7 +2736,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.end.nullifiers.array]] [previous_kernel_public_inputs.end.nullifiers.array.nullifier] -value = "0x14b9a8be4437cc30f7e22c9cd4235991cbb2f446a90b3339301a845720bd716e" +value = "0x08a53c5f1484b2053a1a9f7bfb0470a5b64299ad54b46bea4aa8e884ce50215b" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4434,13 +4434,13 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.public_call_requests.array.inner] is_static_call = true - calldata_hash = "0x260384c1b8bd62319cd9e594a23714aa0e7fe56eaffb200eb2f9415ae1d5a3e5" + calldata_hash = "0x20284c4ac976913f2da6153d66e9d089a692fe726ce1c4c3e289354d95e7a85e" [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] - inner = "0x08078dc9d3bb206b81bd7c186980fd81a2a1d95b3231f23768d4aa06302d0518" + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] - inner = "0x2be76fc4d837d656fd7a48faa201468f5413ae40444e1c7256d3820f4f7e3cfe" + inner = "0x1b0bd8ae0ba4d899bdfd9cfb3298d9812ba3686d946c25a0b8cae81bf285bcb2" [[previous_kernel_public_inputs.end.public_call_requests.array]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5003,7 +5003,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x08078dc9d3bb206b81bd7c186980fd81a2a1d95b3231f23768d4aa06302d0518" + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" [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 4378202a517a..f985ee1e74c4 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,45 +1,45 @@ -include_by_timestamp_upper_bound = "0x00000000000000000000000000000000000000000000000000000000689daddf" +include_by_timestamp_upper_bound = "0x0000000000000000000000000000000000000000000000000000000068c146c0" [previous_kernel.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000003a" sibling_path = [ - "0x1d34600b84897c79b2a22b02794b7e10505f6657046c5fc87430971877e642f5", - "0x2afba7a2f5528ce36ad60a3b4bebdd60d02369b186f57105ac21caba8adc755e", - "0x0bd7d096988741efec46f68a1e3533215f099442a210dd60571451734038d233", - "0x19c7bcdd5cd47a6f86af46990214ce5d93b9dfc3a07c6561d0ab9a543fbcb846", - "0x0e3475b26dad94e06b3af5651bd5ed1050a181940e550e5ad8b81b7ae00d7749", - "0x2f6f1282aa703c5bdf56931b2e0880a5c647f77995b8b42c14e57120b4f7b827" + "0x114e4986a6e9fce67c699e298937c72f16628d5230e09973c753d3a5061fbd06", + "0x081821503b57a7609a283d73439adab460ed354f32729ae4268c0bc435dc3199", + "0x0a7c215885443e44c3d93022b04d5266f2d18ebc01eb60df47d5df86c48f97bf", + "0x0868ef0e65b2b10e1ede4bda43b95a9b7cbaf4979cd8399dc3248e04799be65d", + "0x0d08d8c9adb04e3986b4c4173fabfbeee0a58210909ac7e3a310472d9ccc0f36", + "0x040daaeb0757eede77971d43ef7c5fbc9dba75e47b367bd485de0dd404afccbd" ] [previous_kernel.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x0000000000000000000000000000000000000000000000000000000000000040", + "0x0000000000000000000000000000000000000000000000000000000000000041", "0x0000000000000000000000000000000000000000000000000000000000004269", - "0x000000000000000000000000000000becbe7956d3328e63cd05c295cf4d26cc9", - "0x00000000000000000000000000000000002a3fefa05457e0eb1db551a1a385fc", - "0x00000000000000000000000000000059adeed779374f871bc58786f089279c22", - "0x00000000000000000000000000000000000813ebeeb09af8ed62e4221a90d719", - "0x00000000000000000000000000000006d7dbebaa0a5eca3c036aee68fb1add26", - "0x00000000000000000000000000000000000f4db14690fd54e7a37697144255a7", - "0x000000000000000000000000000000c3111a96516062e244f13188e4579e3176", - "0x000000000000000000000000000000000027f29e61e8ada9588e174773bade3c", - "0x000000000000000000000000000000017d1fc254065d2dd2ae0d916ea62c94fc", - "0x00000000000000000000000000000000001109e334692a3cd2ea2a190e32d8a6", - "0x000000000000000000000000000000052b0ae3c7b69863e838b5039da6df8099", - "0x0000000000000000000000000000000000195ea7ca44b5c3e05462b67f6c3041", - "0x0000000000000000000000000000002c66dca4e2ca895cc8e4af53d560d047fd", - "0x00000000000000000000000000000000001dfff5c5cac197ffa38afe6156549c", - "0x0000000000000000000000000000008e308d842a9faf00bca8ac6c569868e95c", - "0x00000000000000000000000000000000000bcb42d92ac38fd583e8e9b3cf8241", - "0x00000000000000000000000000000086f3e714a61e88f431538444196a9cd064", - "0x000000000000000000000000000000000023d00b1f26ee03fd33ccadf23688a5", - "0x0000000000000000000000000000001d9ec1d0e410d3f5ecdf46ec8b147ec256", - "0x0000000000000000000000000000000000115a24b805f29bca0be51065c8fc2a", - "0x000000000000000000000000000000d308d125dac771af157db2f71214f5ac4a", - "0x00000000000000000000000000000000002855df9ab25c7505c7b0a4f3c4d8d6", - "0x00000000000000000000000000000028e4328928b6b997291054b2a37831152e", - "0x000000000000000000000000000000000018d274a8619e648e84ca8ee97fac8a", + "0x000000000000000000000000000000fd108c0c0c977c476883b4f7713e1a2c25", + "0x00000000000000000000000000000000001385e998fdab4b19303a45d0f84f3e", + "0x0000000000000000000000000000003cbf1dac35b7787b330bc914a97dbdc01e", + "0x000000000000000000000000000000000028a0c903c380220431942c14e089a4", + "0x000000000000000000000000000000d6a42d5a9a2784e4e16a74b0ffdcec5912", + "0x00000000000000000000000000000000001a4cf4522dc4aca3489247c3e2a455", + "0x000000000000000000000000000000ab4ce67b0f3a51b7605989d197c95e0864", + "0x00000000000000000000000000000000002f01ecbb628b27b8032a5ba6eb9bf2", + "0x000000000000000000000000000000e0689c90c4ab1cce36cf4f8f807bf6343e", + "0x000000000000000000000000000000000015cb0adf4e4f10b61807c5efd52d5a", + "0x000000000000000000000000000000b62d815c4857d78ced662f66ff6b7f39ee", + "0x00000000000000000000000000000000000aad78796309ab42611ff71e71a664", + "0x0000000000000000000000000000009b8aaad557e431a4d86f8fcee588c1adee", + "0x0000000000000000000000000000000000186acb04bbd7d471b6944f085e9a76", + "0x000000000000000000000000000000286453a0b46dbd1ca2c1002e7399b840b6", + "0x00000000000000000000000000000000000a2013e813963098d583f6f98770ca", + "0x000000000000000000000000000000ceb768b2d868275d2e2accb6d0d0166fe0", + "0x00000000000000000000000000000000001769e5527ce12edd265e5ca27a2b3c", + "0x00000000000000000000000000000034e6f32eb65420bbd4b1fd67099f8c5d1a", + "0x00000000000000000000000000000000000b8980250ebb239a09d94feb025676", + "0x000000000000000000000000000000a4a13b2e9a092101c7e947d51e417f428a", + "0x0000000000000000000000000000000000215c4e811b8b153e98747ff6c6d986", + "0x000000000000000000000000000000251506a885ce98c02d9fac64dcc2b9e389", + "0x000000000000000000000000000000000015682661d9ae60f3b7431c9b6ed08b", "0x000000000000000000000000000000cc7ecc0c44f4783894292d818fffe8edec", "0x00000000000000000000000000000000000f1180704217a1294bf7deb548c5bf", "0x000000000000000000000000000000a0b7cfce8d3f9babfa5b1bc1e30af19cfa", @@ -48,10 +48,10 @@ sibling_path = [ "0x00000000000000000000000000000000001f94c000fd5cc224bfd3e729502c38", "0x0000000000000000000000000000007f66df3b2e16c7dd16920e82a7769cc591", "0x00000000000000000000000000000000000851586e2a40e049ae6862f6f5849a", - "0x0000000000000000000000000000006fc4fb493c3ea61db8eda29393f50e6e13", - "0x0000000000000000000000000000000000019fe8cdbaef0c7ad69cbea1b4d7f5", - "0x0000000000000000000000000000007706fa27364e91fdfdbb41948eadedb500", - "0x00000000000000000000000000000000000f1f3cdc17c75d5f07ca6576549e5c", + "0x000000000000000000000000000000a543b71857d0fec1249220400b9d403bd4", + "0x000000000000000000000000000000000015061de3b36ac1bdf57a00ee9b1bac", + "0x000000000000000000000000000000dc5b79a91179c36fc6de9d8da9a6f5e99d", + "0x000000000000000000000000000000000021796f84d4fa16ffc0f9cf7830bc49", "0x0000000000000000000000000000008d18e0c7bcc41b3ecc2c4bbf9e785eec94", "0x000000000000000000000000000000000027c6b82b8ce9bad4cc9d6b36bdf654", "0x0000000000000000000000000000003cf3b4b5e10b2f0d030ae3d3270def817d", @@ -68,46 +68,46 @@ sibling_path = [ "0x00000000000000000000000000000000000dbd8e997c744fc2f54be34b6fe385", "0x0000000000000000000000000000000909b43a3efbce8ac97d6802c6aa977d84", "0x00000000000000000000000000000000000db03f35a1ab98dae7449fc062e0a2", - "0x000000000000000000000000000000ddd5c9bc6d6b0047bea1bd36e4f2cc6fc3", - "0x0000000000000000000000000000000000194a2b9c6ef32cf75c7246273814ff", - "0x000000000000000000000000000000873701d8c165ff7d8e9852a99919388901", - "0x00000000000000000000000000000000001096cb4daf13404b69611c42d1d7d1", - "0x0000000000000000000000000000009e75ea4f7f688a657a6ffad0b882c45b3d", - "0x0000000000000000000000000000000000135268770bc4c078b934b11bafd7ff", - "0x000000000000000000000000000000925283ab159a44df257a7e3386d32eb977", - "0x00000000000000000000000000000000000950d282bf06cb4408fbf18cc3886d", - "0x000000000000000000000000000000a367559fffa07eb7af76d9013d83ea98b2", - "0x00000000000000000000000000000000001b1bbe02c26b07e9bbbf1258928551", - "0x000000000000000000000000000000f19689684f1706fb4c4892760c587b9419", - "0x000000000000000000000000000000000020219d01102ed2a80fff919497138e", - "0x000000000000000000000000000000a47dc8541b73fde46c06760fe4bd2011c1", - "0x0000000000000000000000000000000000017ce5a2cf5a57770afa7801ccf4a4", - "0x000000000000000000000000000000de50278d3db204e6464d642f2166e9921c", - "0x000000000000000000000000000000000006ffcbe5982e66050e7d8b4048c773", - "0x0000000000000000000000000000002b0d70d2e436e89e170e93f18e2571652c", - "0x00000000000000000000000000000000000287ef0d2dfdff377eacaeff31c489", - "0x000000000000000000000000000000ac4d9adc2e772c5a70e98d8415015ff70a", - "0x000000000000000000000000000000000015100c834164ff99bad9d12adb3fe1", - "0x00000000000000000000000000000077f0d4d6b6f31ba4bdfb56c20adbf4083f", - "0x00000000000000000000000000000000000e2bce75ddc0ac16dc036a1d17f6a5", - "0x000000000000000000000000000000b8e7a70812457a74830125f5429618c44e", - "0x00000000000000000000000000000000001983aed6c236cfd18ecca3c737ece2", - "0x0000000000000000000000000000001067ce34e9b3481ebbbc55a57fd0bde498", - "0x00000000000000000000000000000000002882aed8e95861d115d30731af0e3c", - "0x0000000000000000000000000000006a616f5e56a4e99f56000e9461159dde94", - "0x00000000000000000000000000000000000b5ae2dbed08bef259d871413be3c6", - "0x0000000000000000000000000000007ffffccf8da3cb15e4504341776ede9c82", - "0x000000000000000000000000000000000003ee3ef54545312c0f6df1beac4486", - "0x000000000000000000000000000000432e148f25d20c71ba8ec3203ce5b7cd9c", - "0x000000000000000000000000000000000026abe8232a49cec21f4a9e3ff6aa57", - "0x0000000000000000000000000000002a96807a8e9a8522a87746b95db38587a0", - "0x000000000000000000000000000000000003f37f151139d7ff53fa16f68cb42b", - "0x000000000000000000000000000000726b3d661a536322d70647e213379557eb", - "0x00000000000000000000000000000000002c79af358b91917e21804b8cb40c4c", - "0x000000000000000000000000000000ef16bb9a5e531019ee70849c2525b9808a", - "0x00000000000000000000000000000000002c2d45fff3c36afc7d7ad3143958a2", - "0x000000000000000000000000000000b91cdd162684f46ee4fab1103907fb84ad", - "0x00000000000000000000000000000000000da8e52f28843bc1af5799dee86074", + "0x000000000000000000000000000000848d50c6a8041c936199038e8c3ec043ec", + "0x00000000000000000000000000000000002c81f9671689caedfcc5395d05dba1", + "0x000000000000000000000000000000992a849233ea57ec612849d25325da7d3e", + "0x00000000000000000000000000000000000414481c993da67ad7d0e6325b8869", + "0x0000000000000000000000000000000f3cd0350a30a38d9a1f9975fe80c562b7", + "0x000000000000000000000000000000000007075b06967a8ff963b2cda838eee8", + "0x0000000000000000000000000000003e13ec0b3d7124453ce987c9222cf89f13", + "0x00000000000000000000000000000000002e6ef027235c75bbd0478b8118c788", + "0x0000000000000000000000000000005b31571650ecf6c802d33279eb61880306", + "0x00000000000000000000000000000000000b5ec64fd32e4de0094a2c60a65ee3", + "0x0000000000000000000000000000006305a12df9c054ffdd593b18d1be01f262", + "0x0000000000000000000000000000000000283b208ecf42e23be4fa77aa6f7a0a", + "0x00000000000000000000000000000070004f996fcb0866d66c59e420987b98e9", + "0x0000000000000000000000000000000000070bc758f401f7a08aeb86027d00a6", + "0x000000000000000000000000000000d78d999a33b1939dab489c52e1becb4ead", + "0x00000000000000000000000000000000001bed9466e86b4b0031be8279fde83e", + "0x000000000000000000000000000000788791fce43902d938aa8521d11ee9e940", + "0x00000000000000000000000000000000002d96e216f8e3dc3330c637b9088210", + "0x0000000000000000000000000000002687ce10fe8ba17c1676b2a19e1edd2502", + "0x000000000000000000000000000000000020b9a5820d55eaefd33fc7134ff8c9", + "0x000000000000000000000000000000ee5f9bdd11a64b1f53c7f74573b3123955", + "0x0000000000000000000000000000000000245cac10a49ef03e75e58545ddf078", + "0x00000000000000000000000000000000c38939a8b49db6082e86ebfa14b0736f", + "0x00000000000000000000000000000000001f61d15380055f5c67408f4278bd1a", + "0x00000000000000000000000000000039fee18e1694583703a046c33a220ba75c", + "0x00000000000000000000000000000000001166ca6bd5f5ca5a01d00df1e4c6dd", + "0x0000000000000000000000000000003525569d05210efaa27d69d0f5fa3fe138", + "0x000000000000000000000000000000000000f5ac4ef86d76ffc42bcd891b50df", + "0x00000000000000000000000000000023c167eea30a91c945c91931ea20ba14d8", + "0x00000000000000000000000000000000002c0166f39bd151604bd10b6b8e86c4", + "0x00000000000000000000000000000047e38814179b17ac55185b9d4330a3df45", + "0x00000000000000000000000000000000001085c4cce1fa12f1b5eb3b9553f037", + "0x0000000000000000000000000000006bcde8712ba6ef0c2f18a8a26669c54c2b", + "0x000000000000000000000000000000000011b7c4a6e760d131338a9781aa9d82", + "0x00000000000000000000000000000088acdbd2c55ba0841d669a389cc89a2108", + "0x0000000000000000000000000000000000057f1072f174ef1f3a1b9098bd99fd", + "0x000000000000000000000000000000023af76153d539912ec35187b537ab0df0", + "0x0000000000000000000000000000000000199a1af2fc75b8c482cc342b7b9202", + "0x000000000000000000000000000000dbe6ce51c01248eb918a43cb2d3470b81a", + "0x00000000000000000000000000000000002030ba9a7313c918aae12a23e9baa5", "0x00000000000000000000000000000058b33d923ade8b5d0448419d48345e5f81", "0x000000000000000000000000000000000028ad3f8c8963eaa28db13b23cef532", "0x0000000000000000000000000000009ed57c51f54e285c34ed4967a9fedff9c0", @@ -128,41 +128,41 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000b4d9150ab36d652f3eed422383c6406c44", - "0x00000000000000000000000000000000001fcda849441d66eb8d9352d0fb82c5", - "0x00000000000000000000000000000082b446c64e579b73d9e62a97ddc8efc5eb", - "0x000000000000000000000000000000000011a87bf75c7c9b3d05408ce4b6387d", - "0x0000000000000000000000000000008877f9d2807f8df5d67f56eea4e2458837", - "0x000000000000000000000000000000000000e36dcfb2681b69846f17d27f0ee9", - "0x0000000000000000000000000000001593a1e8995ddece219f35d711ace4f3c8", - "0x0000000000000000000000000000000000294038b527e5e69662f54d393feb2d", - "0x000000000000000000000000000000e55ba19751adfe6c36324d3fb6c2da0989", - "0x00000000000000000000000000000000001d58aa61c64ad522043d79c4802219", - "0x00000000000000000000000000000078f4b3bc61f19d6e7069359bbf47e7f907", - "0x00000000000000000000000000000000002d7c18a93c3dae58809faaeec6a86a" + "0x0000000000000000000000000000009cba5d3e3970186b3bd69e3378739d25e6", + "0x00000000000000000000000000000000002558b10b4e092dcd559a5a762df9b9", + "0x0000000000000000000000000000007425536de5fd9e6eea1948f387d6d95bfb", + "0x000000000000000000000000000000000009720c80cf5c0610d769711f1df35f", + "0x0000000000000000000000000000008eea31f0f9300a7d2114fc54f4db7a0486", + "0x00000000000000000000000000000000002eadaa149ca172cea9e9f8b229ad53", + "0x00000000000000000000000000000036f9f372e09d2112b06b48cbffb6fe2a63", + "0x000000000000000000000000000000000019f0112ab6e33765002e5acba0e827", + "0x000000000000000000000000000000b3c3cf6db5a5c37c73b4eaabc7c2bdb5d5", + "0x0000000000000000000000000000000000019aaa1db73a9843297ddd5305a039", + "0x000000000000000000000000000000f3287cee24421753c9bb15d7145031ca6d", + "0x000000000000000000000000000000000005892462ef48edfc14cca5c68eae6e" ] - hash = "0x12e6694797761abb5e77965fa0b5043d71deecfe8a6d0253920c3ee79bcfeb7b" + hash = "0x18503787b1256c9f7fbdf82c7e32a42e2ad588f788149618879dab730b30c46d" [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000003" -include_by_timestamp = "0x00000000000000000000000000000000000000000000000000000000689daddf" +include_by_timestamp = "0x0000000000000000000000000000000000000000000000000000000068c146c0" is_private_only = true -claimed_first_nullifier = "0x0fd2b6ba90fd6367b6ebc931d38380db5e1a226c4ad139b41674a8122c052597" +claimed_first_nullifier = "0x15f21513991e2111dd0459a9a2f8dc8cf81837b2d1505eab6e0c7776027ec57e" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x1f8cde81e0c5165be68b2c47089d558a335abff180d3369d351ad6aac4e73ecd" - protocol_contract_tree_root = "0x18eb72d449788231796808c5a8c66b8611b36598807bc2b42c8f554d397b1052" + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" + protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" [previous_kernel_public_inputs.constants.historical_header] - total_fees = "0x000000000000000000000000000000000000000000000000000000005d04d366" - total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000e4bf" + total_fees = "0x000000000000000000000000000000000000000000000000000000004be1498e" + total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000deb3" [previous_kernel_public_inputs.constants.historical_header.last_archive] - root = "0x21d52ee9a007daa53df18b57a2b633858e5f4b487743f1f09272dc627fa0a06f" + root = "0x2ce60ce3930b66a957e90d8d7743f53439be6d5a2c628afea9e65431767102e3" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" [previous_kernel_public_inputs.constants.historical_header.content_commitment] - blobs_hash = "0x00c00dfa9c24c3a99d31f6b1e0f75320688d64e59d4aa3396e92d33813f09f82" + blobs_hash = "0x00540c19affa4d7213a3d9c9e95c740c76b231c1824412682c8eb340f5b299e5" in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -171,49 +171,49 @@ root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000060" [previous_kernel_public_inputs.constants.historical_header.state.partial.note_hash_tree] -root = "0x2f5f52c81e65232c969e7b748eb1b6dfc3f7eba9216029a55622a4105b31a995" +root = "0x21f127e5c363624de42112452ac39b9e7b0418940bcde9b7e8fb70339a54eda4" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" [previous_kernel_public_inputs.constants.historical_header.state.partial.nullifier_tree] -root = "0x17fee6f3e8648b9b76c999d96eab875fe3dea176f65a7b8a59b8d3af783e2284" +root = "0x2937efffa09c64dd72e8fbbb9d2b6fce80bf6859bee419d4089ea7baaeb03a57" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.historical_header.state.partial.public_data_tree] -root = "0x0d603a2c1490b47db2e8e450cd0d96db141ef47b0cb23b574dff666e2882344b" +root = "0x0f998cc8a87058c956ea3960d4d206c005c01b48c125cca9cdb2b528d5179411" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [previous_kernel_public_inputs.constants.historical_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000006" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000007" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c5c5f" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000008" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff540" [previous_kernel_public_inputs.constants.historical_header.global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [previous_kernel_public_inputs.constants.historical_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.historical_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000573a" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] -da_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" -l2_gas = "0x000000000000000000000000000000000000000000000000000000003b9aca00" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000600000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [previous_kernel_public_inputs.constants.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" -l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000009c27" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000e10" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2221,7 +2221,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000002" [[previous_kernel_public_inputs.end.note_hashes.array]] [previous_kernel_public_inputs.end.note_hashes.array.note_hash] -value = "0x251d12be593c6ae425fe06abb14c249d94a00a40fb09d6cad8cd1345c1040093" +value = "0x15506eafcd0b08f2dd2607d3d386b5b2deba2911fc7b28a8f33913e89fd08aa3" counter = "0x0000000000000000000000000000000000000000000000000000000000000007" [previous_kernel_public_inputs.end.note_hashes.array.contract_address] @@ -2229,7 +2229,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.note_hashes.array]] [previous_kernel_public_inputs.end.note_hashes.array.note_hash] -value = "0x22b933dcc130aaa22d6f87613640d2e5bef5c362302bc4b329a6b8b418ebf77b" +value = "0x0f23a1c614d3aa0e7a752ac407736232184cb0f2ba642d0c96607532a9faf1b1" counter = "0x0000000000000000000000000000000000000000000000000000000000000009" [previous_kernel_public_inputs.end.note_hashes.array.contract_address] @@ -2736,7 +2736,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000003" [[previous_kernel_public_inputs.end.nullifiers.array]] [previous_kernel_public_inputs.end.nullifiers.array.nullifier] -value = "0x0fd2b6ba90fd6367b6ebc931d38380db5e1a226c4ad139b41674a8122c052597" +value = "0x15f21513991e2111dd0459a9a2f8dc8cf81837b2d1505eab6e0c7776027ec57e" counter = "0x0000000000000000000000000000000000000000000000000000000000000000" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2745,7 +2745,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.nullifiers.array]] [previous_kernel_public_inputs.end.nullifiers.array.nullifier] -value = "0x13ba628a15542f62804794048607c1393a6c03836cc57641093d2ca7e661a37d" +value = "0x07d94e381143e267a7f7b8b7cab5c5e0d3f686d6813b0119188d1de8dca7ba06" counter = "0x0000000000000000000000000000000000000000000000000000000000000006" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2754,7 +2754,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.nullifiers.array]] [previous_kernel_public_inputs.end.nullifiers.array.nullifier] -value = "0x3056c761c3f5410c8bec6e92d77c5010a980980cc880bd9cc92eb66a692f98ca" +value = "0x1496c97ae93dfb94a247f02671415c2b47ea72d09b0ca9306319597e3c94e990" counter = "0x000000000000000000000000000000000000000000000000000000000000000b" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3427,24 +3427,24 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000008" [previous_kernel_public_inputs.end.private_logs.array.inner.log] fields = [ - "0x2bdb9c7c3fbd720cd5add60b91c8e6967d4dc1b913d5eb63cd2130bf213e9013", - "0x0d28b13c1c497c262e413909d3e62f394a0e1222698ce0164b75f22b017a5a0c", - "0x0001de166053ee5823fdb2006adb7e96094066e00b55e4e1d100861645f1c0ee", - "0x00f6692bc6b1aa80a3ff26bfa64144b2bbaef2f46593885536cad98aecf82c03", - "0x006036cbc8119d8e42d5ac9f12222334f287c7021d463e01e55bd1208564f802", - "0x0037b19f355527d174c5b0fc2c250c85c93a6961767ae4a45c263c93a3ecb818", - "0x0099dddf770a43f3623139eafeab2df2f01e6b7b6f4bc8cac12dd57cf0fda538", - "0x0051251d7362df4479d293eafba749119b31ac99244ed6ac772720daf6455d5e", - "0x00d542bb5f74bb6202d88d6d96d0060c2c61878beff9edb400058504abd3cb63", - "0x00fc5517a0791f35411e857780291801ff1fa0e3ad172a081d5f626b91330288", - "0x00ffeb17d098cb7be963ac708a5d22704072ab13427f17fcb6fdf7d8b184b64e", - "0x004f54d3dfe1bf7d69f07ad37fbc8a31efc826ac1ed9157d3e5f58f4751822d9", - "0x0040299192075939a25e1186455194c56db2da5b8e7f5e5faeccfabffcfa1b3a", - "0x0045f49977cbe5bd02688187bf83f0a102be088cdbf50e312e30b37ab8578e6d", - "0x007f86904bc5bfa04bac403e7d686f2f0fc618d1eccb7532badbffac2a0883a0", - "0x0030c21205133f1665048884eb4e540618f6246f9ca9785d2425fd7ec0b1e0fa", - "0x0076835ca6d0fa57f800c5cf121c1752b275e9c976dec8610fa2b698b480a849", - "0x00a8deb2b7d0a565226e6d241d64ef46d49f37f8c34828df5bf89b3f2a124ab2" + "0x0154c34364a7f6cdc36bde27f9a4a5588ab5f493831eb3a57c91d167df8fb4b9", + "0x1e0e74b782af7824e19291c66d1133e4b25c43a56300fe24543b8aa96708b21f", + "0x000128da5028452107525fcbf2a5a8a1a78e49145e819e755f7ec16f4289da30", + "0x008deeb42f621316f20aa4f124a4e4c5bd2ae1fb3aa7570a86e96a84337f0f97", + "0x00d11dd9fda795364530d347c442c42f3f2809795c3ee47a8a6f4cb7d8cadda1", + "0x000b86821b7b86d03c1b51290b0dc369ebbf976ee5ea709ec870abce7b1d5881", + "0x003ff13f3d845504d9a94b449ffb8abca84ef213ccb292f9590e9d1b05aca970", + "0x003f65e3a3179145e7426d2d9c96fa5b3c167f717ed900adae7f1a555f25bc15", + "0x00b755884f6862e14eb147ea5e510ab245bf48f394e48ab97a6ced0ed72e1a6b", + "0x00ec465c2b4620831980e86738312bb964bfe8f96bb454289f9bee6f382b9f7e", + "0x00b276c8b5e66a0938d7e053aaccf460dcb0769b1054b83c1d8e3c08a919ec3c", + "0x00857434a6e2e7bd98deff33e2fd7ea35b2d654b25a5a53b462aa954bcde70d8", + "0x00e46b186e2d4289e6fae97f378397486204539ae14b379a118cfe8a77dbdb68", + "0x0025d2fe5517145edc666e957187791eb9fcfb460ad2043a85d6e1510bdfa99b", + "0x0018827172865ab166baea28525b337c5bc795148b937a30c4031fc9efcbff78", + "0x000eedc79aada69666c772d0e2d4f60246972f331437a33f2975eb07793973eb", + "0x00c1aa61bf2ca040bf6e5541b2a95d39efb7604d9733a768d1ea3510023f9ccc", + "0x00eca3eb27f77cfb2d24196b55bdbd4b1d0b34389971946ff401d13445bf8147" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -3458,24 +3458,24 @@ counter = "0x000000000000000000000000000000000000000000000000000000000000000a" [previous_kernel_public_inputs.end.private_logs.array.inner.log] fields = [ - "0x203e6dd2534fd236658ba5a69d0a962e11513b9764cf1bf6d3ad2da1af305b9d", - "0x01a17a2710a5a9cd76e5d65f99cd7016924dfc595f613dade2b2475d33dec437", - "0x00007be618d9a03419e48231451308067f2b474d6094cf0b00a7d8d20c1b5431", - "0x004b297ec28a532eb74d22f2387fb2bc9eb97cf67491df69d8de55d72f31bb41", - "0x00c48e063f0533ab90fbd4fe755afed6fccdd9bc4fa1b82a548dfbf478541372", - "0x00dc2d2609971a8c5afe68d37d6600fd12e9a6252f40b76f8aaa32beef216a80", - "0x00b52d8b8fe149f1b13cec2644a67700bb0fd4091db824b04f8f101eb07a5a26", - "0x0094455696fce19277bb0e7e16bbc8bd3b0a9c4bc9f53a097ea6e063d1bedb3b", - "0x006473ed63828060be21f1e8ca316657dbbb29ae3ef8972efdf0f84044e1a5da", - "0x00d75a02ce8604a8ca6fd466e9211deed32b8029edec2969074d5cba04173835", - "0x00634e0513e4928d0f9d0d3f74a130dda4968f27add1726490f5d1c8630b3965", - "0x00d1d6aad09a6bc12a24b901653f7b20dcca5dfa2f87db3080c0c4bec6e30e5d", - "0x00a9f86afb99095050b39671126f55aa3e785941ed3f98658d56db7e8defe44c", - "0x00057476e4dd723a3a02d71d5ca29133f3134b580859ac3d49a4291a4045d572", - "0x005b35e0d6819c1551b3ee0a96c943236a33eea000599b7f61557ec217fc78cc", - "0x003321a33517ad61deb49b584b7608ac7c215834dd2e08b2ae2ca47e834122d9", - "0x00a576b0a132ccaa046d44be943aa904e22950d4c56c3d12d8cf262fe3554c9f", - "0x0028b491c163351a1f2e4e615e3d388c10a39f3e569a9290699342638c25be67" + "0x25da04426e7dfc3c2d4408af13393e111d58f9b89b6540c05e63326544fcd80e", + "0x194c262e6ca47fdbe0bd90c27a6bdd9a9d7580e16861ae895cb744362ae9c9d8", + "0x000040926a72e6fd3d33941182c0fc7f812a4cd9e7a21d3ccd187709e0a198f6", + "0x0084ee106646409e2e888ff9468a0e35f4d9d3d1c43cc174fa184c48fe4bbefa", + "0x00fb529e728ebe546cc2d9a5c09359bdd7b43a7ac34c7d364b9afb6c063fdd39", + "0x00286df0c76aa376c202b58cdada712e0b6676a57bef842faccb5988a24e6358", + "0x00844f84012908403c1e61939df16f2c3c5205f836ec6c86e1789a9e7fcdfacf", + "0x001ad483db0d4637bfb9034f7aa94d9ceb27d76ad13ad7c5ab4c114a76ebe937", + "0x00fa493b91d855ceaf8e01dfe971e0a49d86be81377664566626c159579ac028", + "0x00670db3fa0b0bd20f961866664978f7acec489b3f78561909877cf615b44554", + "0x00cb6184314fd2a1a7fddf35ea2df32e79c5ac4d75f809fb7857fda73cc6bfab", + "0x008417697abc8e33e848fccf965559485f09909bd7b5aae9cbadd25e2db12840", + "0x00c770aac3c6d28913b4881e6df86452c36564e1ad95a01cf0b7a7c009c2d85f", + "0x00c601e996d0468243ec608288377185555a638ef1f776138c7d63564acb30c5", + "0x00a06a4a0433cb0a27c8217bae3050e14cf1e53f6042c0997b1ff76ff1fb07ba", + "0x00d1c3b5d297df808526c9427e6793613543be2218e16ceb7ec1299f2c252045", + "0x007d7536bf93c15ba2f8cb9eb6e8f82d3faea6478387488b661ba0baa27d20fe", + "0x00db6c89e99bb021cf47ce11e713d49edb80f87391ae96c87995cdcf1a282b4e" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -3489,24 +3489,24 @@ counter = "0x000000000000000000000000000000000000000000000000000000000000000c" [previous_kernel_public_inputs.end.private_logs.array.inner.log] fields = [ - "0x07cba5238a7766d1ad4988c81d4a1e204865caa23022d7847ca37647ddf577d5", - "0x0457da091f41fa57e41e07be02bfbf8e587968549467bca3c6b34c3b9bf512b0", - "0x000089ddcf8873b012d20be5c8db08f68fdc7e4d65b65084fdb39d25bae226bd", - "0x00d5c06b9ba26a5c7d4d011b1aa6f666de216b4676e750baf08b61f928e03edb", - "0x0043d5396de14739ce88ec4fd001baf93f505cb8db19d959d9c4cdaee6ed18f9", - "0x00b758fe60ea70c137dff18a11bb4fb0e7cb3b41e09a187f61ac915fed53a624", - "0x0000ae64a0a9f0b66de2408e295c28de3f703c6c044224912f632b520cf6725b", - "0x00b03a329a19d8985cc534c902482ca3494c763820fa758ccc25193f3d03f60d", - "0x005c31a0cf30135231e872ab28e7d7afbab0ec1eedec5f7d4101ef82b1d06519", - "0x00eae01c5425ab3b0be5e5536ab29d754c6d3f16e5a376f6fd5c83b5a3965c80", - "0x00b2309d5c0e7d1a0427d38c306c17c6e5047947b7326073219ab36ec4bfa563", - "0x001c703de0ee61ce351fc65580e896cdf5b0d247547c10f91908c0a9ce0d7e9f", - "0x009fac1c93c9c321657b39c8c3bf18a6d06677ada71836e1aee4ff65243295b4", - "0x00843b70e7701f0765c8e6fa094cb1650dfe19be8404c492b4173e7c5facb7f1", - "0x005b401995694cc8baba28eebd2dbbaf6ebb2537c75b3c297f10faaf1520d0e1", - "0x00fbe1355f799e2a4924143548c3cf3cdc83faddee8318fa4a6d9a152e4f6e18", - "0x00d537ffd93831c4443ee8581751152d2b957130d4ede5d0a32252460e8fa2fd", - "0x0080c991e77098ae849a0151558403b2baca38b3a5f129694b2b0ca1d390620b" + "0x2a22a6a0c07db33b0e10627a5dc9a9530fd904e9e4319a34b5c1d13362446bee", + "0x2c096d11874bf4606a96790d12d1dc9bb9b2ecbf372263077f296302e9ee6509", + "0x000192d0f6a7b6232722168d53e9658118105b8ede76a6cdcdf778d90f7d55bd", + "0x0070d051a7e20edccc99e55bc850ea1c62fc02bf3f338911681a5f7bdefd3c41", + "0x0027469cbc77b350f2b7cb55f523d21e351f5720ee3fe97a3bee3c80102d1e78", + "0x00d84303ffeea7794d017048add671143949c6ac40f4141ffa17f7cdbea56f8f", + "0x0094f44c6c6f3e2a30fe0fe1de6ed3c1511b872d64856d405fae6826a6e584d5", + "0x00fd7a0585d1c8ac8c693173f23570fa738f01902e5e3a75dad77766a196690f", + "0x00bf5889f2af0e8d9ac455cfd9df4f76e4c418632269a8801bee8db9fdb2c0be", + "0x007938940eb6bee4c9a6d9154a2c750bd82de3cb6ea8bc14b08ac406d0458458", + "0x00d084091b1db893c8040c96428af39f332453148780f62c13548d449489e3cb", + "0x004e9af25804bbf34a5c443d285d48a9eb6ad58cc43b95993a61e86d4e96bb07", + "0x00145377037254b6a9f5c65c69c91d6f810f8d9caee125fd053296247556faaf", + "0x0077faa72409206dd3efc65177f8c115b93f1ba8eda67d20d66852f463c34d3c", + "0x004fa788e774330b0f27b410665e8c4881572582e8ab789e942aa629d5710b98", + "0x00c041a9facbbd3e414f47c2904625f1edc2478834776742318f6e0ae2a7de66", + "0x00f3f2d9e61e55d86c7993b4ef72fc70957df7b8b403efcc8ed6887b364f2d88", + "0x00df62d18d520c5f4b05282de5f0a8948fa15640b96752fe0a0c7b06715177d3" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -5003,4 +5003,4 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x08078dc9d3bb206b81bd7c186980fd81a2a1d95b3231f23768d4aa06302d0518" + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-base-private/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-base-private/Prover.toml index 4c401429bbf6..f90a83402105 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-base-private/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-base-private/Prover.toml @@ -3023,923 +3023,2163 @@ contract_class_log_fields = [ ] ] -[inputs.tube_data.public_inputs] -include_by_timestamp = "0x0000000000000000000000000000000000000000000000000000000068a99ccc" + [inputs.hiding_kernel_proof_data] + proof = [ + "0x00269727e8cfb9699e50758a890242b553ce2314c5b39f62a5578eed0cadb11a", + "0x00e89310cbe7c6329a15c05daf39a3f13694456fb6fb05e399c30a33334a0396", + "0x00a60a575962333390a60ad35e3c5a7be09cc047bac64be67ba7c7c2c21cf092", + "0x001e866a98bd3a10092b564f747c8e7cff207899dd87ce346a860f55cbf5577a", + "0x004d0df255c662f9b81684e846f09adba9b155f2cd20fa44933d8448b065f095", + "0x0042712256d4dd3bb29acaa9e204da7aa0eb2eac8cf6b2cd361aee683c804719", + "0x0098433c70ac3e38a0ac7cc2bc256e6fd200939fa518dd089548fc39ddc900fc", + "0x00fd8b0555a6dafb68ea812d0114b103dee4323d3845bee9e96da25604b87a9d", + "0x002edadd42443516150e8f0313c4014161bff566aff3db07372984a9e8f74d50", + "0x0003e93b29892f50e94a5b0a01df1c8fcd8d4ba91e0b3635613f0d7c0471993b", + "0x00a35f4b789208a2912a7b6202a0ec9593f0d8b9ff77030b014ba0689bc1ceaf", + "0x009bdc87c835074709a8a1ba941bbe4bac1c4b4a65170e4b0bc93e474576a6c3", + "0x00870815fa5766104e313c09efb6e6bad54cd1a652a183091c3a082aef8e5ba3", + "0x00f2ff6d06b1609d98270836eaae5e078ae18fc0f87ff52dd1cc64df1143f4c0", + "0x00772907b69f3cf0980920c413a1d96427c3fe1790ff584d02c41701d862e79c", + "0x00d9312272b6e9cbe5eb7cbf8f1670dd719056725e748fca8b6e7e0331fc1eb1", + "0x00562bfda8b2c104ab5263319869cf4cf9c39d655647d96268e4b9eb67a83bb0", + "0x00dc899c69f5fb47de3a70333789daa29b3121a436abe925c309ea621f95d3e2", + "0x00ef0f57972c58fd82f262c3813b2f63e68fc0e8ace03b1e39ea8f5fe79207bd", + "0x0074031a1de6968f30cdfd1f452fbc6567578ed30b1d8dc6df49d970d08b7223", + "0x00dbef152b0a811bc0e9beafe15bada36f60bbe3ea89e756a68d4aefbc559479", + "0x00e5b3778e1a8260a443f94bd4060243d3150478295ee77ea7102b6de62272c2", + "0x00aae13a51b2291131cc9b6939bd7a7e50c9bacfd3424de822f755d89a9f2376", + "0x00498492896dbf88753a1abc63a2ee8e412c08f92fc0d885202ba933e8495661", + "0x006a28f5693c4f0d783fdd0be4d59199476ffec510ea761db0ed36928a883faf", + "0x0005bb8afae01cc2488aae41ce7abd38103b5186df91534e34aab68ecccbd2b4", + "0x00c618f9046f278dea86016a10ce75f16511ba0a00cce54a17524f724cf683e2", + "0x0020b5b542bbc508a0f59bc404db0cbe5b129eebbcfe376b68e3e6dc4ebd9696", + "0x00859e1b7806e69f6a2476aaa13b47b421ce02015fe719dd72d887a85c47335d", + "0x00d53b00cb4f710f1b93c947b42da0eeb6279c32b098896925b81e26eb2ee413", + "0x00a61bd9d63f9d7f2536830eb92dc6cd0328f155c4b57b35078e1974b31c9bdf", + "0x008abf9d37a836c708a3ef79bd6f8f1d27fc3c971308e2ebc642ea96fdbb24d9", + "0x00ad624f76e616187169774a85bd7213b6d4bb8f12410f949da10b68786546c4", + "0x00ea884f27ff380a309986e677540a4405916579410bbccf3351e12ca4f7a7ae", + "0x0003bd3993a364c38136064e9c6da392bf44a8480c49e87face083a4437a7a46", + "0x0035893dc5d66600592fb161e5fb516031c24c736cd45f05c352ead980c1e9cc", + "0x002a1fdf21472cce1037814f930b898e387bdb61ba7e59b81c5c711530c02f45", + "0x0011d54878cee294f50faae182e38da205a3e5bb27692b9a247c94fbfe196ac0", + "0x004a9c5626935967f765ee4e9d732aa0891999a8a4a3fd409a4ecad4344b4c9b", + "0x0019084bde0c65d4cba178602b15e898baa738f986af7c0fa0bed94c3f8a4062", + "0x00fe09e75da8842288bb115a79c774c435cf3c3084cfe63b2297384e191bc6f5", + "0x00338bcc57a603a60f17ea620244cc2f864d2f7f8a393fa25ed14f24868bdf13", + "0x00d4bfeca503966149907b2d879ded241b05d2c96fabd5b8dc57f299882f0902", + "0x0046af46439e0d6828c7d49669e0d7fdab45505efd081a3ad53c79778d8e4714", + "0x00215f4c9e789cdecd130ddd0d6e8ce26ec5f465bf5e8663a17eddbb7d6aa32e", + "0x001e8e42f8d126e9bc4419a22003b9b440867b757464479c9876ca984585e1cd", + "0x0009e14465fffe4fdf7f86bdf9cd25769e9c00b9cbd58f489b2ea278ac29da2a", + "0x000a7f0243f3b27c2271d1ce037b9bce363a6e933b54bf379dd18abd198fe5f9", + "0x00dda6e78711e31982a32106580ddeee30100392d5b79dc73fbd8f70ee089d74", + "0x00d8472300ea267aee3ce7b70fae5e84f19ade08df987bfac900ed5ca0234e46", + "0x00d6592760cc1f0f413f7a8adc5afd6b98d0ac9815ddead2b79dd1aa38f66cc9", + "0x00dbecc933f9d921504d58800d13c9b43e22e953e38e96e9b760f0d5a391eb50", + "0x00b8994c33c4addd3bb081df8e0b849986c1d4617651d37250e50b32ad71b9f2", + "0x004361168b818d5d60cbad4fd7c7e0346d996a60b267d83996288b016cdece62", + "0x00093fb6550a2751f2e58eff93b5602160dfc8ed0c29df1d09231143e0b51060", + "0x004d98cf4dfdd60a5b0fdb225b5a6b7b2e1dd942ba033c18a8159792fbec0691", + "0x00223e6fe2c4052e0e48e49fddaa76180623528f072baff5d6ed3fcf94127323", + "0x00271b64fd439fe666a4bbe5fbf8233b8fec016c24f65f36f124b7fe266a53f6", + "0x003de2155c74d7ff43858a5cab6b5b06fb9b2b9ac6e2247a42f11a24afd822d6", + "0x0044a134593ef3bb03776930ed9fa7e54b5e870bc6bdb1c4f17e8c86ce2742fe", + "0x00cd9f0fbda4123e2923dfbeb9ad001f9cd3a7d057dcf38fcc183ca50a1e53c4", + "0x0017bf6182fef582b627281ad452a9529b04e7fd4542f3c63ae4a64ce268b0b5", + "0x007adc9064843289a36ce4cef8fbccc071ca824d68939a84c0c9f09b410c5933", + "0x0056bf9e45d290f7d2b9160aa50c7afa214ddc9e32cc6c36432ebd9969eb2ba9", + "0x00c74263fa3c97953bb31ed3209e69d685193b656f8c018d09dcda064345c248", + "0x00912b5b3f26012bc34bf520413aac9c04014a444ac002000336fafcebfb0e54", + "0x00043166b3321c45768d25e36a2b2c64c35650aab13eba5a159e8e42c28504d0", + "0x0098b30accfec69290532571de400e765dd0fd339cdec9cc99e3ec8ad6dd8edf", + "0x00e382164f7171d5e0e73ac3c187ae92e5d55850b71e6031b3c52617d23b1277", + "0x0089d2b37713fb58516851ba33ef7f9b101b03ec23f0cb516b9aa4c99d19f0e7", + "0x00a1b50687cd7a413efd012bdad4096708735ad9994b288980c6dcde159a3c8c", + "0x00111d44e4589eb0c4a02495417aa520f3271f6f3c2d81aa658c13e60853e027", + "0x001a7a629f25d7ccd3c59f78835e77aa1f3d0655029afc4232561a0dd951f132", + "0x007564fba5485047e641d45dccf206fbc49ede8885435d604a08154d6987f8c4", + "0x005e9abf17bf33116bde79edb83f85296204087693e1fd87ae7bbc2fe3e56fbc", + "0x0096fd014d1945a80d606c0b1b6256062848916a0194e1a9d6f233294a3368e6", + "0x003020d23eafc87227619f429031ff588fa0b2669aba04e4f9825bedb9fff4b9", + "0x00ee02af2feb63647e205d73f408b84ec1bd25637500df63de15ea090ccf70e7", + "0x00abe498828cafe69101ff1e4d499609ad00e76d531c92d4c685f1eb908e4417", + "0x00eb351395c4809ca59aa6f17044b78318cfd39b4ec237c2bcfbe0a46dae488c", + "0x005de1b00275ec7880e37869722a6277e8cc2b98d686a206a5c0d4ec787b396e", + "0x00cffc0deaf68a75538ba4f739fffc0e9bf724d050da76f89e1b337f5c7f9e37", + "0x00606c357003016a0918bc23b5629db3eb81fd0ed824468415de45e2657df768", + "0x0066239e4f68bf2256b451952cb7776f2e9816efa93c2560f8b2cfbaa3634cfa", + "0x0091837a6d156c0b0cfdf5019a33c3c9c07639ef7797a174e1a71baafc8c1c56", + "0x005f28667942db939336a6e83e90424aa46187fd576b37e1421456dc87f4e12f", + "0x00e9f76fde7937cdd15eec4093402fa10ce262ed020419f20349f08d84434493", + "0x004a3381ddae54de639ac8234039d72a50912f22f1aea82fa00d487d1e0ad217", + "0x0014ff1c0261d8bd43aa68eddf874ba617ca2680f6d92742398c36e7f18e6e6e", + "0x00b57086dae6df5dc1d3cc9d9f860b169b2ed52f0e31976e5fb22d86edf550e9", + "0x00be21c54526502266dc73df559ee4781d0a4e4a22b4566afa0a9b1b5184db06", + "0x000e4c50d0f489a07921063f3984d8a5a580d548f27b208b4e0216fde65f9ad4", + "0x0025f88cd0ddfd63c407bb436ef0a6c02f97319a950d57693266c1ed73e639fb", + "0x00e61223dc2c748eae676f63b238eea03d2b6407af6d983d2239b6ef1b41e151", + "0x0028c21fcbe8befa94304d020b16e17d6817725e0db5d00a3c7ecf2bd334db49", + "0x00e476b31be9e9bfc24f3efb5a0d6c8de7ab13d0bf8a112a8f23f3f9a4222815", + "0x004e50f32860107c5f1b8bb1b60e7dacaabd7cccb20d42332374f8d98d594455", + "0x00b92f08733a55d0147f03e96179cf601d675bf54cb97636bfc8376d871e34fc", + "0x006364c56e5804031dc7c0582deb1d23c225b6b0ffec0098e3c71e1c75a896c5", + "0x00664f8ee7218afcc5af65b33cb005ac041d929f936b5b6feae2a2d5a46d75c8", + "0x004a5654fe4093031202c97494ae761c7465f453bef68e4092597a707887f4f7", + "0x00c7cf99a55d98801c7227c0e341a14286a5c738268d30759ae5327b5f05df33", + "0x00486b0e1e02332d2e57368fabe8eec398da15c0e92000a16b469dfb4ab04864", + "0x0029f937220a0a71cd8f859966b0f8737ed77bc306da51af80970f12f87ac0fa", + "0x00e8d000d7902507d46f0fed50a1018ce9ef8aa1b5fec9ee87e28568b583cbb6", + "0x00828cbdf6286a1eca48dba7889ba48cdfbc91b7c0eb04cadb8e1d6c6ab0d60e", + "0x006bd5b69962b605378b032838773d7edada39067a3d135960814d22c326ecd6", + "0x00323f2f6646d80f8c76b2a209255cbf83c6d8b964a1095973c81f059e20e2f3", + "0x003cd7ff49639162bf5695fb3dfc0cd7a884918c0b6202d4a21c24e6ff576177", + "0x009b8e64603377f5f14325d4293a255d53a0d9fc7fc7f65562766612af11dee0", + "0x007c75a2eb23ad2095cac4f8889c14c976da2f11073d5af185ec98d6a7f95daf", + "0x000b852ee5e0896ba607464ba97447d2cf8cad6bb720b7c321c9ce7248d1c250", + "0x00dd8406b85e0a4d939644678b292bcc41cf8fb2949022000e3fb9023cf7abd0", + "0x0096efcb0c3666ba22476ec4ac52bd349305b324f5faa16948146e3c56c01ead", + "0x009b6151b80b224868e1497bd0c4c8a4b2d812e308cce70cd4bd267c4033d055", + "0x000c63e58b61a86ea40df6547ba2d6a49f205952f7deb06d8eb3e82c6975192b", + "0x00b72d48ac4f4cc4f2daa30a251ed1cb0b60ef0ce6f1e95b824a501522c4e3aa", + "0x006076023c30043e419e942111bf068443f1264fb3c94c01040cc72f8dedddf7", + "0x0006d4d798f5c57f207e77038c1281fbdc5f3c10036bcc67da7b827ac7186777", + "0x0076927504b6ba1e18670b06b8b15763f15c61aa08f0e6cbb45c8d3e5213ec9b", + "0x007e88263931bc3e0bbc530a91b5f4410f0a0f0167ece6976201c3692d206406", + "0x00885620d8a57fa9a4936a643758d260292cb2716140063eb916558bbae418cb", + "0x00b28a6a211d72b32980329618678472ba78e93e2c3ce517404c737c3178b662", + "0x0045775d3576a58b260f85faa71f83f5082d697e62a3577abc535b18ed26f356", + "0x00c3353f3a6ab90d410a1ea44c4192c0f1fc572c181ff629544b84eed7e2f8d1", + "0x0040e2d245e3207aeea0a2d3a410400a02cd4824fb907f4d38998a530a959cf6", + "0x003b04b1d3e6aa1de6fd3d9c40305778ff4edb8365e5214d63d65a1ce0b0bf38", + "0x00d11886d80642ac0086237e7d4d6e3d4d43a4e0a11097e334d67be533149a3b", + "0x004c1a00492e137690cbbf7c9a2aa172fcbef867e43d8c6a498d256ae27e6b63", + "0x00e2b8c1cc1d00658dd7f40ecdc8be7cd20baac9fbef63c913e9a7b7fa4f91f4", + "0x0056bdda36be5886bfe06a79f8dc4b5e70a768639ba7ac26b6fb86e18e6f4520", + "0x002b2bce3b06778d5773138b92260cf25c8d3b7d602609df63dcd353187d67ec", + "0x00a2916d3692b9cf40adcb38118cfb672994408e5bbb501b3b11449788f22ec4", + "0x0071fd517d3e3303e9b4e111f666f4281e35e8385b96c9c07d80c5004892cec3", + "0x00fd629325829d7c169912758befa844a38f6998259d4cb135d8b0d970793614", + "0x002b35b66f2e359cd3bf6df15503497ec63d098a374e2e7394949e465663e8b2", + "0x000d732401c31af731bcf8324c68f5218b23837e65f432bb4c350ff488bdc653", + "0x00358ce17462efc1b920665b59d8469fd416805aca5772d1971515321d60cdc3", + "0x0081ca1dd107e96c311bcef7c9a9b40d32e31f6d976db1535cb40e4a46c0d9d9", + "0x0077983b6ca33d70f7c589bdc2d4091ceccdce83a34c2361aa75a81820b04f8c", + "0x00d18a971dc6b045e3a7528df6ab23e1e21c8343ead2cb19e6ed5fdccd6bfbbb", + "0x003c9b27303136aaa11e9bb8f8c89e656631f367f430fbd5266f3c649fe8292f", + "0x0073a1a661b5f86a08fca06af2d8063cb35fe6b3d047c0fe76a594d01b9a97a4", + "0x00bb8abbc297ee6528344ea34ca5928e914d061539e04f14b8a455f7acf2506b", + "0x00c6097e6c73029aec7655a6cd71192f6e7a53dd1b1bf5d36791ce7ba7ab7c69", + "0x00f6e5c84e500fb1a917cc993344e0f8941825460b2d92c5bdacda2690cd9038", + "0x00ef9ac10a80cb5c7071746a4e7e3ff51297791dc3d0911e2d54a5c2c33d1997", + "0x0073e0d75efc268eee01b0d961df327842d711b0f223f133388c066b5166c215", + "0x000d969afc3b063a6f189ac7351cc6623936aee4263c783d8812a9b9606d41de", + "0x0031cea2191bb861bc13be01b9df808dc70549aa89a62679c651c6832d87e24f", + "0x00716c5d14af63cabc596ea5e1719d24515f1fb9ab4ba19a799df896aa28ebef", + "0x005d37ddf69854137042637ccebe41c5750b5a4f2ec2cc00ee8d1d1419d2f700", + "0x0042a26186da9cb83767c3233960605ffebf670c1756782ff3a9b7951c985380", + "0x00b4de46e216e87df9ba47d86a2de73b427a1b5dafa4c27636d799a755a25433", + "0x005d1f03e098732bacbd50aaef03fb98ce34ec387dd85cc3f6db9d100a253ca7", + "0x00cd208ea7111d54de19ddcfc8ed00bf7bffc92499e2fe68f0756da7fd271c32", + "0x0087b74e2f89b007b76bd78a95506e3ebe29be5942b6e94e29d80334bcde39cb", + "0x0033e6e94ace393575bdb7b42fc6caf53a0de8e54df05f82e4a7fc75aa67e93a", + "0x00c9aafaacab9bce972895ac0625c0e889768c2a6977b3c3c441dd30ca18d3bd", + "0x00afd0377f259453adc84d5c218f36887bf86db66f231c6e02e631c81e24eeb4", + "0x006f57daf2d2f19e27df70e59d96b3c5ec68123e39def054dd663db98fd5cc07", + "0x00f770441544fe9d02637d62953aa6efe636ef9975781372de7205ccabfcfa44", + "0x0033dd9b277ea5091a47d1122112168e2915f327e322e34de2504568e7b3e44a", + "0x0062b706daf8adbe0edb16d5785ddb0e8dce858af72d5016e0d34aa292ccc16d", + "0x00a7f2135fa099813887f73ecb4ac11de07c14cdc92f4a8b5fa3c5df15921252", + "0x0077a0642af7986fb35464ead061a76732a18303a0c32b30bff455b717330e7e", + "0x0044dd76a1b3ec12e42363227a0fd4ae8ea068064623b4ccd3eaea08618b3a78", + "0x009fa2ddedf8275bca508bc7970e123b5db22d72ccaf0da31d1e44833ab41498", + "0x00d8f3a88802070a2a439eeaebcaab6fa596de8a34f3f99bd970619a7ad2a764", + "0x00c6e6e5e96d59e956b62354b8388be26e1683d51bee92aaceb387cc066270aa", + "0x00d051c7c6c2d02ab40e4735c74267a76b0b4a8f4e6519fbf51b066440d4952b", + "0x00278f1925582aa98c47b15c5760615d31c83f620da0b070da4ffacdce3a4281", + "0x007e870c8950295f2395dde7a9feda3fe45c01e706d3a804cc64b9126542e3df", + "0x00d9778699519e049f049b370ff99e6b95ee15040dbe4d2882f5f0840ca24b42", + "0x009fec69422fba46e50c2efdc6d7274b2fe36be7223c904a525afb56d632564e", + "0x00addef05ab6879c0f104ae05c4ad6b97eb5ce22e6060d79072a7857403221c9", + "0x00d31806e6399ff9c8ac22179818364f35a15fc93ead8f3adc1dc6bca3640772", + "0x009a16ae35c6a2c46a91efa4b2768238797dc25b77740ba967da25d85af8f6cc", + "0x000fbee287d540f5c493bbdc2194ff25176c67a4c4fbc97bb4e97976f8b956cf", + "0x0053422d5b6f7cc4d1188432a6f0e4be8049eace6acb400a50765c8af5aa1b7b", + "0x00409a3e0984c28f304fd40732f4ba6621bc0579f31500e213c3307281bd38f1", + "0x00f46c473781f07918cbdb12c154f5ea1e7496107195cb8190670c419e827ef1", + "0x00e393e76fa4900b1240a9fa5e1d232bb27c3469ae13b6309e948d2b8a688acb", + "0x00d11ab58c29620d8638ac4f4ab3af3c52d1a40c739254a93ff6567843bbd18d", + "0x005f552e1122cbdffc365d041189ab3d251976127d6e73ddaf5d99a255004d07", + "0x001c517cf04ad9cab34bc38ca8dced501c278ef38fe89031c80cc7c25d9ac55f", + "0x009dd4e1004f342835f610bc16a9aef2c4bb46c8d93839314238b66d921823d2", + "0x00465aa3e80ea18db7c85de7ae2a16cb2e95293bc8148734e56e67c2ac926dc0", + "0x00c5d7138a5bf1ff2f92e334ee4de24112dce6e68160060fdfc1de9981102d74", + "0x008d385c8a3211479756fd67873f975fe22ebd9b5dc2871e273e88de1f6d5c39", + "0x002afb9e3c9c1ab0b95d4e483d37e48244b026bb45c9857084ca7119ccbf814e", + "0x00f1ea06b577657e5c9432172731b1295193fac7448868fe5716451a43b46c4c", + "0x0018d647cc8b756babc93c92b8f72fc75b9163b02bc1f34b6fe7ec621cf74e95", + "0x00204056ec04a40a1e5a8f86c46739ae6a3e8e00245933fadbe231f29b3973cc", + "0x004c7f74b8928f4634209540e90a307188664c911a7b7403cc9dd2ca2601cf67", + "0x00c09f6bbd5782c19f47dad96764165bcf886cafa42f0648c2fe456e8be3bd04", + "0x00459f8d058d6c0f7078da9924388fbc3e58e4fb0dee713d9597b1ebf04f4215", + "0x00a8eecb029f11e568e2fd6f382214ff90659e283c3ccbb80309a1fba5847169", + "0x00f40b0f84842c8f0393ef4b6b6e83569b49a8bbc0236e2c75d121f8a101d01c", + "0x0074941b8a211b3cabab4742b06d18506a444559139819a639526d2d7d3b9c5e", + "0x005603172853b4a90498bb63afaac785b4fd582919ba4dc2fee4a2dc3c6d0064", + "0x007a354dea13d09b40d110ec9a53f62d05845df88d8436b331393b952d8abe8d", + "0x0030099c863ee487ea3dc75721ccd7830074571ccee5be3d39e831f08183d9fa", + "0x00034dd89e2d2e33551a2f759a7919c4da6fe16d8291066ee764a6c370eafdbc", + "0x0052bf06e6bdae42205bd7bff2c96f9fd35110b1141b513959938746e273b92c", + "0x00b72e87853127d7746234094a6429aaaa66dc9042cd70384acd5f1f22d5d30f", + "0x0094d21240e0df2d2326d69dfa74d7ce48a60b982541a532f07289745959dfe7", + "0x00ccc0be82e174fd390683ee7c5cba0d4e231d8ace3b643b97ae0598d4842555", + "0x003df360ccfa3ff52891ad48af75cd22f93162ad005f6824fd82461f748c6c3a", + "0x007818168974e51c438a4e543c466b4fe1be978b7b78b073bebdda6954c57e24", + "0x0043c6e780114758b0176430d6f578b927578636f83c3d22cfe1b8a7080876e4", + "0x001535da8461d29b5f28102e57d6e52b2edce3b11a0fad402cccf3805716d796", + "0x00a62bdee7fd282541d257328196c4954c1243a75888752bb9f3ffa906549848", + "0x00e6edddf62a523f5af521bd5c5c09f729780e91332ab0e9629989008c44f7bc", + "0x00246ccf2c0ce13cdff1f252228b399288a79aae764964003a149039727f838e", + "0x00f1e881ca2b2e63e070482680178eaee3a8acb2d32c3a741e5df42688b84425", + "0x0093d26976bc564dddd7206ffbfda90dd3ef965b332113401af197f9ed542b78", + "0x004896f9c18dfa440f0313356eb58e5377125c7dea68ef90df04f386e41fd9d2", + "0x009adb35e5282b50300eede710abde78a1082a2e1971c3a82ed7fb9dcf30fd8d", + "0x00ee2d53372449cbaf6cf1ec02aceda8ad4f1e52a09a0b6cc83db354d923947e", + "0x00f9291edf57f29c29592b42a3cf64d67c390279139b6033bef40c81160f4d3c", + "0x00883146257055305eb5516f1f12d50f7af40b752cbdfa1889ef4e405ebcc142", + "0x00bea4672aa1eae7613d92020d17ab9f68e84884fb898f50be040cf35a519a09", + "0x00ea2cba01431479f7374f76f364287257324bd113e822e4aba38419fd05721a", + "0x0090095e0d5cca25150ebe699354cec79f27d448c033339df691bfcd8f8127c8", + "0x00b339583be04467801992c593b00c8e9e968223c999565015a2ccd95b9dd87d", + "0x000b01460cf2447f14f872eb941b34d32e15ff701459f38cded255d409ef27b9", + "0x00f77cd9691c75a037a964f4d0e6c5b49dd80125ef21f82d9592f3e28732e42a", + "0x00feddd48df10033fc4c3a268388ade234decb9c96d8e9708f07b3543f75ddd0", + "0x00fbc90a9a44dfb1d1477f32ea9343d0259e922622202c1d22798eff0e859b31", + "0x00cccb17d176c46336233bc7bb3e5ae5365ccb1e658a365a9464eb71ad401231", + "0x008cebb3ec9ce2e9a612e16cc9c95fba84e93795ef2700adfbca3bb9b1bbc358", + "0x008f13154424084a1a6e4b27c1530f90269cca95cbbdeb8caf409f2de197dd70", + "0x0065b548c4b3666905360f215d12b38b6f6b5394c4652c3ab20c5cda9ed0cc48", + "0x0000d0b4057849f0f20caec23a0c920a189479927c9c318cf4238f6a5d83fb7f", + "0x00b15eb77555b9310e081f47089fc27bbae6a0470bf4a43dcba8c93e86529e56", + "0x007f87c2d77c3cdccb8aa0b43e2aa6135890e4baf1550e0e7c4c0be5cb44370d", + "0x008449f651dc84d448e65d28e625d14db2d0d09ae8c5f2fe323fbe002b87b2f3", + "0x0004caf3038666b42eaf325fc5648df36acc139ba1ca72d8196e8a2b44bfafaa", + "0x000a90517f68ae5a921578ebf416e5d029d6a09c763621282b356390fcb81254", + "0x00bb704d52e16bd8e821f5fd05ae4ca37b466ba44bbb2448770a6c0d87e02ba3", + "0x0051240f51d77289e2ecb2b0ddd971bd5ed15324ea0264924a4a37041aa348c1", + "0x00773ed945e97812b50571c5d90da8e1df2fb138ba2b844ab9bdbabd91e569ad", + "0x001dd2f1c1506939dc7c673b954f61c88d4a54a19821e67e7bd21d02d1bb0cfb", + "0x006ee8feac3c436f8cbcebc8a9c1ad8928397c09e4a5819734c44c77400ee630", + "0x0051da36bc7cb38a0fca59bf7e84e842bedc36c31590786d5398a87dbf7afc82", + "0x001741733e9be569620e26a0c32ab9f145d4a056fafcb37c3391774c675279f4", + "0x00762323a0b9abd230c0fb3da0eacaeb80152473b4b0cf0fc8fabdbea187be6a", + "0x007bf1eb9aa61a22f79743a20137fad66af90e770be164a0a9df7b23b6dbf277", + "0x0029d6a05d8cdc2a65df9a0b76c937268307d07b0d3a968bead67f9d6af05fae", + "0x00430a258ab5169758a15e1eb368465d94a575ba4085e3c5e6e72ce32ade72e2", + "0x00fdb6b3ded3c35046852a16bae051d1af4ccc7c522c2ac1a765a86f58ee6ce4", + "0x0071dd301b641fb540864ae60476ef48cd4623029a147767c1276228ef7bbd84", + "0x001e7ee9f2de87dde479c4366f813c9b937f061e2f59ae9ebaf7cedab5e15ef5", + "0x00d9fd281be6e16fc6b3036cdfa819710a614bf8169dff8f0b7acf7b53ad07f6", + "0x00d9b490c7daf4615f311cf09ff5fa40e40f36e04c444e676a74087fc73c3a28", + "0x00b5d061ae73fbc5cf17f657734f0b904660f1aab982719b4e726357204e0661", + "0x002c6de282ad05c01598b49fa37acda090608549b0419d08b561642427301b4d", + "0x00eaa0f18788e613eba8acb0049204ae0216334fd7cb5156690d003c6ee67bea", + "0x000493c86092c6079ecdb6f18569ccbad5d19c0f5622d57776c0d572911e773f", + "0x00e91198da0909934ba91c9fff186668042d5180932ff44a0ac856ef588e7015", + "0x00c13fb4a60ffc60ea92fa975c29d98de74bc8f78c126f6608d4532e0fad2d44", + "0x009ab0f27c3b8057e1f4a844996cd20737521c56e1be2296544f1c6e519a92cd", + "0x00fb2a5e0d0ce1f6a808edff500d7007af4ef3e482c0a0063ab018c0d70d569a", + "0x0049377c08ec3187bb88d5dd6c02f62af1d020f4d9a564fdc6a08c805bb47eed", + "0x0033c13d3d77e3d610be4470ed0b8ca5d7fbfd6afc5178af7e26c1f6265ab2da", + "0x00734bb893e3f50fec0b00366d282099ca37595ff9b1a5efec63e7e5146a29f0", + "0x005575de2ae9bb7ba49c11970b9289e09daee6d1cae9e5a8de8826b1b000808c", + "0x00ca227cf5af1d0d349d467096c511dc61b6dbb9953e5180ad0aeabefd07e14b", + "0x00d4c57bc10c48194d40f31a15d4e68a5866ada923799699980fa163acc8f1ba", + "0x00e84f8e9da7a7415c952336464af27cb44033234df24aff3d596f3f39f47939", + "0x00ef9abfd64ed633cd95f8e7f952ce92f01b1f278bf6101e876b021e92f22600", + "0x001d901a15acdaa2ff06b2772bdf6f201305dbc81c8723468c9fd275d24d2d66", + "0x00a5f8c73552ecde901d3feddc97226f8efa61c5721adcb9c72d5f94149b070c", + "0x00788842dc12d6ed4467488d99b0db037d2beaccd5e6a6386a1f51d66edad635", + "0x008941bda213b499b1d96abbff6f725823afde993231b11ea4d1d03bef7c3bce", + "0x00b6918b41828752ddacfb5a86525bdc734d30ab96fcb5f93f808098fa0dfaaf", + "0x00d243ce70a032a6a54811a6590ba322a99cedc41657b8fe8147c1933a92c7ef", + "0x00bc1d97e64aba286759c1a5a54efee93c9404d72c3c40f7e519d65832b16591", + "0x001442bc1521dd20a3681ef2d333f4ab17fb78257b2754dfb21b1a987e58df21", + "0x00f36e9ba63169db5e7afb17562091a5491c89372e974662d5b3a24740dc43f7", + "0x001d6104b7e155c4f97215f484492655e4257cf97f021f7d4f4c9c1e61e2e1ea", + "0x00e1d477a0980c31a23e4426e74f5948db5395cb59b52679df160f3a26b753ba", + "0x00852b2c2aa11c8d19eec7ea9e9cebc1a97cbbfde3121772d64a1e752aa836c9", + "0x00ef02a6996bddabcd28d97361c156071bee242d3cbdfd351aa47919a17840c7", + "0x007f0b477f03ee83cd714f90608b3f35a913a663e69220730f8bdf441c1fd983", + "0x00e232545afcc7d2fe551953cee7dce86b2f02d004804083ba626e941ac5cb6d", + "0x00f0c08c8dcc2d8ad13d4826801b0443acae5fc7167b09aee46e573251fa43c9", + "0x007d61385575d1ce32f8b39e23c9475bf5dc9d8086661b617ad6c47cf58144f3", + "0x00025dae07423e3704df1e66688722abe79424bb417d3a436078c939bf107b3c", + "0x00ecfcc818a054495492bf31eab585ff4303446f8f70f7e5db107ba12918a00a", + "0x001f6cd4268a852dc6c7d0e8dfe1a30fd7961ebe6a88805005e47967f1c74990", + "0x006cf83485ec3d3561b9c8e892c8e7d2412a90e15224b42b711405903da07a5b", + "0x0070fc0cad5f614d9954f43dc68375940d6ed5fda8cf6696234dbc57d4afd4d5", + "0x008ed0679879e4fc4c3c25d4dbf0bb3fdbd3d9e29ff43ab3f2d0201b3bfb7304", + "0x0085943e54c787f5fcd0351a83359d885689396ddc48b3d0be0caf77ced0513a", + "0x00d5fc143c3e1530f8d3721f6f7334d639cf5d083b3fe43f0d22b61127d30cfa", + "0x005a5c0dce0ae6b685835e725523fbeb744f80133bc00a49847707441c53c954", + "0x00ef27ce62e42dac024fa19a85e69759f49f6630f5a219a302a77bb8b9531201", + "0x006ebcf84bf143b4797bab5155f353367508497e0c697f2f7b9a37432e451031", + "0x00e753055f37fbda1d4eeadf52d039db20574bfbb62c34fad7cd568ec8cd79fc", + "0x003aa69f6ac5bd1c4ef52b651a6f3cffb490b29b785e1ea07cb7ed09f8afa99b", + "0x004202e4ff9056d53220f158c70f54b6ecb7c0f9ba6c43a86c4af8d412258b4f", + "0x00b7c2e9a106cc634a950d8f9ff55309b011046a3e2aafc3242220d7d9e193b8", + "0x00333c857c5a49516a2c0bac4a88b95c34a91320b9b1826d07c944021b4301eb", + "0x00d3841fea420ec2bf5f099190a95deaa8e52490f72fc567ee2d45acd0dd7806", + "0x003426d2105c1bc26b3228230a1555cb6238a1a55d4af7cca4af141f1e3fb191", + "0x00f25c73daee546e302138e757a13bbc454bbbc46a3b8cacc548a2ee5e078417", + "0x00c9642c9ee6bb266b57c414b371c82d95333b8c78dd7a8e53d64da4e5d49b3c", + "0x001c7aa89d8d67a38408186984dee815918ae0e5e87a0f802362457ca6c9f611", + "0x00717b74b70ec44d444cf915815cd194edfad39aa56985d51df08cbf9abbb8c4", + "0x003c64501783919dec541a37ee1388867c90539896df62a9861da5d2b3d77845", + "0x003ca703be6957f5309f07eb6074d11112e2ff9b2065f4c08aefe04f4c8212ec", + "0x003fac2d844c7bf70b616e3d46f1a2d83066a56796dd67b51bef6a36dfa0fbd5", + "0x00bea6708f146b823ad2ca852e0e4b8586c0ea7bbf0febde3a7da2189b06d6cd", + "0x00fdc2afd543263c1d1c90ef0500931ffeae4bb692cf79b45d076565e9ea833a", + "0x0008a8e77c6ce6683f7117f48e0dd08f1661642e2d0770b9b3b2f5a23099e6cd", + "0x002f2fba9d1e54e8816fc3408d6a60968483e5bc737d73bf7c0b1004ae4808e1", + "0x008405a9a9ce00a00e89431471ae3a6296a292fd6d3729aad1b952222bd0370a", + "0x006628c866f6eca13de573f2e774928f3cc156726e4b4d67a0b1c44dd0f67b20", + "0x003abc634ae309f37bb4e95580f041af19b7add0f2516647b21766a649f968f9", + "0x002200ee7ff010f6c98190a38b2c36ed518f332ab1f5ccbd6e3722cb9633ef08", + "0x004fab61effe99cf0e9897d1da14549fa091548db5f5cd6801eb07c858dc27a2", + "0x006fd3aa6ddae2f0394dac82741d7ba3a4450ac5b105948e648d767d8f8b8085", + "0x00e0129e6ae5a386f9a83834a9c6331fa0e62674605795649336cf735be816be", + "0x00b7ee926127ee70a5550a3ecb377c676defd27cc9ae9b294abc49b78e3552f5", + "0x003d772d72f3ad64a3532f9cabd089f3a606d268d0a402ff70461eb1584952d6", + "0x00bac06e28cfd0a3eef5b6917ff1b108552c911abf1a4f4bff51d8b2e5227050", + "0x0070cf114a5d1a7f9669e3985a98d54aa290e99eeee740b2edda715502a38459", + "0x00566ec2ecc29cce71bc2eb70b3f2728836dcccfefb7ba72c17db3356f360d1a", + "0x008163545edb00c86151b4e46a362df4f9a75a898055bbabeb04c2aebb3c922e", + "0x009881c8abaef3df69cf90e5c6164bb43666d90b91f4d0d69eddd44156fcd0c8", + "0x004ccf5bc35b6888643039eb92e0b1317e839f087f9ccdeec7a4357f99954451", + "0x0032d3bbf7f2173173474c167593f935f562e4bbc7ea626c2e7ba959970e8464", + "0x006e7c2b561375bcb11d0ecc25953352bf64b9d30c4570c61f4410e053cfcf14", + "0x0057e3317ca5bd1a18b341949362e80dde46ed22b3f5b076d78499d973748eae", + "0x008818595e1a9841be84292e620bb7ab4067328c8b8c6957f339343a315564b5", + "0x00c9d5350a13ca994dff62a68399851f9624417a9132acd3cf188f775eb077b7", + "0x00c1f454b6bf7bb9a98fb2722cb40718e7980a750779ef55d711350df071614b", + "0x00f14161b546c85d143a246cf5f548bc3b7ad80ac13bc25737364640625f96ba", + "0x00e61f341d6db5c9c6b8c9f225e1a89fde880527dac2e22b03940721f58cd35e", + "0x00f17ed35082050a4624007fccc4f16c68574956b01386fb9aa3da57c7904be0", + "0x002009b36bfc900508a90d7a278a5017e476c6744e08882d7e7d13146ae14d47", + "0x0036ce879ae6705d6856e12fdad980a4e278b25c218d70a06ffcffd061d546bf", + "0x00cfc04314782e52fbf0d74e9c8411a8c27ba378901ae4367c992f34efc22c1c", + "0x0060abf321d60bf60f83a30ee29f2356d66d149884d25474839b34ff98cee1dd", + "0x007af3b5cdd180e0b8f7974027d3d365c982fc528ca9c6af547b71544cd99d65", + "0x00c1b22c654c747cc24389c52023c7d8eb41c5345919ad5cfd9f85f7bec5ac2a", + "0x00cc0f84a8b88af76c30368fbc4fd1270a45ac7dab842656c76468c3993b0685", + "0x006a4e80c4efe3cde9cc85416f28d0bd2c78f6d0cdb6bf9a326f19f6cb111310", + "0x0025146c3ce13b592707a7b2bd61cfc0f36a856863ff46d6dbc122b8298e4e75", + "0x00a0ed3ff843f82388326f0b9759154c7c1ade546e3747c85145a456a85a14c8", + "0x00b737a3385413b406527b5a0b318cb0f6eb06bfd9f51d82b57880940482ecbb", + "0x009dbfbb03e5255dfa92358882115eabb590d4e441c1407080b8a67b25334910", + "0x006df0771d2cafed5f22a653547ddaf361905064173e497a491d604dd77143dd", + "0x0084dac9bdde04ac62f0bdbfff1c147be34972a01384316ee76a655f1947b421", + "0x00de5fa9dcf740a9fbc4c68c948b7615f9b67044950410400facb05cc9c07c3b", + "0x001bf32f26c19aac32e183a8c508e3faa2829fb8f86d87ebbb183a17787d18cb", + "0x00f5c8c0fd1a1a3979e019fe36143ede74c98b8b26099506c61f8d2ca1657dfa", + "0x00d257885d22d7d6243cded350084c62b5836023823c53c1453d0ea2ca82afd8", + "0x0069bbf2b7ae32bb68f4356423728e10a2b79819f6cd97c0189ba7ce1063a547", + "0x009ef1254aa11cfd0705a9722b62d170915068dff878e71dcba3202647751fb7", + "0x004ed19edd827beef91e8e738c0379efe93330c324ff446e98ca55eff6538c2a", + "0x00532fb03f517ccc4f126917843d3fa717bf6479216e90b88caf41cf3a8524da", + "0x0033a4509055416319a48b1c91b9b43752a30c7f5fa2d1d0bb7f74a62594cf69", + "0x008d934a44903c3eac1718f5d29fcb8f57f816634cd120ce2a2bf0053fcaba2c", + "0x00895a124e5e567079008e6b625cab820d705c691310d562ea0eb4ad83f968c6", + "0x002a165fc9e7153e958109527ade22c242a2faa4e7d87d8a12795b4c70e1bcfe", + "0x0023025b9859abe340103d65392bc7811657d9c5b77760e49167db15ed90f199", + "0x001d853977782d777efa0948bb1d2201842e88124eecb4b04076526a8a89b888", + "0x0097d53929c8fddfb81005fda9306a50f3256034ab82f91ad47feafad7c1ccc0", + "0x0073e12b9fe1ac81242f8502d46224c31bbc28d869221582061d293592018784", + "0x003a930c65e79e2e519331b0fa91eec64ecbadfe1a4f808e61ebfdf4e0c4866b", + "0x007af271d4437fae266c3316a7b8d83413cf8feffc469314e3e9c649fadab425", + "0x002f66ad55efa6c5aad738a1f63d7ecb71aae95a349c4e736c38414b87e2dc5a", + "0x0058fec3fe4dd71f95515b446840ad3b5363b5fbbd5e633886b3b6d914c8e441", + "0x00bd5c83167c67cc366d30207807f526432ef4d770dd63e03870df584cbaee66", + "0x00af417027bd692f23db4af26365a0404913dd0e26d4113e5942fc9f51bb7b44", + "0x008235f47171de9016fcf576bfb444781e63f143fffbd51289ace60b544c4c4a", + "0x0001802974dffd76e3fd05d82afdf0057f1ff472335662a704dc4e9f0f780834", + "0x00182a3f830a2f81871e4408a578a63974232a837ec4e8922d7e81025f2bc6bb", + "0x004e52a4bc2a2f5907ec4d324c5c2012e3164a35e3da4baaec700d010b74f1e7", + "0x00c6ee09d80bd6d103387770300961796e339832edec6ac67b6b631e451f19d2", + "0x00216ab8ab31678e3c3c03096923940663ab892919fa3c993ece38e373be69bb", + "0x008542553600bfc0b274ddbd11931d829d5e2d381c65a8bbc348698f9aea2c7a", + "0x00c3ad5e774bdd42110efe880290f87b0d4ac8aca84e845d56591575deb6f55e", + "0x0070140897467c57cc5d87ad3ea9ba617d07b61e2819080be96dc751d2bec31a", + "0x0050e3f10b4423cec1fbb228f8631048e654e761fb658551b045660474a1de92", + "0x008936f0f1aac7a8327c6f1965d25dd005d1c3179a99dd981b2b88a6565d5c2b", + "0x007c8c8b7462e461d5abd1e0c263a9a6891534f00f6330f53c477d5b30e805e0", + "0x00c0406938f7d565caa1fbfa090e36320f8d108e7e1a7327707897eb31710153", + "0x00590f32308a1c72ef5db5cd559b9dff1bbaaf490c1732287b372cf615299563", + "0x00331e27085cc77e59fd92b1d22a14f00ed2697940c00d5f929f64c3fb72d10c", + "0x00a6e350b3a10e910022c835a41ad6689bf718a8c55699e5bf8b3c289cc1eb06", + "0x0075fa686275a73d04f6530b697692eeef355d56b86ce78391bd5385ad3d8662", + "0x00d32d0c2df689ae62df79d345fd0e8fafa6e13327bfdbfdfdf82b34304411c8", + "0x00ae8792808cdb170ab65e10d4c728f49d40e635959a4c72497c307a07537d26", + "0x00ba0ec9a1dc7fb018d7214f1475abd69a5572a1fb282893403030e45b71cbc7", + "0x00edb8a6638529ddd6c3bdec93a9772585a6a9b0d68dc6fbe19161e943aff96a", + "0x003ce852fa3d0543033235b92d2ffd8dd7122ea77b193639256148aca0fc8435", + "0x00e68a6499798600189ba672f435c3e0afd94ef3eaf1b4aca8a4af7e40a2e26d", + "0x0037e0d5e8230f3be6860105f495e9e74446fadce8f26ce2a039a94f3953ed80", + "0x00a755dbd2db715ee1fa43043275aaedff496011720f3c225d40a235cd06f6d7", + "0x00b488d87920e281bc947e3bd0941be47006f3826df77cafa1a56948e43e3a47", + "0x006bec9add3b3cdc68ed8be3c301b544f0f89e3714d426a46f77af099469aeb1", + "0x0095bc9a4e5bbd3677870a0813ab7de40b023fd860e0752f0eb097d7d047c79c", + "0x00dc56f1074799eed0324d659a9f45e1a8ad4fed06c41b80103dab2acd397e53", + "0x00b84d1d5bb8f8036ea5c3b55fa322d8fb581d07a1d01504b591849bd375518c", + "0x0099af89cdf72c7c174e7ee709c8e463a4a22c212edd4c2d3c55506cf1d79620", + "0x0002abc8293fdc243824e23c40750d1fe104e41c97b85b1d287d9dee780d3225", + "0x0055a6eff33fb49e7c0bb2cd6d041a35430455a1e7e9ca2371a6017fc061f0c8", + "0x005c80608edbb2da32e523b9655b5ae1fe1e0a28615e90a10da2ae0d48f67f8b", + "0x00dda62af535cce542cef91cdc9af80ce74165bc584dfe89fcdf349418620886", + "0x00d454b0a54f3a7b7601358742a643204aa4229cec8ab3525a8ff06e11245442", + "0x002f57cf956e6597949a5ef5f17618cd5be67535fb3d8df2615f5258b4e4ce2d", + "0x003de6512871b6713e056d7372826008cd753620618b1d753857e0805839632b", + "0x00eb8d30e6b7a9f7841bd415c9e53e6ad2faa1e086b54b1541a8df4b4b6ce2b7", + "0x00f2351dc6f65044e2fce00e68a6c830ca6e1edb0b27b4202362d69bcb35d82e", + "0x00c0cf9c455ae413ccaa503dd2649e42560b0c5c0111edad493132713f78b770", + "0x00654bfafd556cdf868375890ecca8ce1f9c82112cfb87e888d866f4f4d08903", + "0x00395a2227f974291de5342b7c66e69f600f12b7d8b795243c265fa6c843d03c", + "0x00e168052237a58f3aea2815fad4cd3dcc17b87b44f8378aeaf5bfadff5cd2f1", + "0x008925e8b9222aac5251e740949551ad05c55baa887865fa09646f8bcb3bf077", + "0x00111280f14f9fd227621bca484d39a85fc7b243f3fa99433cffa6df5075b854", + "0x00136d105c2ebb46b3f67ecd412235781da43b928ac0e20cd6173f1a6940ee3f", + "0x004e2762268248bf465066b90ea8c602f3a9613e2890f07ffc7a754d83277e3e", + "0x00ac1d283a32210f9a3ff65b73d948281a393042a55c0aae377ebfba3a079fde", + "0x00b614589d172fb08a00114210f6e847c5a583834d5fa2d011647d808137cbb2", + "0x009b4a4ed49fc22d3f77a6b57de4c20f605678a7155b292ee5b86b36d6b62784", + "0x005d2fc372a9116bcea0f3f4ad46824ff49f3ae9b417084155e8a3ca3b15c61f", + "0x0043cb3a50eef3e0cb25962058ef873ba5e293d6c7476659ae2169d9125ecbe6", + "0x000d415e024a99bb05755043fd9975ee08b68566238c715ad7dcc5fd21b77495", + "0x00105ada292ea795b0e9076a9fb335fe8177c591d27601d4f5646410d6bd96ad", + "0x00a26e0347a041f0920e66178f51d61df6eb616593ced6f0ae674c0e29213b62", + "0x00af376af417dd376395fdaa285f0ac334716567f83e0e9b7dff6cf9d66a7929", + "0x00120a9dc0ca417e76e91d5726bbb35fee9323facdc1281429b94c6e0ec1b3f6", + "0x00f57affcb9e424f699dfbf5e1dbed4228c82279f34fba85d20e3006dc6be617", + "0x004b0df188cdb2fddf7003fe751e564cc81138499531d04b70d1ca7f73de9a47", + "0x004a5104ad51c87696b441f087b5b060cd1eccf52d1cfaf4f2ea90fd420780d2", + "0x00ddb12f09affa65a628870b7f9ba2c4e2d7c2fa87fd3e049899c8d0e50d1958", + "0x00747d065f06cc554f42d22a20a253a784c28cfae4163037eece6252158a00f5", + "0x00fec9295a83479f6ff6d56bd6d1302a2429140616ac352e9c7e71cb007d0a73", + "0x00020d2a03819bcb4b1a36c4ef735719620ac8ebdb3cfa7b7b724079c6d5ea72", + "0x00af8d299e1d8acaffc8ce82c1e76b869af310ffd515f5812c7d62ce11f78b86", + "0x00472efd409662ffd0b220952a09f55edda31fade23a20bfdb27de46b0399401", + "0x00967a2566a6b2049166ea3e3b86058e36d955e545d7eb3ed3e90dcce97b4e5e", + "0x005a69165610a735ee68f5e29abe39776e1ab4615104345fb358bc53edf3faa1", + "0x00c1768eae23d7ee62ed2df0d9672095e429e06eeca9f5614d8519538ac266c3", + "0x00af1e0d317a0cdbfe4d09bc2e0bb94e209df30c3e65485a3b948a818e9851aa", + "0x00864498d4ae27f789ff56c7c408dc79dd16b74cd413ecc482ef87445f88671b", + "0x00b103c92e144b569f70b03f5d872664bcb980e02a5ed13616d29519dc3ea59b", + "0x0094b3ade893da92dbc489d4a1834f9804335b4ceba0690a4dd284eb3287b73e", + "0x007891e73686980b56ebee4a6fe626490649c60076e50df70356950aa9063479", + "0x00fd1900caf0d5e020e228229b798aafdf485c6ce3a6ce16fc2d84538334c581", + "0x0095639dd4430cecd237c8897cc2386d9b371b5a83352a2fd293afd4348005c4", + "0x00ed1ee923262ea1ee99039052cc09b8e549526f56b59d27bef715fa098f3066", + "0x009d1b40368a5b262974a6a58ce47fb82094c4feec22f38d6018372987ce1af6", + "0x00f28f5d533358826cf5f59cd390b3eece3ad6b69cba2d669f70b9d782d71fb9", + "0x0045285baf4fa212f1b2c766e7273384b81bf1440cc0bc30c16146486c1d9663", + "0x00437cb5f36e9fc6602bdd6fc8c97d0efcf25f8d7f2e65d0011e8f910a3dc9ab", + "0x00ff7679c65d526ffc127777179a057750447f5825aaecc151d4288f7b921bfa", + "0x0086809d3abb39024993d6b3781c41a34a938ac1d210464f7df07fe61235b945", + "0x00457ce364c0514af948702f24ae4860749b2465e36c8f944a53fc7bca140423", + "0x002113303318f2585a35e6d91fa70fb229c75c46412b520743ece1c21236c572", + "0x000aac7ce516bc65d22861581d9a032d2edbc3779a737e5c04ca9a9b62c03a8a", + "0x00ee15cba51dac9e206ce287e8647914f584b10eb9a1a0a158abb5b31bba643e", + "0x006c6d7c9ad0585f40a12f36ec25e466432ffb913f997e29725e4c3b126e2914", + "0x001b9017fe85e2084f63f5a4c69125bd1697dde2c62cc55f0cb1deb3830e9e90", + "0x004d00c255d8cc1dfc258091aebbb8acbdc17235dc645c90d56a31179b7bdf14", + "0x00851cb9dd2c724983873b9b5cd3bffe57a4f787850d0c64705df13c5616ef63", + "0x00119f0a184743cb7321ed0f9a84eb7af6d0712de1df3e1a42a44f6b768a1026", + "0x0025aa969e14647677fdabf342a08e76d4419a7fa65c93d036d22a7420b4d3df", + "0x00b88468b033da0111d454056b0d64181eed9ddd8db0f22420bab48593545721", + "0x00f572c8dcb06d152bbb38fa194440ba562f9628aebe2706efccb66fe8e0a433", + "0x00b2334160df4c3621b4725a1a655dde136fd3bc633a967fc50297ebef03f120", + "0x00d6055ce0515e2538d0790aaa2fe1af26badfa70ed15288d9a928e1b097801b", + "0x00274ef7388dd0210214b592b5daa3b556cfdeeb956e0212708a428b1f1cf3c7", + "0x00531d91f1eab852e2d28bacbf09e0ef742a09e81ca229fa68930bf98d208353", + "0x006963a7785d9fe208625da1af2d6f31036051da71976563a1305ff833dc8adc", + "0x006afbf2811c2f6bae61662a30a41b338d555cb94ee977c51530c8e6b27ff4c6", + "0x00a01daac42f1938630476f6a89718f76e72127011c628e112a11756bb69aeb9", + "0x007ac573e2e056892002d48366c3f6f1dc9f772892c46f20823159e4c3eb16f3", + "0x004af784afdc41fd9eedf7e26da2e05bfb1b31cb3c53feac3748b96f02fe5092", + "0x00f6965e128f756628dc46af27759b98faaddf32b956cd33e5b28548f6042770", + "0x00379cca748ae35e7cdbf7b0227f05236aa29677beec580be5bee4d133571982", + "0x007d9e1b4ed762e58b2e886fd8bd5bd4622bc5d0f0e84e3100c30565b1ff7386", + "0x00f7a776a5ea197984757debc2fbc64e4d01e876c3b7052c44d477fa51e72e92", + "0x00d8554f57db4ea83b8606760e30d38b1e105f84bb520d81442fc2525eef20e7", + "0x00e2775a17d11f674665a0f69ff85c21f0254bce50de9978e9bb3a49a4c0125c", + "0x0028bd2c2b257d0e0e30ef2ab5cef33bf6a98a74fc0c3e1335853bea18f6c25f", + "0x00860023cd62a326dcc0358383ceb8241d8472192c51d1c0b91810e32fa81887", + "0x00e9c45a92a980f090097b368c218193d55ace71e418adfab7747010280a125b", + "0x008b2293d2947c2bf1c0f8f64fdefa9ab8778da7f1030e8b2d7f3a441477029f", + "0x0004e5c939e357ef7e017d136859eed099a352c71fc66717b1a715160cdfab58", + "0x0014cf5b0b21171c18527408126486e82a2e5ee9d8758fb485c0b506ac02993f", + "0x00df8c1bc9447fdf14ec60cd5e61ce88929c5405e829b025b2dd7dab3129167c", + "0x00d2e4e87ebeb9634e67b6c778ce6cd26f2fe837107a1174f85bf737b937cc51", + "0x00d90f1ed23d27ce5684a096b8cde719c2a9f18843dee92f99ef8556f6be5c49", + "0x009e4515a70bc3c8a7795a0b9b953b1925d9e510c4c13b545ad239983b9063c8", + "0x0009f6348c75e9e8ba0f23391008bfd6f0ae6008c5c82a378336dced0560f3c5", + "0x009e3f074f89bd955cf794d499ab21203ec90a25fad2152900449bb550cd3135", + "0x0008c47e430a91a5149ece2b7bae92b0830aed7793bc88f42c6951dcfb36d757", + "0x00e67a499ab82798b626b6e386c7058bc301f06ba93745739e41b89f46eeecda", + "0x00934bc09ef1f15b8b502eb05470bfeda6b18c65000aa79f8e2c35b4dfb1e1c9", + "0x0079d73e937e43bf250f16c11d589570f230f759446000fafd23c0f2f9334599", + "0x00d32ce37273c5b86f9045a8227891ac5bfa1c05f658245fb7f7afcc3a6172ff", + "0x0090cb9f92d1898bbc5491c2d89120a0bec12e1f7f0463c53d7e389677a644cd", + "0x00cda5857873a1fcf7aabe7f505216c4c7df3900505819f59461e320fc4bfb94", + "0x00a97795530897f527389031bc759ae10104218a56180963cc8a0adb1166cd8f", + "0x007eabc61cb1264356dbdf8a809a8ccca9285b492b3c4d13ded02e9f47f28ec3", + "0x00fd425faab7059970636a3f03fea8892d3fd010f535ba2dec2ab0e9d5de07a5", + "0x00ddcd9422fa3b1063ef8f646792db4189cbb9c487a25b79bb3832c823b38435", + "0x00088f24e3b71a44538bee76863f2c180eeb10a49efa81b018f1177068b2626d", + "0x004e45c6448245303c2b7be72263f39a4f40731a9d4a79b3fa91ec3974a63721", + "0x006e234f750dd05a220029f77794007e54a58dc80c6d783e603336228dfad158", + "0x006258aa29b36ab78e9e9bbd9355bec07e895193014baf963d7afc192ea9568b", + "0x009b70ff4c0e1f3e890d7c62cc77819e155e05822a26a2a8cb4a2e13bd713eca", + "0x00ce6bc9359f7e218e2de21e89a8327a599243c881d85441a4b1d7572dd4e14e", + "0x001ec743618eec6672a69f0bbbac545dd1cf046e40e5111061ada1ca56ce6929", + "0x00d7e5ffb747c81f17ca69a9db1c34737313ae53b8f323ecbfd784ca41165c1e", + "0x0077cba83c18c25a85d11de1ef938aba9079dad69d38ac77bd976cd73c7fdfae", + "0x004b6f1367bc1ef57c05a94ab499ccc74b95eb2a687a686130d3554a8fe1cf56", + "0x00a345b608b31c0f79ad788b916c2314272f8a0a164041cc5977f46deb394c95", + "0x002b0b2751d26bae6e9a06db1d1af4efc20c90c9a4b2ebb0d2ed8e667d124192", + "0x00e052f87657163da4f4a439c03db090e5d58fcd054a8b60303b8a9695358ee7", + "0x0078a71b626ba6533789a9bd27dd8c2b32acb1f7554b3a0f4a6888d17f53ded4", + "0x00efd6a561bf73be863da2adafa4dc15c1afd1c2b03146e5073f10104003d8bd", + "0x00feeec38efbbad7a614775f3fa44ed6c290ccd900b62c26895d4ce5669d7357", + "0x00f492f46b8f22abcbd7d7553afa9d3927154d8ab5c623b984f166b89d2e022f", + "0x0061c0646a77c24d591930c3a58d14a4e2f16cca8885849a20a97e847c99d641", + "0x00a0d61ce33f67321c9e9171445c042e764fa7badd29f15941283991cd6d5b84", + "0x007b92da05fdefaeaaf095be004288b741def95faaee06869408f36a021941f1", + "0x003d52bc0293417215297cce133ac551ab768f68389f4a91bf56f139cbbe1a30", + "0x00afc9e32bd362e034f80095d1abfadcb4d3dc4659f8ecef230783d3afada8a7", + "0x00ab16922d21e86b2b2690bb1e893aa64bbfe05d4ded769337690b22472e78f6", + "0x00122cacd20e1de5ac3e775deb94c78700c6838aa3bbc7c3c48132c25d5731e1", + "0x001aa1da9fa6c55a52af07d46fdd89c642b39aa8b24691db52ed9208afc5d256", + "0x000d49ac8e8a08c722f7fb5692b61e1d357aaa9ac671d1775df0e956b4e11d98", + "0x00a0864b24687528cd345ace7fc72e55a42bb2e463dbdb51f2d873ece9adbad1", + "0x007c8afb00366d0a34eec097013a45667d8cb5ee30ba24f0217c8afa81ea758f", + "0x00ea9e435f6b24a4c0e63a3782cf24ef2444788443fb6399c7ca1c644cf60dcc", + "0x005eaeed576d40a74fb2bd6c2c7ea90b615e720a12337c16c5fbfaa006983bb1", + "0x00a8a295d4648bfc43e334544c02fd21694fba575a03f5c9ff24c6edad1bd295", + "0x0025be0150a3113ae34cb1c111d1318fa057559d921e82b9460317a989886808", + "0x00985e12d5431961d7b59f60b06c9619a8fa334fbcb8408a290521ea2d3bf3db", + "0x00a1eed6cd241e0985aad7141572cc42598f887e7cbd664beb505e057f7d3a6a", + "0x00518cafaf9aee447bcc487454aa2a223044c182bd847993963147cfc880cac3", + "0x00bf483900a0b784a78115adf52f55617efbbd5e998bfbee789b95a2df362921", + "0x00cea87f76d8470e641f12f4f0fad4bf495f24e72503b68214dfeaf9f5f80684", + "0x00e5677030123678ec5bb4995a60239bf03afcebc185b8e45eedd274f8ef1b6e", + "0x009114ef1ddfd7648bee64e56ac2a8097507993ba7de22afb8c117fee609853d", + "0x006d2203e1110ed3f58685092964ff35855c3e0018a93e9210227672d18a850b", + "0x009b3d985341232b2e695503beb5ba816f9fa8b89d012194f0b01a545f540feb", + "0x0060756e380d71f6018d0834c5a2ed59a3702c5a0343bc0889b85993614b696b", + "0x006003bcc9c0ceecb5a0688c2469a0c5c7f5b0901469906e944c9ac0d0ae82b5", + "0x00aea425d28df56dcbe733355dfaf8fd45c2033af062b8e5dc262659cc97e897", + "0x0088eb88a6bafcaa9c3563c5a0e385459b5ab1fc40db101d28490d270845bf99", + "0x008e42241493af2f4f8a68af943864fb5ce6234deef5ca76f3b022d6a00d25e0", + "0x009e78e74de2d9c6c8e626f9e33bb04c2b4d23d991802d6a73177983ecbdeff6", + "0x007f23def8da4d159637a9e6ebee198a44d28fc83b4a363f5bf2e7ba4e4262f4", + "0x00b96c3be2d2ddda8478e72c9691cc7253c2db865e36cc79ea1fbbead36fbb35", + "0x00df96028f41dbb5dec47b1297212436e2f1e94e770e9fb9dc987ed6dc522711", + "0x003bfdc7779a16a9492c67785680f3f6601cd81de10e3ac814947ab620eca7c2", + "0x00f29665040a4a9f4955e221098025133c0c53e0145cd8f4319cb726d500cc66", + "0x009f3622dbb848aa6b43d292fa3221fe2957e11a406dc4adc5833941abd6b04e", + "0x0004532c604d5b6c5b4047ccc3076e23a04b30cac2a1e6c569456d94972e8ed5", + "0x0002e36c1e16531fdfc1106f5e1b7d054c493cbe987eb791f1badeca9c12fbae", + "0x00bb284267c5ab44107b8b83c42d03f10a8bb4703e27437e6405ae27fc8097ad", + "0x00941364ed998c2967561b97ddf736a82498b28b65f58ea5a2ac6047bb2ed2df", + "0x000b9e693bf67b8bcf8d05ce84ecbf303177bd85c48536c028a2e4b36d1abcc1", + "0x00e02ed533454a88e5c7269da6677bd3d314c38e496bb309ebff96bc64650e86", + "0x000e2b9d61bc14d00628a4d695a0e7633dcca368e0360cdfefa87b9ed27e15f0", + "0x003ff0afb3ed1eb972d42a7ef111cd8ea74f020c2d7feea0c85d6b98013f97ab", + "0x0006a313befe81d2025b3a5d7985c86831d5a03ad8f312a5de80b9e8bbbccac4", + "0x00d3dad69c619778f0b39db0e9fa9f99f0000c60ef62b6a1f35fcd246067814a", + "0x00fca82d26e8fab426d3ada1f14e2334336c3022ca2d6b97df47fc967c8ca522", + "0x00f81d498ca94f69b7866f189df3e63b4a6937b22295529122cff2ebd91af834", + "0x00f7e63a0f328ccfb25353ab0ad38f5dda242bbddee85de62f7da25cf7dce653", + "0x002fd1d8f65e27be962e170f5a6d80e8473699f7444cf872dbf2b7e466495a6b", + "0x0060a1266e8e012066eac537431a239e6d854bd9fe4473947072675cd4775edd", + "0x000605e6ea4a7f2276ccd5d9d9e44740d3b4393dc6849b44d640839a1c33449f", + "0x0067cffbfd97258344fce6334c6282b2ec88a9ddfab2ff8c0cd166afd5f90ece", + "0x00fb9b614902873d9728c2a103d4838b2286de9da2f5b74e3d5e1eb0e741559f", + "0x009435642ec5d22c96f4875d32dfbf1ba13f9f06282e6c128775b9cf739b48ad", + "0x002553606d3ead45323a0e76e1fb43290e6126b5e892736170d9b0f9dfc2eaee", + "0x00090b52825e1559d85829485456705497d64e09d709ed63b5175bee64d350b2", + "0x00427a0dd225cab916e79ff1820fe15a9336777139b5fda8d861d68051cd9b2d", + "0x006fc0498b770fc4c96adb4e412d55ccb39a7b1f8bf9ae94c70a1a23fbd55fd3", + "0x0052e136b16c4788538700c6943f7a101cf072bb0d420166f4d9af27b771b71a", + "0x008485a5e7446fe3750e27515137a9c51ab4f88c5b8caf0f9142e10dd298653d", + "0x0015e77f0218bac42a9e8fbb8cc9c8d2d7be701ff4da95d2a4ab362fc31ed117", + "0x00ba0cb8bbc02f780dcb22a5236a28be7e1e7f4d828ef3883657f6cbfb548a19", + "0x00c56094d441e4518e3ecb6f9baa651ab2617754c45a82f2fe13969863bf325b", + "0x00b715aa82e1946e720dfbb8c9c21103f6823be66f0ca0c3b7325f929d51bf89", + "0x00a313cf4a8755f10bc2cded82cc299e10c01cf419aaf92f2c72cd034b910bdc", + "0x00b0da8b2dfa7833d6887c6246825330e172b8e156578b882bb7f6e3a0dfe0db", + "0x00177d4123dca55a7017e434c583cbc2f9178c0554be85233b85d6c08d8c030a", + "0x00ca29cf6186bbd315faf95757e4a0b701ca23bab2208585e049116f38c1046d", + "0x0092e2cd5e90b0999f41f208e00388e4dbe1d507bf2f0c9057f5a0586f32d207", + "0x006cab98ed9301d8907702311f8caa5649f49b0318acd4377c2c0d199599274d", + "0x0075838c8a1f8573d60057ab4f864163f7312a4ae03a32af0c8bbc482bdf180f", + "0x0046ec04fab3154f37f818b33ccd0f5ad36cb2a38d74001250f3c441881d77c8", + "0x002a2b1b6a6c0e64f06d937a907640786bfed2c871818b83b00f9eaffdba1c8b", + "0x007f41c7b420db47d035880ded2282ef13e6e545c71f5d889db0c3f3bda59559", + "0x009bf9c0ff43da9fa5ca6ceb501eef9b3a43c8fe09d93f3f3b32d7143da0e8e5", + "0x0008e547e3d9ac9a363ab376e6266106ecbd65997e6555f3abb6233ef30b674a", + "0x00b5d157c388f284ef442b6c6224c7c39043d2e9bed79b1c59da135849be0728", + "0x00c7150929d7a39fbbfa94b627bd27c27cffe0ef9b49368a384ef5b6343b17fc", + "0x00c2d27e703f9eb5ea99dda764f67f7aed4ec1e7fdba5f876474c333af3c3c9a", + "0x00719ca7314a9bb037f391688879c4681b836eef3fef8ad22cdd7a3a607966be", + "0x00140249c2b417a2469f726dbf80a0f00aecdb5e0c52124140412fc5de1672ec", + "0x001e2fb471ef8e31d49f8b7a55aee00e4e464c6898fc4a926f355258eac51768", + "0x00f1c6001dab84d5d519ceb6298831ab5b38278e11488e613264e9312eac82a1", + "0x00f3e11865d7310b40c0749e392789500cd5eec2f997aa744e0e7c0c7a84e66f", + "0x00cecdd76c63263ceed351475533340b9f8917997591b3ca7405553a6539e735", + "0x0078c3dc5e5086335615f859edc4013a924ee40f9ff8203591a8de5e93d899ff", + "0x00b84dd596767cfb55fdf3bd10dd84ef3dbb4a9d6913e5a78f8f85e8c4fe21da", + "0x00814958107aa6c0ff6d2d9a858f521c22e7048b72ac866f906ab4afb349f566", + "0x0049cd1d3b30c08f669f3b4ea4089f828b1ecf8a1002e77b03a87658579b8001", + "0x003a883233dbdd569d3f792f1c76c3cd8e1f3dcb085ae5da99efc0648c6f8d65", + "0x009c9374b388dd737b2a56df2883161b3fdbd37fdcc9a201983b9f561726e0c7", + "0x00e6344feabf46dc10a46f3297d2980c26cd8fd9955e7925cd661320ffeea8c0", + "0x002fbca874d83f56f580de01c0c1a11c3b67601e931cf1a1e8005bdff2b5ab97", + "0x0049291f850b8f5762b0cf5efeb3b0f6b415bd1e514ed599d163e0cda2ed1b19", + "0x0069d12e256e08931cbace83237080b3e90cb11abea282096f10fd81e7d0412b", + "0x00bd64419129e2ab12f15aeca395df21aa434e94e239085c167ab8f5cdafad01", + "0x0080f384e51894268a5dde860e3f929f3888a2e377da6521dcb858cf74bfe5ec", + "0x00328ef62938eb9e0cda6dc7a436aed09da02db2c91550d3d9cb9046333c4fcb", + "0x00dd4becf9f8287e3e8cf6cc50844b9fed01c9d269a2a1db180a437ac93b3915", + "0x00f725d95719a020eb6df7452defd88e5fbe775a9d04abbc7c87fd02e340431a", + "0x008cb54fdb681b8d2e21d9c21a273947cc4f3af39a5419aae26a3a71b7e71929", + "0x00184560dac2d6678815ec36503ac8fae7bed67e16e7f516078ba72e57bc374c", + "0x001c7c88f4770651a343fb83da14f22a8da3a83075634f8db9e55b76597a21f3", + "0x0093aa60c6bf355c2ccec0a65cd1f629f83c68f5864e3614ec25e0e0aa648b70", + "0x002f2b5e0bdf02351e3914cfae3d129335b3df075cc620ecff2f8191a5483aec", + "0x0032aaf709f5950687a47d3291fc7a9a2026bc0f2a0e5d48c2e0682730be092e", + "0x009c293239fb2014a1eb5102d77f1527de5e334e752f96bbc6ff4116d9b7c27f", + "0x00da3ce5c50c532101dfa3ea2ae9e4d0671a4cf08cf8b819ae104e06572493b3", + "0x000b38959605f06fbb8cfa1abcd12d61482413b1b58ab07bed4960343a9f29f2", + "0x0020e0f3907714cf95c54ae3fceda0f5580b6a49608a9fba1a964d51d9495aed", + "0x00e7131e1a12e86606af8b6c251d553989cccc3421d5e3acb736f1367d0846ed", + "0x00839a77da62836ca537e42c6097d1406bdf871200f27e9a685b519540477ac3", + "0x007bb33dd1f3325e7eb987131540a263cd2d0a9965a1d7aa2c086c70332b25ca", + "0x006c052bd12469dd75f1569a87416de41ce342e2b901a91114868c2af8961c5e", + "0x0059ded4fbfd8747562f16649804a478c181cce239468c31fbf15f0fd7de8e59", + "0x00cd0414f004b156bec53783a185ad2fb203d21c66d460c843b0ef885d0032f6", + "0x0053ee724c9e7eec43b2d187fe5ce39c0b86f0c8ce1c88f6ddfe67b44f7bdfb2", + "0x00094d16fcbcc3fcce22c0ce923d0da93d63629d051af082060e68fdf5bcdf65", + "0x00f100f7b3a09c45b1127e2ca0684bbc20fcf55d20f04b12105001d14fa18244", + "0x00c4bf26792d6154b8ab8aeb281634221dc37b35e25bd1639281dbba6077c974", + "0x00c1d2461447d4da799f627f2923cf6b4384e50918a1dd4223ae1de4eb144c16", + "0x00d5d342e8842dbc92832e4882e40bc8a9755bd57eab59e2cb0089f5e5ed403f", + "0x004508544849c25d1ae83431e41dddfae196550d4ccf0fab643fef7e27bf6533", + "0x00d2700f5724a25d034138783e6b160194329a949af59ed6eee1a6ae7dcf2d00", + "0x0019e1a3258bc07115db99923e9501b45314785ecbaea73fef571298da89d1db", + "0x00e27fb49c53f7711c7dafe8cbe08bf0cc9264a07171e93b41092976a2b704ae", + "0x006760f18201164b265703d515a24d16ab9cd806d733558902d3d23b6b3a3338", + "0x001a4e03e7fd53554e910cb17b9624eb58fe9d900b6df7146017d7186f77abac", + "0x00aed1b884340e1c9808fe8ceebaefcc5ffc2abedccf535a37bb6b5abe44e4c5", + "0x002b87d046cfa699f50b89a8845ac79de5d9f28d88a614872aa20b3d44a7618a", + "0x005b9b12f6ce7a2cced67e0c993aa7a976133b2301eef5796fc523f701800813", + "0x009bd7fcc1d164222eab2d7df91b5ee80f6a10b46018aae1a171aa3c151dd319", + "0x0019c1a83080084a36b2cd242da160cf1ffdd371012537c9dc03a3f88ee3af64", + "0x00ade5cdee4143458fee34a2ce2747b48cff499bc479448b7b7e10c5464d3807", + "0x000f9dee138527f349417f1249178849de7c43363e0a0715712d829684071aaa", + "0x008e85ab4e286fb89319d9f75fd871fe5f220648633447f3b4a469977c0c5c90", + "0x008e31543e03c244a750dc7f78d0569ad4e3409c05e67942d7816c0465a6aa89", + "0x005b0e88d2e105c6e24d00251fa81388ae2680ee47cca02a1c5276e5014ff3e9", + "0x000cb1aa1dae92c482701e3ea9b7c0331ea03c7dfab6465a07513e4edb69ad5a", + "0x0007d0fa136049264b644edddd472c64b88ca60c46723d8346333eba4298908c", + "0x000e626cc028972fe13481a44dc512d294856adc46ee0e3c5e69e4b7413cf5b6", + "0x00eff398ca3916837d21d70433a3f2d55dbc389dac239852a6862d5a00bda31d", + "0x008110292b082d2054593121fb3750d332e600610eaeaa7d46d63f0db74f69dd", + "0x00e581d62789fdfe86fe373d137f5f5030e2d3f33e6a285494874e8c3cfb5050", + "0x008b15e6b6b286abeb31c3da7dbf67880a0f51d6353b91a7f475a7a1f5d4cc43", + "0x00a889ea5bff202776310815d3c38bcb8473f2dea8487a24f5ab8220478baf5a", + "0x00edc03c30951483bf6b0e92f1e1201fe5e4008b449c5f6503eb77fbf6fcc7f9", + "0x0015d8f2890f3322f96ba4160b9c5982fc3ab25892a6e91510a5094049db1402", + "0x000f464c89b99631314e20d39d3815adae6eb923169370d7629c0ea4845cc2b3", + "0x00bf3bd1c33534a0187c57b535e9a65420e6d1a28ae3d1e3f04e945fc01a0abc", + "0x00018af62393555d65786e77be80057992f361854721cbddf95fa065e7c323af", + "0x00a9258138ceb160e0830ff41b4c39e1e1fb241c1ae5e39ef1ca9d3f42ea559f", + "0x00f7eda1b7ed6a98685866743d9c2ffe47723dc3d1c379ef29246fb95863f645", + "0x0072824298e71e599baa069d34b853c475eac0665b4576c1c69f7ff13c248e8e", + "0x00a2a18525cd868c2f66b50706d461acd24ca278a416a2f288cf8b6792019993", + "0x002d108fd2dd4381a32db2a7b28cfb1a47f6913f375978fe3502ee83ed7a1872", + "0x002e1db01f41750db38a05eb88e05802fde4e6cb3edcaf16b5668e854e052455", + "0x0083ab12fb690fd58a2659b8258fe0a76e692e19c5b7f54cd6efaf2722725c6f", + "0x00c66d3443434bbcebd4c0f940b7c707f6a62fed896a73b663984c2deb9988e2", + "0x007b6067fb312b1b1c27dd7eb7cf433463a5588f36d28416b95a589433323ecc", + "0x0020e8bf0c2940ed315f016fbbbcbddffe041705c8f6db6168cf9527d7c14b16", + "0x0038d4888a6390311f95b03cded65cc036c7e6b38cc1e52c53d637d6d7c80488", + "0x00de9a86de2b639eebf327640a805dd9577c873d4b2882f15dea4919efdf8138", + "0x00346079015704072bb3c690338e748dfaf80c14082b4e2850247a6fdcaec93c", + "0x004e6f3157d90dc4d74b96af14a81d432bb02e4171ea9a6b926f07d4c7775eb3", + "0x0098257b79c1d892a8925d209bec19be830761ea8a38ca2da0cd803b04cd0599", + "0x00cb0bcc196ff8686bf6bde56130009225ae4e6698c75c826c53fee512cec835", + "0x004db8809215c31e6f0616aed017dc4c0c66762a317b3ad7d622d277fe7b7bd0", + "0x00aa108f47a5c16683349f1949a48ec34c5b461baf51d3a7b0cc258db97d0c31", + "0x00eaedc2ae3ca309ee619e08bbceffb75a794f4943fad42890ec13ef540f9afa", + "0x0058917e2a75ad07f53b12e5213b6d6a76cfd7f75aedf5140e8dfba1e0554f4e", + "0x0038ae66425ab0a51eb728d90400f43cba91a7aa7a6926b33a7723a5aa260662", + "0x004b0c2289834064d97be03f82026e4c88da7d712a51a7520b6f3d3a8d4cc89d", + "0x0015e1516648fe8db0a9aba8e68818a5f8842dd8e24c5e3ac70c182e36799947", + "0x003fde7702070abd811ff10750a0752efac391c24b9c847661ace962c977abd4", + "0x0096e92619f9ae7323347e5629dbaacbaab6945029d60b4b56c5d201ba2e1f68", + "0x005ca790ea7296b2f3bbecb111e95eef279a1d5eacde5f465ce098ef34425d9f", + "0x00eb3e9fb70c8d83c0f045200c87b7097f7bf66e2a8e986399165be228860188", + "0x005c9a273bffea80eb44c6d338a90e108663258e0a953cc06290181a08dfdf50", + "0x00bef51209472610cf22df1a17fbbae0bb6a3cd27651b1f34f6e93b09869635b", + "0x0039805d4e4c21170af8caa5be192579f9f68c78863ef9e2c1e76c5098f34875", + "0x00136c2c1fef3c47f8c392b4793eb1cdeedcee27d89c5ebc5f0a48ee8427f64a", + "0x006a1bb968631697c698e98cb56f6fd106733d169b9e88356de25bbf0e36cdf2", + "0x00ab068296c5cfe1df4ef08797e5cb845b1af01334f6df22c09dd09387bbb6b0", + "0x001706aa424811cc8f40ba73eacc87c46fbd1f26e29190fe3362b138e0287a73", + "0x003a48149673f9c43aa68d1bd47886f181728ce5e09c172b40847e30350186af", + "0x003e6237c69cedbca1043e13b712d8967b51802a4c679613c51bef648de78386", + "0x00551b32fcb2a90d60abc48ea7578ff39f803eeeea4a0c1e30a133663c8ad94b", + "0x002f447715c19dc6b021a52094f2f28aa4b15975942cb559cb8433e1fae93ced", + "0x00a87330254a6fc9473d7ec29a648ab1e68c6ea387aec675c631c48178076632", + "0x0080267331b958252ef663a516499164f45350ca146acb8b60ccabac991efcae", + "0x006c66ab4f3f4464150a2a394e8cd211f932940b867d147b75d01762a19a1a86", + "0x00255869618ed50d651f7d3c6008e223b8859db84161843becf593e6ffa78e23", + "0x008f8605f598f7700298695fc19be32e4f28730a69d269d4aff9bca709a92b55", + "0x00d4a3ae851a38ef5765c8a1a04a07b619f8614e3c1aa7dbef228969f76f5644", + "0x00861631e5664e17f1c869abf864e511cb2c2e679ec13e8385f4b657dfe1d583", + "0x0058eb6f05921ef14abb16155554bb4921fc0f981fad8b28a26bee9ddeecc4ae", + "0x000016b43a25a205942125c9d100cd923aec94452d03c2f9c45da61013901f67", + "0x002f413491698a11ce1e3079d1db4ed0f231b0fc0b733332499f7a75c4590205", + "0x00ef55884dab1bea564e40cf367c6359d1c4fb1ebb084f4ef7f33e97b0b540a5", + "0x00975b28c80bf47980389287fe546738ef328f7b1527138a2ee2d5fd17fe1c14", + "0x00986163d2db4930c8b7e9c5863a8148323927c4ef12363d617458de5e210b86", + "0x00eb45d4e491b6f64a70a892c661340bc72882c5f3647d7ea6fc659889de3706", + "0x0052aa9aede51f73125fe14b43b30d02e721bf30fdb48d7acf3495c7df6cb89b", + "0x002cda587d5ed60a559de3ef94152ce9968df88df80b106df6c56ba4c00214f0", + "0x001c81b37b70d6b760de49ad605af71d14f4948db1badb685b6e755e81106c9b", + "0x00679331158ce3f1d9eb358fef784ae621afc777892af82853089013f5504a49", + "0x00fb0bb48e10e481c5718e5d12b8322e535a27749ca92ba24449f97139103ab9", + "0x00ab9267ecd776820aac68f69a2fd9ae410d92e904bdd221e66bcd2d60b01698", + "0x00f81a51c9c53985ac72c89c96471457843d74a7d0640364c234cdf5a66f50c8", + "0x00b620aff23dd0a7f4158ab6f00829566e7358d493363d96010f6c1b5c4e3d72", + "0x0014ade77d343883ec5287e614062eeea891dece60cac8b9549a77c4c4ae46d9", + "0x0086c739080a8b24027e108fe0e00c07144dd02b1b496f90982cdc0adbd7a9f8", + "0x0047adf9a1dadf53c2c00b92e7751bc36e1dc432d617334f969ae134b93c057d", + "0x00a5950b991cd9db8342f408b68737ef60590303dc3279b96cb9015b82901d75", + "0x0036e13142c953d714e0175976375f18a5d73ef0631dc3fac0311cfa5210853e", + "0x00a0c96d41f6640d3ebc8df3755e0ce297de28b9e6ca6d302b2b8bf1af9d46d0", + "0x00a952658935db08b6bc706f1ad425efa94f89214f19cd3254afc5d9a8110da9", + "0x00c29252e551d8d602fc652036fddc985e6d1936fa2ba466ef4a6d87029d7b3b", + "0x00c41077452d980e4f40c26713b42629a0305110d95a7694516759428fa66245", + "0x0038bef3d7548efe6593e953b49837e8bb900f79dd5ff4c168038b99e8424671", + "0x0006954c32d83388932699f5d671d383beace2b7973b85c104a74182aa48bc07", + "0x00352662c34da457e44bf241ebd95884b99c279072f5f2d5ede8af443c003a4c", + "0x006323072fe850eb94caba0941bdc43f5fe01ec53f4a4129266f5947a06fe676", + "0x00bbaf8e0e80a7869f35f386da8c91a945a5fd1c7cca7a2ae9cf734a1663cbbd", + "0x00fc5dd07344e82d925167c747e9c44ef2599b5aebdda2609909bec452124d89", + "0x00753406111f98be85e19bd41bf0f8de427455e1ff5761f3a2fe70ed08b40f0c", + "0x00fbc242264037f3d29d0e6ccd2ef425d64a54c4555cae6f88a83c8e20ef0be9", + "0x0073e721ee7eb6e5ce0c368c7e3d5d02323bdf43b397a654cf5ce4bb58782a10", + "0x00239fb70d6882127728751cac0437165d4e7be12a7a0abbca60ab8eeffb9f4b", + "0x008cf7ad03a61b3ae48e394c1ea4d0f6c83ab6c7878a2434351f100da5fc7b0f", + "0x0021f38beda55539a917409b183ee033795148b702793dac76ca7cc7dd0f7509", + "0x0038255bdcbdb64c8060a2435a5bca2e56ec788ac3f1e10f928d533c2ccf5331", + "0x00bbb50f25da7fb98a77457888433f11fa339a64d850b90743e651add3528fd6", + "0x00087fd517def83c721fd384174ad38d08b5aee1aa682c559990491feb30e565", + "0x00e9dd43439e17dfc2b83ea103a8d20d3fc8b3c1fcb35034490602b51252160b", + "0x00935dc673198b9722161c0c07d01211c90ea9088ae8725bd12ad1c05c6a4438", + "0x00bf3d3cc05a222f58a615843deb74985131c1ccc0b28da69243494dd5854781", + "0x007bd7bec9451bc83f88e9331654e33387e6f63b8434efebc6500fed3f718daa", + "0x0018c2c3784f4b7d4781c0e7c6fc075090dd46c4287474b469258cb9597e564c", + "0x0014d2bdf8b23eb37ae49f3d6fcdf275ef54f805e0c7a92dfd4517c27551ec41", + "0x00764f0d185331ac7f059e00726feea82996b39b41b5cdcf03f56263118f4dde", + "0x00771966068cc366b253797d717b3ad2479af229236859abce794aaf63b5e6a9", + "0x00d4045d44854a628ba4bfeea809671b853a5a9aaca66185b84d83f180caf0df", + "0x00cf08dd13fadf67da2b972fe11556c598a44e96b617bff0c2abc6e5b550b0cd", + "0x00a4ba86595f00740f7c0cad0aac9ccf87bdb62bd6e6896662cbb5a4a8b1d825", + "0x00ddeea46b219171680833bad4f09f51e4f59a35029474c2a995997b6d4eebad", + "0x00182ae23bdf694f932c3549577b42bcd8f599a599be4d2c1f0af17c03f7dae9", + "0x0048272a80c358e26173ef39b6c9d0c7ff6e839286e3c2f1dd77f4ec95555ebf", + "0x007bc5f8f9eeb6b7339b5589f474f1dd91a4c5e23176785b79bd4160dda0445c", + "0x0079bd4fe4be1584ba51f171b0c09112b8e0eeab4086685e9e6fe09c59946a01", + "0x00b2fa6f1445a64b72538249c7a92e7e56c74cecbf5a237620b748c460ab50a1", + "0x00df6303dfd5a8028ff6cbc37657de69f6ff7c448d1e280f84f9b996996005a4", + "0x009f24027d50e3cce48fd895fc67194dbe567c45c7229630fed38f2def6d67aa", + "0x00a58dca5d4b1dfc800b1f5be15c058a5bb7b5b19b9b36f55e55702fa268b5df", + "0x003dcb01e84457c9c52ae1178ff7591b263ad1fcd79bceb17013c3346001e998", + "0x00978ed1bf9968447b8dcfb1151a28678ca04fc6195410be64eeb12bee469416", + "0x004a8c998424abc26e86d24086e34a5af372c8ee7c87803ea0f82d8161b685de", + "0x004f57df88b8d53b08fe54c428bac309af9d49b821a92257bac11bdb9ed5827a", + "0x0073ff6e9781f85537d68e93d16a5123f4721d480ef2b87a147b83e3bec4b44a", + "0x00f22a4bb5defae13f1ff1f7cf155981605edc56ff39704dd70dae0360e86749", + "0x00ba9bf670d2888fa51875d0bb0f6c978296ce2107121cde44199223c8277bdf", + "0x00b9e6084d7178f87d650879b638bd67d53bebf81a37e8c94ee1d000161b5811", + "0x0059971bd6ab5a16a1aea56394820d3d7325d66b260c3edd170cd5c49eaabb62", + "0x00935a25d1ef27208a23abc07fed9767325e05f73dfef5b5beb803b5d8681e8d", + "0x00a668c99c4276b6f0f5880336ecce356e4a8f77471841cc86641db6f41ca9f9", + "0x00a433f0c9f3709783f6739f412e2353503a47928eaaf5c11cee6b6b7a78ece1", + "0x0003012d8bd3643c2261331456d2905a8d720ffdb8157adfab5b2a4e38a211e9", + "0x009551c3f2c498ae7900610dd674622f6f6dc92842f1a7188f9365745047455c", + "0x00ee5a6af870a3ee440deb6fbc73741f1859350fe27784908a22cb21a305ce14", + "0x0055ca08558dad949f67c93f223a2adb1453ce9bbd28335e5243f036c0ccb2b4", + "0x004bde170d60969fe47a21332713c17df05bc355bc76c0377ccd3033d4333632", + "0x00c15f7ac1b5ae346fac9227fd514c7457f953e7689978a40269ca2c22ce7372", + "0x003004982fd815cc74ec5cdf01ad79dff193e2f7d40235db3e95ad075db7f562", + "0x00d9f459fa711fc91c8d9e56b60a8a8b3f8725d01fc165587f875021f88368ff", + "0x00ca471b01736ca285efef4fe979624589fc92b78d6aa2347e9c1ab2e990026f", + "0x00a447ee2038af1ce3ca2aaa49be006228904b3257687a814e572102cb49cded", + "0x00422b5beb3b32379ccaa49b23c3a6813c8ea2536e99b9e1ce61011eb3a8c872", + "0x005b5c8a10a83b83db1e594bbb494d1bfc5480adcfbe926dbbae84a1a20863ac", + "0x000f389457c3c9f7276ca8f3285689454af8aa314bb81a84c3c42864db1e1240", + "0x006e83d22c0e7b62a283ec9ab51144b1514efb72015d063f4826e73fd4976cf1", + "0x00f59ba26482c13830a740f900f090b6fc352ce4684e0867d342f10ceda41030", + "0x00b4a93f7217cd83797941338983c3e7f3762c4fcb5c346a449aa963b4b4208f", + "0x00fe5aca8332c64db3fc4304a32596b81427722bc01550717d694fdd09be6768", + "0x00941c51e3e63bf0f8f3be4d60a656e2bfd5e19a5fe7856f1c65e9fa4415599d", + "0x00be8e0a41945b9fb373be6287db01d514d7a10fb81b6bf85c883a121e1ee7f4", + "0x00e16d3a8cadfd1fa6d625bb138884ba3d5b28266e59a9f4c5f4b702b0f21a4e", + "0x00f6aa26116c81139eb6da9865c67a35ca97da59ea72c65bb564acf24ffff6f6", + "0x00610e221aa54fde9f60571f7f43aedff7573baa6442c19e084d0eef9cdc1d82", + "0x0064d0f68e21be0d4096b5cc813f4ec5318a06ca8edf98d2410ed8d1e420c659", + "0x0056fa09ae7efeaef47eff2b5bf7eff74507610a1b777f1e424a624d50eabbfe", + "0x00be73f4a78049dd2c57a5ce331bf3a15f93945b359095e8e86e5ca1fe6f08de", + "0x00b98ec69a2b1a83aa069add119ad7b447477d939d25be61ee5c21c4d539c30d", + "0x002cf3493c1dad471729ea20da9f5902ec063e477815d34a8b5e55c58ffeb662", + "0x0007624cccd391cc4a8b4789a7e1062b8eee6a15345a5454d27ab17fa4b737b3", + "0x00f7cea81c0b9f461640a31db94100d287f24af7847eef9eaded7bc50f2f83ac", + "0x00ce644f1b54d6b3e9c462a8a00ad0b4ff41113fd11d3c0a97b0aa2fc149c275", + "0x000087a4be7d0da2c862d5ba7b5d86e43a3c37f1019175cef3396e2ecdc69eb6", + "0x006e071ac728bb7cd94cd4ec8f5c00b518af908fea3cb8eee5c1fc5c962c6d7f", + "0x00445561b9c7092315242696e3fe0048600f9fdcd0255ae48454712ba55744fd", + "0x008444c5c10ba14891fad76971238b158c0a99ecf0bd14652b4039232a20c05e", + "0x00d075a14ebf8e7e5f68821e4e276ff29b189cd58eb9ff287d02134e3b894119", + "0x008a1821efbcb2e14d61f70972f134dc7e94fb86bc1e98c039f96d64d4b0ed44", + "0x00bffdb0079c0f1f86aa46f446a7ec16b5d312131baa1035670f35476d5cf096", + "0x00711580a9e9a4c64daf4259f6d145bffe488f19847983782239bb510e63ae99", + "0x000e5e6b0d624ab293c4c9c31bc9422750fce84bf197a23f34897c74df73dfda", + "0x0026a8fc6fd754b9dd9abbf3f6875a1cb4a85c96026da71840fa8a149eb3aa0d", + "0x00bb88b7abfdcf641a7a35b65f2f6361c853ee7de32abf55bcd14020bfb9624d", + "0x007f5a4b42fe253e4d321c77bb6e25eebf2bc4599a760a54c1a43c641da42a0f", + "0x008fd09620e807d03bd0e197db737c399befdb6bd76ef518faa9be74a0c4d6af", + "0x00263359753048493f095d5d3ede1d691336c79b3b8e84f2896bddf15c8cb059", + "0x00d138688959669dcc057c448493498365b2a8d636081ad5a83203f8be221b34", + "0x00796f23b9492734034ff61babc3bede3d30d3dcb7d99808fbe28f4f9a9a7bed", + "0x00d867bad69a890a9ea979e8d0606d2f5b56ac1faf76e3858c38f718373a4c44", + "0x000696fe6b7214b94dc4524b1fac87253eeb90d594fabd2aa2503943dadade9e", + "0x0007b940ae57bdd5a93b3d99a88539a0af0175967dfb7ffd1938ea97c0d8c243", + "0x0045e37d15be066eb9a3c8ea953111deb711b74d4c9e3d5194757bd6854e5dfe", + "0x008018a6b10fb352d46aa2267ff58eb47ca73d355228deb2c6ac64ee7cf54bd0", + "0x0066eaf9520665d2dc302b5a8930db916f51f42b7c6b76f26322870fd30d67b2", + "0x00edebedb8177f6231ee887b7aeb3fd76e022bcad0174f937ecd79f76c650f62", + "0x0075555e828ea6b0a77e956942f1333dcdaaef6e0b3109fe5c12f5e3d2de8086", + "0x00116b0e45646b0cccd3020ecc6c0c7edf37e4db57c1402a428db35b51fadbc6", + "0x0036cff9e39dc432ced5d87ea957b84472b9fd96fccbb7b7912f63f7f686f4c9", + "0x00265b5b3127f25d8b591617bff38d01c81ba5581da706827cfc5e3025e189b5", + "0x003a29a354045d7953eacffbe100b7ed19ee0ab5a1d0017f6337f6660b9b10d2", + "0x008838aa6846269bb91ce40a96dc654be3a451e49a2d5b5970fcde2e50e3877a", + "0x003f038ec730646bee903cbc72f1a833d58c5fad444533c24e8c9211e3d6d172", + "0x00e572ed45236d4c3eece56c993f188ad9af1daf15429059c56841ed2ba70bfd", + "0x0048b945f3ec353b237202cee9e5ad7e5f848b026170be508b7a4ed108f512f0", + "0x00e80f2816dbd25d2f458749711bbc402ddc3f6abc0c64b9499e8c8be45aa98e", + "0x0085d41f6ae49cf6bb0425b5eacd8a6a217c60fb31982ad72c01bffd8251f68b", + "0x00bf030319c9f01619d11a7476586349fd443289b946e2affca893153c85485d", + "0x0059ad96107f57e909906a3c76a27ef5a866dc70fafa48f97742a1383243a5bc", + "0x0061c350a5098638b85d5d1d9dd98ea2587cf0978322419e9fcb77464b1d7d4b", + "0x00f8cb9229ee6f449f6225c3dfa1c5bac8f400e4efb6ba0d8ecf2b165ba62d06", + "0x004cb86201b5fa3c3c22b897c8bb06321096a3568db05d62282d39e99b3c4e6a", + "0x00e8c57f7e432817d1650edc6355545e676623da38242b481005638da3aacda5", + "0x006ff9f3a7936a376c457602b8070185fe1cbea225340307b2f118a53a8bb5f9", + "0x0049e99b2dbe6ab9e7aa0f0a226d7eee8d83d095594d436a8315b36b1e0ed30a", + "0x00deeea39e19943ee94f88ab49c4131c5e0b85f1fd816b070e08c8ecaf1fa553", + "0x00c4178d36bcc6600eccdadff732abc0ef8e92fbae4a026355f1cf76ed12887f", + "0x007ea7bcc2594a9f4886b4212c3551d6be7f389dafd328f7d38d816b1e843900", + "0x0071767a786f46d625412cbfeb4564ac01085a520d7c7f31ddf787d8739fd9a6", + "0x00d7b5fb3f31d9734e41dc507c10ede519a847b0ad1d18dbcb7f83844179cdc6", + "0x0048094582c348dbbcb192c33cab625195f17764aa4c3fd4ac981f3f132f75ed", + "0x009b6e2e2a023fbe6533b966b77fcfa057d593cb028b2d20f120c6f0e74cef75", + "0x0041f17c439a07af88a5db5194be02d76c609b9d522fea06f77cafb4200055c3", + "0x0033cbc3dcb8e5e57fa1148c58fe4130d2cf17e300aa257ba2509139d7e77871", + "0x0051440cafe4498575cb805a194b6de46e284bc831eaf2ae0bf722dbfc88ba9d", + "0x00f523c2b8d60529899f33bdabbc894a0d268ca9ce087991e09115da3531c265", + "0x0063f1bc0cb956b3ef061798cdd02581021aac23d3c2e4b0055e17706d47b236", + "0x0024fa7601138784645959b215ee578a181d3e7ddb648ac99082948de8c8f22b", + "0x00c9a3c694a3d6ed515dc7427a6c6f1e12179a09e363a81d8da0c03ee22d6e49", + "0x003bdafb18483b3f6a89b89aeec931e1513566d8ed7c71c68e679c29eb6b5614", + "0x00d3fc9edb398aad036a27c58b8e0d101edff24529844b6323104ae82c10ac82", + "0x005269399cdcef6eedd5aa38a32b543d32c1b0e7bf0470ea3bd6d883e4a1678c", + "0x0046739dfb410f5725633edd9e830bdc0fb60b1f683eb0ea55bff06373a3da89", + "0x00294aea298b2f98788e3c24e7def1cac78ad21da3d2a4b6f7f870e005b837e6", + "0x00f9656baead02e180c9b6d3eac687807df99f42f860969d7e83a905255432d1", + "0x004f4f2665891726f525f3a7ed88b51309760c54f6bc0a63a8877384b53e3d7d", + "0x00ebda0781838f2592ccbdafc6910bb761593d238526bc23f13d1a4fa9237227", + "0x00c664a32158edbfa36977521307c455dc7524086e52e3b26ac627bde152b5cc", + "0x005aaafa351a8894bd097d45361ca9fffe58d44895bef5139e5a2a7396f58e66", + "0x008372d1bd13e526719e268a9788b59fbb9b2eff3100d3e5918d53dca7f5b25a", + "0x009e8bcfcfd9be53c02a82d137f3c9a54e53bc266bf1d6b3fc003e74ec77d800", + "0x00903b06ff68f4971af3faa6c768abaa40801ae9f164bf2228ad103d4707827b", + "0x00d35f0391faf4ed168384c0b246e420f9022056e0b07e549e68668aea2a364c", + "0x0053164c38a404a3226b4f18a9052c598e4e58ebc532a314dd2db54480a7c589", + "0x00665796240c7ce98022022f4ce47737b41932211032b505bb660d435eaf3df7", + "0x00466755122570b123f050e278d3289f912e7e913cb8572cbbeb56f37fc4eeae", + "0x000a863f60fde6f74e772dc58d033ccdbb8d761bb7b399360b1299ebc328f9a7", + "0x002d1689745246d81fa9604102d2321fc212d1242d2f9f1303afb05ef834100e", + "0x005c798090aaa52318f60a44c5cebb772e1bdf5d7763004d44441398e9b30506", + "0x002cde338f8f5f5289d426fa347a776cfba62c6c4486ded1482cb73afda6bd60", + "0x00d8fb0a53717a4857f4e5ebd16029e5bcdf5e6e282150f5ae23298ee3997303", + "0x00dfce9ade6aad01b35e452884ba21f71c5284e8d7c1a46c60896cc2ee4e1387", + "0x000112dcf8d3e58944962127d38521ee36b121a85981eba7f7037cf96090fab6", + "0x005777256262a39df10790142ad62d6b95e1b8f117bc1f4015db2cac6fc67441", + "0x006ba8b3cf9f65bde61528a2f7ae4a4f22f4ffa2e512f03b5a6924d420c83291", + "0x004bc1b6b1e7b806d483f81fef61bea69bc3af386f2148c158be6a815c35ad94", + "0x00a3c70560811bbfa63f172e9d0fbc00ae97d99d8b88f9d63d34af0d0bc2d884", + "0x000e8ac5f5a9299039972dd840616eeaad26b611e492a4decdec15f8d3fa1577", + "0x0022bc73f12b9595594125ac077da053b5c20ccc567fa53be6138338b0fa5739", + "0x0039f7e40b8989c2ff4a87125bbfaff7d7757b08741966e02e36963c39d28d54", + "0x003a71a40b8b936789717977cd117cb2f46350b4482381ca03291f3bae6fc37b", + "0x0043821d00e97af58782aaee8ba9960b8695db8481358493721c2c57091153a8", + "0x001c8c0a58f816f9bb9cefd34cdab4ec6636c86cfbd5a1e83504feeebf16eef9", + "0x00420d8723fd691b421fc24f76b26a71aed3910c1c20f399d499974ed2077451", + "0x00add25f18e2f9a5bfb5f2f8f62134f196687a48bf7584a09c9d274ae6d911cb", + "0x00f58da1a2dc59ecaf6615dc674fd8c00aaaf075a64e8036e77c66009aec1160", + "0x000618fe9e979902d255f5d85f0e57077c2f7242ab5229210661f0a66111e745", + "0x0041eeb4c99a0f3856dd96d7135a75bf9da3c42fa7a7694a2e5f7fe097be037f", + "0x002eefdef2ac23553d1f040dd9a871e21a9c556a304facddee0f825c5888dd40", + "0x00a1a174ec65f520375d0ba29344a4c405086df997190436d8c5450b9446c55c", + "0x00ea301ef0c0aa75f6468fea85b843199e1e68c891e139818a054539a31cbcb8", + "0x008c66818ef788a1a15af706bc7550c0901c419d15c7b3bb465a596099db5cf4", + "0x00cfe2ce939da927ffc6dfe37ee3bcc91ed7393792e8b7ba7114d416add14ef9", + "0x00ae030b6ba63e9f2c81b62f71e40a358149e8f9f2bb5d0c8113911c01252864", + "0x008c896f5f86948dd2ba772bd760853548ecdce13af0c74b9a903aa3bb3092e7", + "0x00bf8a9788b0f86eed2960dcca7fd25935bdeac75ed78d38d2d2ea4ab5237ebe", + "0x008272d30413fe629bcd8f9b19cf43d191979ff1368accbc1023a4e2ba02065b", + "0x00a22e1faa2e371bd47f743790015c51d1ece51154b092c8d9127d10ab27e653", + "0x0098e8be410100be0e807c62cd2823953d37680986f2dac6312ff0af66ca4c85", + "0x000c3c51b208298712f68fd901138ad8866cb40bf9597061fe7583e7b7fa385e", + "0x00d202e83a6161670d13b986532d3ec027bd0ca34fb8c1e26aad53bbfe094f4a", + "0x00aad17fc80f26f4a7bbd413a25ae56e3355f460b4d681da8451a6bd589fb938", + "0x000a1f45557952fa49d73348cc90e5fba1c34aaa9c56e8b6fd78dc6fc38d1296", + "0x002d4bb5b3fb0020cf5ad902a850ffac3921ae2dcee19e03eb97fa0466a42d59", + "0x00ed1a559abe9bc64ec4a2cb50549a97f6a47f37f0eceb9a7c92b4b6904a5357", + "0x00a0a82ef31ec30643b353de606c1b0a474b417aeae771435ef832613d97f1d0", + "0x0083b8fde3d0d0faafbd95b0a2e0c7eaec5d6bf1c03bc5e143b8033730bf605e", + "0x00e768bd88609fbcbf3ccf8ba86b75043cd36557d71524d43b329365ec080f9b", + "0x008ffa95435611d77fa254ef79aeda8641bceba70b7152784cf5a8274f9b21da", + "0x00660f9dd00de3bf25546b906e70f8ba54bdc58fef49503b52ecc3b9549eb688", + "0x00e6efc5987a5f27dde1b79d7c46c249ac3c1a4e27e9426f3b2c2ef529f6e3ec", + "0x0058c27252ea15a1114e2d26613323de9a6abd7a1c1df3aeab7f382fbeede1e2", + "0x0052e0221a266f781c231618e480cfd74fdab0d7cd1c4c19603b4236bde11013", + "0x00ac2d3396a99102adeb2347c0cf39196f6224251b232860952478b9df5b3ef7", + "0x0058503dac671f1d7e009f2f58fddc89188044f06baca9005e22e7ebc6f3c565", + "0x0068eba9847f705309790e9c2ff679a152187aa9cc91dff441dc97f4385af36e", + "0x007508ee856499fcc5638b99bcd34b4ae26f12067d209e4156b1adec40d76453", + "0x009fb1c30e411c7ecc04b39e4bfcdb556ad91fa5a1d86aa20df90f339d51eda9", + "0x006f9e1b2dc71f4a3a55008d33826bb6644a66a4c7be08b585811c6b3b2d25b3", + "0x00f3190f00c6dacbd0582c0cde2ded7440b46481d35f5eb2456123cbb8f26c44", + "0x00249c56f8b067bb8e72e0d095ac703d0a976ab34f166612944fc66796597bcc", + "0x00d3ccfca9ee611348f21653bc49736e7115d54c55462517e8a5ab0d12d34cf7", + "0x003ae85f7f5885549819856f70368b915fb7ce5e1dfc00eada67eb106ec24166", + "0x00661ac5fec0543a671ae060533130a27324ea98b91855bea18ae8699c25d30d", + "0x006e64fc3d631ce87770bed369e9888e22c91ccf7709aec492bbf33c1c154569", + "0x005819d2a80ca1d7d804bf37b19d6a9f2198f5509d932f63b553b04daf5f19d8", + "0x001cee3cd4ebb374a0886f824e815f49d041a883068441de140287bbebe5e3e0", + "0x008b5696c0a1fec344aa1c71cdf3bf91b9ef0c677db1e61c082f686199d82c05", + "0x00ab646ce4cc45151971382276241166c9225bcd7007d1a87d487643a5c4adbe", + "0x000bcc7cb2f005a5a80d990380c8d61327c7f639b93611fb7f27fbe52d4cee1a", + "0x00c3824ab70c260f857035820eaee01e10ddebd52972f460910ed9938b7eba3b", + "0x0023b6473984e6fea79608c0c601f4a8e5653dd553aacf9b9e80397cf9df9638", + "0x0079ea2c98c81a95bffb1626cf27e6e94b5d9cdbe6507f97b998bf844a7dd20d", + "0x00953f4b8a1fe1322d7d4d2707bdf1f457a93857e29eff2962440ff3d5c58c6c", + "0x00cd1d05b20c1d62dc41e7cc6517b7fa25507815a3707317c23d282d1f2d465c", + "0x009ddad6ede6f5b11ffe276fbb2d832dfbadf46933f6107f2effd10ae1112580", + "0x00ca9636c789a30d4ee91699c721584b37d5bb5ac03c87584719bbcb4e365de1", + "0x008b6e2f46dad859ce310be6afbdb899a2267d1240b613d8220e951ba62e141b", + "0x00809ce69cb668099bca757ca2b534ea13c949dead66ffb01c39648d92fc787a", + "0x00dcba2f269fc91adc71f13c2579a26f9b15ac4bf823f19b00b692252a1b03fa", + "0x000213e5f0a0f10868ebee1fe8ff8d76cfa7d833fca018f3a16a05d7346d0815", + "0x007af5a5cee9ccfc67203d59d142dfa535eedeeddf205e6f1e6ec6c6e4420c81", + "0x00c447426ed1147d3e0b171d0084b02c2e84d3535139c1d2239d3e3eead97ae1", + "0x00cb811080f97b84a3b701355a2c169b7296497bd0afa2141e1143f58de2fd63", + "0x0066180de6929a612f06fe41ace3bc28460b9c2caf5aad7430c991329698f3f6", + "0x0020387ca566d25f4b58798161b2d1729872ecf7b16d081901451908626d4164", + "0x00d58740bbe720ad2e556108afd0123c372c7beb0576013be38733646251edac", + "0x00c52a17ee68f814a2a5c263cb4232ebeb36aa1b20c6430b379d86240c60a821", + "0x00a6e4f8d9231eac65c9e0477ae4be4b2c7dacc2c537538bdcca8ab2239677c4", + "0x00469e3b17ac71a9b47f2d5ccb482fee31e83c30c5b1a4d997c07cec35fcf873", + "0x0090c49c24bc713bf0be4b3eb92629f62ab5ed0d337d3c3597014ef8c0f7709f", + "0x0085035c2a09ad555af6ea74fba534237ca28becbf04c90ffd7ca42ee503335a", + "0x0035fa4e38a868a4b43f80a3a41296a745f0b3a7ab6a06258ef31d0c4dcc17ae", + "0x00fe046b27e5858c64a4c3f3df03839c3642d9fd9dbade9d9ac5ba4aef71cc14", + "0x0009a575bce02d6e44d8694bf6141a4a330cfb5d4267cca415777707c0dedfa5", + "0x00b9825e2b9d77acdf7f8968fb8afc95dd4bd541c3492eb3b7b76ba3f86ac261", + "0x0021b4cd2a5e6473df6f29359ea8c8e31a41d1e2903ec80c0722ca50a187f68a", + "0x008d800feb3d9616b434cc61a69b86314c07ebeaecf39b08bc048f82fb2c81cb", + "0x00894528c41c2c5db5886e7affd337460046ea97b54cf1674e902557f92fb36c", + "0x00cad075320e25b7352e5fc6cdf8bf4498b55940ecc3a75cef9c531773b3adc7", + "0x001f4656c3b22806920c13b0539c6cee86c7be2dcb1337b533c345753257e500", + "0x00e136dbeade346e0596d6fad8a1ce25622bea0f3fe643536d6559dc7eb40db4", + "0x006a35aaebdcdb475727bb31e3fa29c76981d6ad5bae29adc14f8408296ff1ae", + "0x0078a280628c9dbf4e1c2efb88c0ac35c3b994d2f9ce4ca67c3f3b79d17056de", + "0x00171e8553da689cc43236733f8296a8bef6af6db3caac6fb738d87d37f1236e", + "0x0042d574f56dc7c5df3232c34e7e2716a72c4962c1e6ad575f99066e9825a433", + "0x003b8522c6b925fa921bb187b4370c46b43417de02ad57215033a934137cbe1b", + "0x00114a60c60d00926f7ae473000cc1f5f03c23501b93dcb2aac434fd019e2cc3", + "0x000a04ac53a18124a836b6ed99f72550c938da724001afeb4b590a936a826e61", + "0x0057936f9284778106208eafc5457c0fe518c0339aab6c17bf44bbbeb4a82985", + "0x004d6899e795dde1b419a0b4269a30c261642e313d5b50d3b0f8131ee0c0d970", + "0x0041272a3e07dbd7fc8b76cb73736bddcf32f9c86854d1f696a70cdf3932e4da", + "0x007498e6047cdcefc16964702a8917367f521d14c10cb736d113b78b2c51633b", + "0x002e8be2bcd765f122ea8d87a992d7adf1546924c8f8c276baad49ca664f2706", + "0x00e01ed01112b9bd5ccec126d9c0ab157600b229c73bc9fca267511491ae0734", + "0x0070fae9f11739d570b67f68d0bad39c20744f2cde82ed7e79e04ea14a08f3f3", + "0x004b3459d00b5f2bfa8cd4ec745c4a9416f69cbcfad82dec45bbdfc32e62f26f", + "0x00d1085cb57888133e667e50a912ba6fcecdc9546f47691860f1a0a15bc19bee", + "0x00403de8be9e98293e989d9f99eb62994959352869a67fc88dc43e1c27b497a5", + "0x00fdeeff4e8e0e11101b1ec7f68eee1b4c4ab94aefd80fdc3362c3627ba8d6a4", + "0x001a229715a11fb8faf0737a8c342b86e9489cd1b9f4f8ae5f13fb98b50c2283", + "0x00bc4b5b3ec40c88d1b1db0913badcd31fcb77a3a546b705d9aeb38bb26f4dd3", + "0x0046d174402728b7b2a6fd729f14256e00e5a42850828f8f37489ebfad673945", + "0x00bc050945a4058a332be95aa4ab97a50c87a3cc8c05b57f9073918d4acb0493", + "0x005af9b44fb3bf44d1576f819c74657d817f61bad57412d3f0c44307ff2b4966", + "0x00d78e910713b83a25d3e74d35ed3c72c281d747f7670ce79964d54586d1b9c9", + "0x001634d3c2282ea02999b90151c813c33c9b750930c438348f056b54d47f8e0d", + "0x000a795d02768f6ffdc2155d05370c55a938519c22151bab2f10ec5f33f18ddb", + "0x00bb53306201f41e29cc4b95451a6fa83142b3366de98512325c79c494ca52de", + "0x00296f134abcc95ea860d565dee85afd99fcf387c086521801dc62715290e3d2", + "0x0057b014179d410cf2a6a7d266353f096541f4b3b2201b0a4f370a0fc7b685b7", + "0x001652bcc96856e87329740168f667f8b6a9ef7e2f79bb93359bbf8cc1ba1e89", + "0x00a4005931725b5e8229e56156a1c8fb0e7af4b595dcc5dc4a1c8794ac709db5", + "0x006fc982cc3e4453964dd4d5448fabce98691cb4ecb21aeb7ac36e2bd43c56f7", + "0x00bc4210a6a571e04edb445583eda8c7a1aa4e4d109e8a03bb675f439b00e73d", + "0x000fb1703e3ffa51b4810c3f1f871350c50ca64b520a6242156427c2567f4ed5", + "0x004c0f01390fe758644eec4061ae0108a98df1fc784060edc1258c62a2ea189d", + "0x00f66d195582337c7d194e19874c4b025191ee9eba11cb4655ae85073459d4d0", + "0x005b3cbf214086d4d6f47facc42f7fbb4c735d20923629f9b6f88847ff6bbe31", + "0x00be66dc2e25ab36a891d0cbbca8298f7db9728a82e05f22bd931b17301d1edd", + "0x00ff05879127e751ca2335de32822d3fa0e3b1619ae29af0d705a46c413922bf", + "0x00a2e85975c952f1876cda22d10a41bffcb0b0ff8473a0f9fd0f144e7740ef69", + "0x00e5e5a46905535b8909f46ba546d008f96e1955c23f8acd2d94ae43cddfca00", + "0x005f67308238fa3794d7f1a5929a8f80553f519af584357467a7ee5ee04ae88d", + "0x0019a08139eec3800513312e2ead25f77e2ee738d0e9e66cbf9c5544fa73f167", + "0x00c5c17250133ec6a14079f60aec1a92d28f36f0c65bb99a67162be46253878b", + "0x00edaa481ccdf88bbfc98aeb90f72ddd49c21391a37aab08ad5696c91c2f039e", + "0x0029fb6823eb7167b9af548a8f2ca9641ce05e23b7f458a5cc70159415e27967", + "0x009fa8221740567ffadcd9eca4d69fe134bb61d77eb0fedfb087844fabf84551", + "0x009f57fcb57624b5e2bcd766dde767dd706ff35b0bd2175f0b66195b828e39ba", + "0x00956bc5e322ce5d0000588a165a7e527bb8d2d4c80b9c37efbce158c074a6a8", + "0x003e6627f347f54102897c3299e43a4ce6ccd6064b357697db544795acd38221", + "0x00c2d4acc7f34e5e60b17a55c3659abb4f1a49ef88171acaa3206cbb971d59f8", + "0x00d18ec7a4e7c3ac625fd225bededac32ce7216fd79cf1f67d8f04adc6009ed0", + "0x0026ad8cd6f8bafea36243734e19a18a48bdd0876f33a434ed6fa3885b1d6231", + "0x0080785d72eaccf1a5e6fc910a52e1befda28d31739627dbcb1b54894593f36d", + "0x003291bc50be0501ce9bdc7e24b82d610d7457a3b80528c84ce64f48197372ed", + "0x00d0f1dc3fd0b0e9e83b09ab7be99acb602403287d184dc4e21bcf0f71f3ece1", + "0x007684b387178a06aaaa8967d297e8923357d814bfaf5a932708add297e11647", + "0x00d270dba32daa5c427d6724d3b2a36a31e4a2671c87914917bb7d27202f940a", + "0x00a150208ffc93b7fd0aca579cfb985df9e7706b67dcd194d3fe9e5792f35207", + "0x0030856cc0f07f2b9496f6804bfad415b5ab5a825eb7383e7a5e74d8902303a8", + "0x00c4d5c56d4c9fc03bfe08efc5425f63bda774184011759939fda06b25009505", + "0x001534e1d4cbfb09b464173a13b9b15345c6e12fe8ef4f2268a712fad349626c", + "0x0085d14e4b66e990787de90d4fce4e47351ea8af227c1b427bd82ca36b27fa50", + "0x001a440302ef7276b0663268f4905d782e649e1815ca222516bba79c013b916e", + "0x00fa5efe4aaad469d51e051ac1337def9ea5b9b7fb920cb8fa462fd886ad583b", + "0x008d2782345e8c9b2c69c861797dc94de89609561a7cdc350d61e87d8b3ad815", + "0x0061d18790d4f1b7fc7ea7273e779e6a9f15e047807c89f2f39aa3f89bfe5bfa", + "0x00b40b359ab6216145e7b681fd0650bccdfaaefea96287a3930a091bcc2e42db", + "0x009102c9c3c34db1bb7c5d25ef0b5ac05375b3f820250d5e304b275405fd1fb9", + "0x009f439a78e3ab2bd7af9b58c93603fc8dcea39aebc3805344b9db4f8fbd9195", + "0x00f69c9caf479a137e56dbd085b3ac6f71751a86dd6f5604485d6165d1ff2223", + "0x00758580b18dcb30004bb83072fb7ef0b69f4eae8a52051dacbdb23d76e9fe49", + "0x0097329d3f67e762fba6774b3f784dbb997fd34f267b710366f0edb1b46ecda8", + "0x00a1d1f3a4771ef389daac3f50cbc59643224bf5c4734affdbe11812b95688dc", + "0x00356fb1c0d9df2e062b6ab3ac5473407ca43091c174a68c5130de15385f6b80", + "0x0036f83bcafbbde56f1a5260ea314ca9d57853bde6a4b82476343025112110a8", + "0x00df422e03afd0d8ebac3545fbbb848d1c5d83f268795f7bb129f71ca06b63d9", + "0x00b5a5a20c792fcf21e48ec968f8f1ff0b22b34aa3a9964645d3e07b4f5c3225", + "0x001ded03fc358aa827d856c62164bdbcd75db67e70e3bad9804af11c4fabe637", + "0x000b9b624187b07b4a0afdbd79bf16f445acff67825b8027bb195868202a7919", + "0x00e6fde09f2b8eca28c4439e7ccb7e0de54241964a3d5dae4d9ea5f0a13afae1", + "0x00d3d4e635fe67e81ad05e31397ed638e13fb5941ad9885af7b36aa4e434589b", + "0x009f71da63e839d89a72f450176a251a09f84d0867a1eb79b495eb46f01fe8f2", + "0x002813cd22294178d6e6d0b6b05069852cc3b589e669a207500ebe810bc5ea0c", + "0x000f984e9552042ee9fc20250284f78fa00fed4a34ae5ea41d9d437443121d68", + "0x0033b086fb79322e6c53a0d3b7af60fef26aae15dba0bdc7d86a3837bbc54662", + "0x00961689cc81f998a7af5cfbba67c81ffd6a4c12a532e7598deab4b0aa8ef5a5", + "0x00430287e8cd3a82f4f4abc41b461afadfdb4fd1876142dd9651a56fa4f64107", + "0x001b0304d8b3f2242bf412b70ea4a2b9e207a66478b7cc13106e808347db5415", + "0x001cbc5973ceca4ef0d9e1fa1326edef772ea9cfe505c88a5977c6fcfa9aeba4", + "0x001e358198568da72592dbf6ffe06159a8a1f422da857c974bede19474ae4fee", + "0x00466c33b25076ba80fad0e9e52231e24971fb76046f97267d08c7c27262e21c", + "0x00f159e4b8fff2349449b51531429d0ed10df3c7477728ce4e39679eac8d3677", + "0x006e2d8c3fb494038e37ea354749eb68375329cbbb0c88ef244a174ed53c0c81", + "0x00a065c9827615d5e076c81e28de9819d8a408c280e0d11bdd509d5530cd10ce", + "0x00fec8039dbb5f41d2896f69436a30ee0820122f21166c4d7788a79c2c09e05b", + "0x00eb33eda5c7af85f4429176e6f48568763fb978ec729cebef4d81b38f57a0d5", + "0x00027fb9debbb695a5a1edd742b9bbd2f1a66cecdaf731f39f18a9d070660f71", + "0x005ec8a2f2d7f6c6de07b9a2f456041f5d238f16526f20eaf287241ae702e143", + "0x0073f7b7eb41d4c1d2f74abec34193894d63e7f74ce879a487241e8d084b26a7", + "0x0024c989880f3c02d18736ccab26af1bbc9ad82c156c198c667a037e6a8dc674", + "0x00c4f2f3e199eec040dbcddf2321ac9720edac2550bd02bf9260f6fc20233aed", + "0x009bd30896cdadf635d26da644d0c72bf16d818ba7c279cfb9ce18f2fc6c88fb", + "0x002d8457202e5eb01626aef8ef122e19576b224d799f4c28c2453e61b0036b92", + "0x00bcd043857b19b07bf1cccd654596e7077a1f17362edbf3a7211a61acd09a3d", + "0x007901835384f07c5249e389f204db9175fdd815c2a89f67158cfc3d35fe2332", + "0x001fb8e134d72c6914ade17bb39875bef3174ba9a871e6f7b6f9ecda2249b035", + "0x002cbc56ace6d2c01299c71ddcae1e708d7a43cb493cf65d1ffe0fba913750da", + "0x00af0111dbfbd5c4fbebbdebd35a5da3ebf9d746305f4a6374cf57d3decdb9ea", + "0x00ae5f15eb32b68144a57f8e1c9764ff3cf794de7ca0f8fc1600eb717bdb0603", + "0x00d1e8ab08a3e4becaf688fbcbcbf0b444e18b44f1b47cb579d635081531e1b4", + "0x00105312f37734c9e94b15ec733e75017d6d274873362a5a26720cdf2df1feba", + "0x001946fbb8689212ad5c9ff3bb456ec010d167373cecdc3092e099645b0994b3", + "0x00e3b7d5262131101052d154cbc35975b2edbd0f5ee5a06ceb22249ee8e2bbb0", + "0x005ac3769e90969903dfdc3aed5d04afb91bd6abd5b89912a725b7ada1dd8054", + "0x00face9ba2aa65d5d3d09ee45915dc9bccb41129fb73c9964c76dd7cd88dde2a", + "0x00b710fc8f831002aed1a1de75aa18d16818162f894f316daf29502f6245efe3", + "0x0038574f9550c28601090a4f0a306b69749cda80ba7d8892b538455af8678017", + "0x00e1d05eba0b77c957ea4bb13a4a40096d4eec69fcca3c0b089daa5cd448528e", + "0x00e69d806bb761de234c9361234f7fda6fab6f14ae7bc3ec0435b4339281519a", + "0x0091a6eae91997957a58294acbe4ef695f18fd5ae8d77be6361c6c01be942167", + "0x00f86dce59a31a4e08db3f682e512ebaf6eb477ecce532f27c29f24b062b57eb", + "0x003634f2ceeabb8feb897a25d5ab7301ad66b7fa984188f59ae6fc31a8b2fda3", + "0x00f486669c15ad8f3073ef98c58c2e676a7850803e261f4a1caac5186c9a7dba", + "0x0075fb73f0ec7bcd6fc8f49228df96a91f71704b646df38cec5e68c1c6922d16", + "0x0089506dda3f3285cd3e4ec8ef9ec1fd7762de6643c5af7edc7278b1761ea6dc", + "0x0081565614fd2c29e53054a9e47e076ef75ef5c455ab8151205ca97d6d2718a7", + "0x005b5378677e62e71667da8345c90b3d3c150a66a93977682053952bb79a4899", + "0x0005aa2bdfa1f004e95835bc35b7fb80c62e19799fb9379964b92c59cb94e13a", + "0x003896e51b1ef5d42b8554fe70225180575e7879cd3ebfe5875f74b74d76605b", + "0x005615ccf7ab2d6182e2403f00d91bfe27aa52d00a789f3e713fd3393a4777db", + "0x00c285b9e74303a566ff2ef24b3ef8b8d1ab5cc34010a2f9b3c469fde1eba278", + "0x00e18d1c48a9a52e42d51cbfb8e4335ac19a6a7e83de5e46b1f64c6bdb2eb640", + "0x006f6f0130e6c931ab7dd5941ee789f9dcf353c053c8eb41e9e7ff7bd0d7ea64", + "0x00aeb77cb934bf8bc6d44697958281e48104089c9f03061b6a8c8cf8cff17a27", + "0x00957bb42ebc29085099d479efbadd45d010cfe6d504c520b8ccd0cc3836b751", + "0x003242158778d1f2182c9dbb310ef2252887cc97c343b0e3127748e846d3c52a", + "0x00896a7b05099fed99f67aaf06b4f26e4e1d780fb7a5e582d27a00463b53a70a", + "0x00fcaabe1999bd41f9525b49c0f10ba871dc898cfdb6a9167ea0f0ba40046656", + "0x00f2bd761b90a3ac8bdfefa921100c8b1e5d87ba7176c6c26897992a04f5a7e9", + "0x0071c335fe7392e02e416d7dc7ef26b85ce6605e03722ef2d1ff9631aefeb66c", + "0x001b65a1d556ea350eaed31c189436d44368e54682c2cb8f453680085c94d6cf", + "0x00d6e1d705667b6a27f4a1f8a852bc9123c9cd5b4b1ff0868e06fee6ba59302f", + "0x00c0bf4d4bb99709f42da5087d0c167e0707493d029172672938a20c313c3b45", + "0x00718c04ee02aa1c67d7701b188120e662ea7bb913dd9e42cf43cf1f15bfed4c", + "0x00896fdc6a5def84ff6a89b61cab1b5ba4494faaf3993f7cf155c31faa694100", + "0x00818e99481143ec8b1491fcd2fb6b37b4a61d2072ee147b3dd6920d27133d19", + "0x007ed59dc835e8ae133ee02df2e5d02981eb61c547a32e5a0ee8289ebbaf2b17", + "0x00d8330098c5a876d265d01107b2d6ebbecd135aa6a7fd2968e4bd31cda59536", + "0x008540215469b6d2af88a805ecdda54e42376516dc68a5733d6addfed20777c1", + "0x0028cbea853918c5050987d73d50960345918cc2e304d5c7664252a90899afe1", + "0x00f9df3c8982b184943e6879b3c04e3c9edadaff6f58bc32e22cb547066e06cc", + "0x0095aa054f92b63cf592c796d510257dc8b5ffc6d295b20f5e672454583ed779", + "0x00b0791ff74f1fb1737941695ff0ab2300ec195ba3c5c71e3d8bf9712f5d9deb", + "0x0000473a38f9c74a05cf7c1933a74506250d2573e90d0cc10420d9c682bd6e53", + "0x002bac9e23cd815265702934889af353c1b2d58d364923d8fcba87fa49fdf136", + "0x0055fdcdd9d8c1b03ffb4190dbacfaa8b3eb6315e2305bedf111ad2c1841475f", + "0x006fa07e1e8d19e1241144d041a70d625e5bc5b0e57ab1a0e5525779ddef80af", + "0x007ed18890b52086a8136ea81fa30ee9007d77f6c916d88668085889417f0689", + "0x0019fc6ba3f573d5ec4320c5da9186b9dc817c474d75de6423880a00189ef072", + "0x001f946650a492a72bba4a5bd7df6cfba7844b1dd5d8b9b15ab4ca032907879d", + "0x008ac80777e679cee97cee01d148ea710f9d01c79d6362dccbe0db63da53753a", + "0x00958912c997603a1d23d753b58a8955768550ae2dd58e000792e5d18631b5dd", + "0x00dae86587436f92939f975526ef06d5bae8fd028207bdc18a13509382ccdeba", + "0x00afcd0a001bda26c9df187ef89fa8015e83948e1aa6b01b26b8a23f3b26e38d", + "0x00098bf54d0c6d2930db1195e6da17cd13f8f350ce1a49c40b3d5314346c449c", + "0x009abfbf4eabe2310a9a566485a384916cb6e4707eff19d9879ac0872873677a", + "0x002c3b1353118159ba9f80096989e53eeac0a9ec0442260c592e8f154939595f", + "0x00daee62bf3fbcbb12146aeb5e87019ac8785ed98506edcf0d2d23d1c8825ee2", + "0x004c5a38afb6cb8b5bdd0057dd5e1c156845c94dfa1419f8f9efecc828cf3be9", + "0x00bba4d6bfa34720b915044c2f1fecde9a143ca44d7a02837e4839169a9b4502", + "0x00737ae8d45b74c2d14eff983900d1e67b11c9307082e3022e9699a746a65cdc", + "0x00f5243285b38dd28f9cfc1fe410006103a26fb5a52bb36b66536c717bbe8eaa", + "0x00f2a261ff3f83af1a85a26fd766559e149329ec5c1e7fed30a92609b197be66", + "0x00b898b4ecc030b76a93c097cff7f77b603c8cdfba1b80558c6a37c93e975573", + "0x009299281a0a16792dd5a7ff6f1ba688e7a8da428170785040ddafc1aceefabb", + "0x007fca8b18d77ca34096f316a3cb144fc373f2fb904ac801b585856c0a793ae1", + "0x006271912a45eefa3eef7e65570ed4ddf27722d3729ed5b3c93a7fa271ea22db", + "0x008f89de8e74758d4de26e66b24d3ad4331d211b5a9f6b267c2f36e5ca60bdc5", + "0x0089401b5253ad4712b5036b72eed7bc2323888fc1298366b0df63ab2af8555e", + "0x00ea35ba84f2edeedafd8fdb6acf162952e536362d0db75af7f53b1197d50f4a", + "0x00353388fb26e89fffe9355b64ca25cc5bdd3cf860a1e2932cfe79bf58ebfe33", + "0x00648c63dd6921dd4927109166232e1346c2ddefefd195f5f837af87536efe9b", + "0x0056958c2e2f46d945504d9d52a8c9b42ab83d8d0cc611930a376b2aa2c50b7e", + "0x00b16abd8f121a0704f3ba2e3c12e6451109cb991ecd40124972d44e1712712a", + "0x00c1c7b09cd331a83d4656b1ac4f43a3da1d317fafca567e43e3f867db7a5ee8", + "0x00c6cb1b0cd7bb33dc199d45c418c4def7fe366eb058e1be38ce4621d80e5836", + "0x00e4af9b11a07aeb205763e5b7cccadf0f53fbbda46ab4ea932de5026cad6ba0", + "0x00e3212a4fc88449093850157d92ab3aa0c0a9394eb0eeda5aac72a92a26b05f", + "0x0035e6a88019df1c76ceb3741203934faf8d11c5ed843fe9217d57060d63f522", + "0x0097f73a48a80b3b8be4285864aa04101e96930362b14fc6d124b344b784e183", + "0x004d9609ccad56794bd351f4f334a49439f5d2d6469ef09df412742adbb5ae9a", + "0x0088a3c64e5f5e1a2e2f1bf2c3bef4dc4b1941f371db1a8786388999437bd9a5", + "0x00b84a24e7da575e2f0e3794f5e77b0c29f59c00d942f49a83ec7fbc20407020", + "0x00975474f18cd57d5ac7c4564fdbfc1043cc6966c751f79e3f9a2abee89c3a54", + "0x0038b3e76f20bed4756d08c8b56c016e5eb36985e3f26f48bb04365221450841", + "0x00116320b29563a32affcde229adc401ad2475481de5d7b1b55b9523c1a77331", + "0x00bc4e06dcd6d8a26affd13539e9ccc538de2588b77b16337a0571b288c32555", + "0x005896cb378d55b1952f22136ce89b9b87f0ee4ca12cbc0cb4248f402aebb5df", + "0x0045e3359c1201d0d57430740c03b8eb1d59f007da2c9dd9e5c330acb112320b", + "0x008e6669d4b69b0788416493ea7ee08c064a2fc7f879c6d619993edca08547b2", + "0x0075f428b6bff4ba1cd49e39b98b522e86a9e533ce9aabd61590797085b14cbe", + "0x00125a57e6aeecab47dbebf527e02d44aa67fec1d8fbbb4602a6898e812f517c", + "0x00ed1560dfd7234d02fbea7162f643c775c9d5555f88866dee991da8ff3c7f30", + "0x00891f349f1fc4cb425a43985f7058fcb0b166be504a7217b1ca501e8f2e3e7c", + "0x00ed8763db91d25b1928d39bd769fa63c5cbbebbc1b8cbe10ed04bf42d383464", + "0x00ab0f21ea99d9a89658a0ef66cb3d438da5eb72766c80e6858c2a661aa9fa1b", + "0x009e67841ca67d1cc89091d57b28ae4400038d8a1552c0443c05f382bd6e7377", + "0x00ce2c63af8ade401292da9145ad6f597efe6e620e818390c7385e208f453372", + "0x003398a46d21331c99d86e0523e88b427f38833420f604a474bb6202636d7c66", + "0x00f93eb991213a5d14400de7e2eaf8ce297a29ca3b1635f5cce8b2b7c04c5d92", + "0x0095523b451da55dc3be01ecf014d50e5b33891fc8c1200904d1542920f9a9cc", + "0x00edceedaebb07c5671a11619a7b6af0f8ce74bfce6a5cc974a9404e9a7f69f6", + "0x0090c0b4c0043e9c8c601dab485198a6586c5c40b0ea30286c61b8d0263f8ae5", + "0x00128dabb729b5bdbcba5e9c91589f8234f4bc4a217ee8c4c6dd03081d2d6125", + "0x00221173260544e15baacfccbf9086b93e09914c10e85526f189c514c2f02a02", + "0x00b8b7a32eddd70369b7dcc3af473d3bd3bbfada16472270a1a0b23a908496ae", + "0x008614dec5529e1d0b92cf08b212a3c385e3f6e8c7c68e3900c4ade56f45ebc6", + "0x000d1e2c4b501b029a341af1de5ef783c830f2a8427428c133661bf4a2f07e4d", + "0x005df4fa20aba817d816ffaea2dd9b48b2dfc585fcada94e748f25528b9a507a", + "0x00ddc4475f8d722fac41cd2e062ad8d5a19501c190e8a3b47809efec6850d76a", + "0x00ce97f37ae76355fcaa3ee578ccc55c114bb5462aa7e904b5db17e749f6f781", + "0x00789dda89e978204dc2a5212b8594553bab120fd0a0a6fb841f4d923f0447e6", + "0x00425ddc7427e892c3cb0969cd29287c889a20b92290cc1611426f3f064e246d", + "0x00e7afc80ed68a7391eab20a10176a5eea4a23bf2fce23eae8b84c3a160fac58", + "0x00c4912db69a97f5e5fe56fe193cc996ea13c7f8c8f3fc858dc40426d9616a4a", + "0x007f39b17bbbe151073ba6d94ca3e5606f4d86852b576daad9736692e19503ea", + "0x00ba68d10ce429f1888478fd674259f99ea28b9ba23026590b3a12e6e9d1125f", + "0x00f820c654c0236a5006b09af647eddd3f1637f6af1a6238d2a3e7139517cd70", + "0x00f235fd18d5c68b3aa2cc59897d27e70e8032cf148900adcd1f08197f83be58", + "0x00be7a27b843b5be5c0a2bfb0f586830a073277dcfcb43ad2190b4be9f553589", + "0x0073b98f30711ea6bbe3322c223f27bdb76fa94988a486b0483109c7a716bed7", + "0x008d4cd13091357671b416a4f224e7d0ee7147e995b94c36f4915bc256c8fee2", + "0x0068161f56b194a69e037819575f8081f7e9f1f833bea998fd7c559f3efbcbc0", + "0x0021a805ff5857b8ea364a0ab674ab6186510fb22576daf0634c7d1b785733a9", + "0x00b3f066faa2528353bb99040c33a2d8850ce2b4e552adc4a48337527cb207da", + "0x00c73b016d4d1a9d171b7d9461334cd6b377a14ad77b1fe86f04573593f33f97", + "0x00ab2ef193a7edd0d12ec5ca079a76aa7dc15b85670a92eac91507b8bea47be5", + "0x00f9f488ad4cf0d72ba21402d6b8863dc3c55a997bda64b40d5ebb2f3b60159b", + "0x0085e3f7a820688231d1f0a6e2261602b42a40871d7d07e5f3d7b68241d1472c", + "0x0046f6ea5737571629b06b6a3390d1b4be90755a67928da02bc8291ae98c8cb2", + "0x002662dd334c06739e2d53e8fd4034ba0dffaae4db9b278f8950f196b9a0cf73", + "0x006e88a5aebea4b528cb5c851f9fde749ff82c5833bafbc8cbcde02c46b379f7", + "0x00f9ed1a6e89baa9512c627d1ffb38293410cb944e1e62b1110b58c1403fd584", + "0x00d5e7f6c6e08b6a93649652ed4c76e101261960a2f7640ae45e5a4e51d129f9", + "0x00d342ad8949e2f32e9b60c4d8da40033b391cc2de218953f0056a74efe70f62", + "0x003485b8a0556edb77c25e0ffb770e7ed8e5b6b074fbafcf8d6e281821f13df1", + "0x0075e5686d02857181e951d91aa3c08ed56db12aeb12680add7b18e682bdaaf2", + "0x0060e8b312ac410401688aaaae502c63af4656f14c386a79d7ee8df824ae25df", + "0x00f662af01418ba607cb09e38c7fd5889769bcfd1292f569ae594d62730d1c70", + "0x002b79d26a66758c4ffb5f97b8cc725e6ac9d15fbd3a3712af240eb4a41ed90e", + "0x0066adbcc52dfe6995629dd0c371fcfe025020fd4d64b34d127efe1e117c6f63", + "0x00a2cd9be0dd1e9e21bc5e06bfb5bb3ae43d5b18b19e27e6ec2d5bf63f1be7a5", + "0x002c83ac4e71708ebaeae310dc2a342c7ce7f2a8f471e8c206ca1d1088eb65b3", + "0x008b44c6938547d72ae078112a60ef6f3c832836cac623ff61f48c09cef1af3f", + "0x0051f0f3a5dbe1dd15c29465787e11992d76d74c9f5aadaeb1056e749e1ca7f2", + "0x0076c83a6d81877c26b02a4fccc34f7c8fdc103e651fc215cece24f216d6f873", + "0x005a2845a40693b99c58d080dcbcc71c6e049afd52c3e0ec75cfd587a28e1d12", + "0x0055bde6cc460e395d51d46a747a41eef831f94192838219f9411129ca681a9c", + "0x0009bf48289a4bcbbb350a5fd79028e24cf408707c585dae4df462043860fb6c", + "0x0097e32740df0db27322d8461f060d7908d123a3a1dd2eabb8beed04fc1b28dd", + "0x003500a307e3050bbc147e941b10629304e332ddc2b347c85a1bad6a41bc5b7b", + "0x00d3f0613943770f8b1366bfdce7ab55e089d458bda61d64f28f8de09170f49d", + "0x001d79560c49184b4ad96c2a3136d755d5e3a77df64a077a73836d1f8a075f3d", + "0x0060a4321e4bf6001c110c502a3dc8d27b76eebe0804aab4b557637eb870bf80", + "0x002b75825f79bfb0bdaa2b48675863fdfbca03c69dc9cb3e85a5a6bcc57f40d2", + "0x00ecb8822d56b0c0f72a718ddc4811682b5694953a1494d1b4602c1f8abdd82a", + "0x00b9f59ae52404983d628894949dc78681c0092d73ee67fb987479fdef93d2e2", + "0x00f3000137274f17c9281447b1d4c860f90e64e5ce88ec4f3a26cb20ca6653af", + "0x002d5584b9432ba76967026590d90f0578ceb00c194cc4ebb7df31e002615e00", + "0x0084f4fe13dde4d2f5fe28d97dfd7117fcd6dfdfb90ed4bb9fb7ac8658e868ba", + "0x007ebc165a9967b1fc05a9fbbb16b779c09770f2ce3b9939a1452bd963de360c", + "0x00ea8767d230d7b593d2e046fe399ccf6496e139c149ace169aaa9ec0278f876", + "0x00c99eefce22ce0bfa7c23f53aabb93788b70befad6b064cea5ddb65146c94b1", + "0x00efae70f95ae2a053762d2f2c641c92f86d7804fb09c1415cc0d4e347b8dd92", + "0x005b9e169aea961bf9cc14f690a43b0ff0192dba70a8d073035300165e7b5688", + "0x00bd15550aed440d07143a2af752f81f18d1d0322e5dceaa90935fa7d460a7b0", + "0x0057be13ad8aa50891ac97982ea7584cf638ffcc5238d8ee39a3c59a8453f5c6", + "0x004eb2224ccaee3423fc861a25c7702088e896d4b71cd56b23e8a8520609be89", + "0x00b81a4d5f3f316fff64fc394080f1c21c97f56fb5c3a3ab2fb97df9699e035e", + "0x00a3a4f69c2fab728ad5e9b45a4ad2469147006582e7536b7ec02c94beb3ccb5", + "0x0094f8a97ab0ac38c3cdbbc0279c5e75badda645488df21552c2422478c60480", + "0x002e9497d7c0c68cdc6f94bf5f04385d15ceda93dae668f410233e82bb7ac75c", + "0x00eb6155aa3fa3e743c2d9a68fbc78c85d4b139121670b175751e30b0b052b40", + "0x00b91ec58f9dfe177f0e84131ff0e2cf78ed19336366536738e841a5ef75075d", + "0x00f03a713ff14ba2b5b9a1a9f506e9d60153e7b86d6443947cf5c5e8e4ec212d", + "0x00fd06dea4f7e3eb4320293dc3eb084fbda8dcf4449c6cbe1a87d50b43d36b7c", + "0x002ea4fa1b2c98ca42df9f3d1e5dcc8de124c0f0ffe3539e5183eb096ae78fc6", + "0x009bc80a6e4a376ca884a30eac241519e174cf56a722b8dcf28721385295011a", + "0x003692f868743272b427a936f9da72e2cfee1a4798b5ba35fba9ac5f52eaa65d", + "0x00c236ce8161bd8bc9925c1510d26231e0327c936d0b82441cd48d84c2750351", + "0x009d3b71998f04cf1cbbcd81349811627b9822ecb486d2f84afaf5d3abfeed99", + "0x00977316ead2f7d045d42d76ccea47064788228ffb60bb4f1afd03947df92676", + "0x002a5172fda64ce6a94ba95e0b231d3c81012a2ad3b60e3761f4e162cf67ac42", + "0x005e2e1f0499ec243a56735e6e2674f30aa392bdd1b6d2ce78affeff41a930bf", + "0x0015ae57238e27564a6b4ea2d3af7f479c3a26cf544db82d8ab04488d10d4e76", + "0x00db7c95cd914e9bda8173f012ab25c166835af1a7c3b5cbb04c45d6485e7ee8", + "0x00b7a4f7e3e0da736b589f27a07f4539136e510088b17dfe456d7b0392523213", + "0x0081ead5ef177e52847262c123e1fb13407af1cf779de28e15cb468322725a6c", + "0x00193b6ca85dde704b9ab5e8fd3d17c0816674e68a4e087fe2a1f22995e9dfac", + "0x00035098c83ca680a78f423734af18f641bee7d871b3be52302c93e8f284f042", + "0x0060ddd23b28dc6551f87df0c60dbefeff74d2e7d3932f7d78ad4ef034ce6ddb", + "0x00e12cad6425f20d1394175d25f41191d5b4cf3491d46b7d1a47a28dc4b59f2c", + "0x004290aaf40d6588b82dd7d3b9681bf0f78c0282419ef697de24cd921518ce48", + "0x000f01eb163578cfcb1a8d68b3c710c660fa2ae59fb9bd6d78f9cceaf45d0d7c", + "0x0058ed1c544fcead614aa191c9d034e76d43e5073532fe0e2a0582e0af50000f", + "0x00dda2a5e36504fe97f530e292f4d0196be730c5b4efc828795b50c1d1f4192d", + "0x00790da1f014ebb049e9c4b87a2aa871ddcb4c043345cec3ec910f6f069b7ec8", + "0x00a1195bad64f237c7ee89e507448e27ea3c3f4a003b84da21406d62099bdaba", + "0x00328f3b0a380fff7d295c7bf19485f1afbe6cb8a255884270b1023893848ae5", + "0x00986108dd17fd39681345ba38f3dab2e531e6ae689b8e8e6e99fbea3f8eb6c2", + "0x002c447c1e794e08d4a8d380485b6914ca1ab94faf5bfdecf8167d02b2fe537c", + "0x002cabd1ddcc588e31f778ba2cff87a8f1c8f1bf602e7c0cd7bdcfc1eecd304d", + "0x00eca054bd05a99c02d7f99f6a2b070bc6e609e42b026dbf4130afc6d78ce1bb", + "0x00378c55b2f43290e1cf574ceecee39f8df5eaf48c3c0012efab9809de4c0be2", + "0x007b2e19b2de9d06410eb1e927a5e5bd966a16f85422fd4fe6c44967559e8bf6", + "0x00dd9a8847369935a9a6dcddbe00f5c6ca2dc87905908a9f2d9f73528a76c6e0", + "0x0091f444aff33ba0bdbe5cdb828851824e1392553dcd2e58982bb7dc9f4c556d", + "0x00e4f100f4b20b7a8b12a26310e8217e21292a5338bae4f0dd81589560f21e36", + "0x00158ec5cb37a8cacb0644cbac6ced05643c8c1d6085f9b907a142ef8854640e", + "0x00eeb252f25602be10c6847ae9565f61ff9d7734bd5834a0c833070edb6f13d8", + "0x00c16bdce9ab16b7a61e3ba10c702d306817738af868522f71dd2f96170c343e", + "0x00e85c38d0fe627d4b05393c4403f11f20a3eb75f4e3e305b79537e7e846c452", + "0x00c05c1b4b7adfc0f504856a111b136316b9f7fb2e115ef9521f1674ea84da3f", + "0x0096441c03151a58e21d33bb9c977f7639e01a5a9c99ad75fa62628ab8d9ce2c", + "0x00ebd246b0f4a24dcaabc69bddf227260b1dbeb5384cdcce4ba57501c860ca76", + "0x0004dd9417db957b0e4397ab82e55d5adbd6993a388840e68874aac867d782f6", + "0x0023d38903c7d93708876f21e1f1b555d9b46d67af40076ad5c0b37ceb47108c", + "0x00efbbe37dc1b100d27906aee543a77c92d83eaefa25e15991e1f27464d59884", + "0x0061f17a32e17631fcef4b331e2b075c4ad6599a08c40e04abab456ef79e9719", + "0x00ee14f50a06ef8eff367767ddf1f355ec19ea3fa69dd7a1bb2ddba590f6ec99", + "0x00050db2d9dee0ff8ca81ab21c44ce2f728a4e069882e0c29cb46b0c366625d3", + "0x00d77fac45ca2c8fb74ee838abff2a6e310a7c329d8383e641e46e247396a866", + "0x00826bad6c5274a4ce856ccabab0332ca71d5f6830ac5dbfba18eb87420fb18e", + "0x0028dd9d98ff2ffa0d61f7b58cf29e924f8d4638c8601e9612067a337b93b861", + "0x00e4bb3efb06d29922b866940a499c3c1c7037de58821261383787167366cfb3", + "0x0071ab14c39ecfc03617f1eaaad058560755a85c1edd5b4228c135cb3482a777", + "0x00009c634930d9a07c0a5f2c763f3a2d0bdccb818cb9b7e3263e70f8348959f3", + "0x000b8c5ec07ccad73440cdf81da34f5ea1744a6a04c275353be91552a7d41133", + "0x005dacf737358d0f85fd4488506e84b7a74a1d2f81b4a024893fd4b430b7e5f3", + "0x0094b957615a463ec5561b852d84046862b40cf9db33a14563cd0ca73521736f", + "0x00af51faa59a579a9584e9f51523831885082f49e358eab358bdb9edb975880d", + "0x00a4666ab66cc29fb720b421a845b439edee1ed110251d70cb72db474f743310", + "0x009be4e667e203138029ab46e278263de0a23e738b0c529c93cf5d37b68a573c", + "0x00e4f831e18a28a90da45aec6325a71a235763347c844398811f15059fdc0a93", + "0x00caa335b6efd579cba7469a662630aba64619a429b17a507b00084e12532407", + "0x00beb1802e3d76e23dd1bd57d26efe43eaf25032e3e37e8fb723c66b4dc5a23d", + "0x002f703b71799ae8b78f19800a45f3b001bd71a6376da6c5c724a112e669f8fc", + "0x00f527bf5a3c4f5653aa2c0847279f322f0fa7ae9314c6fbed13c05387833172", + "0x00982662ebf3d3d589dfc494dc9b252d407775360cc903133eb62b86ba1e075a", + "0x003ad46b33c99bab77a8382cb83f303488f96e11f29fdafc4887f81811e2a05d", + "0x002ccec5af2228a8111419bdccad5a0e99bc4b6feb08445119c96c87029c5ba8", + "0x0033288f999b3db6bf48f97e578a0a5074f4b5d1d833dbbf30719d8dc279827c", + "0x0092023218fe1e6f0e2a72e3d0a26023d63f7f7ec581a02eb47253a53ba6b0ba", + "0x00f8c878e80d7fed5128d65cdce47052ce0412c62419e6398c74d62771d91054", + "0x00b6959a2ba4ff57093095446a11063dc054361c445fe07fcbc90f45bead7347", + "0x00c06de69a61a325efd609976eeb280ecaedc22e1906cc09956a142c0710c5d3", + "0x004276910fa0ea431b20720ddd9328edc69c376608b1aeb13901dbc2f6ca8dcc", + "0x00d4a1f90f194235b6caf0027b87f53b89811d9dbae24997702381bfe8b0733d", + "0x002095bbc99ad34d714da9bcd6121986e330e74c4959356e30f92e6cfc971380", + "0x0060ea127d375d16e56d4e37f3f9e67a598d2c575c435d33fecd2dcb8c366254", + "0x007d0bebd7826fed016c7aa613f65af631dd981aaed86770b5c7297a814ab685", + "0x00d91bfb72371c5460d75df5fd9a75b6762a1eebca0b988a37c8f7741c2864f1", + "0x00574011f7f97bd5f27508dccb77bd636e7fdba6076ff0efa95c8b1bd50a4d4b", + "0x006d85ca5833489cb7a054c58e8b9ce1f2e77e57df79cc0b0c6cb9b2eb9983f5", + "0x00f154a12d227e6900e7cad98c41ff54f7c21d710ceeb9201afb1ae276caa34e", + "0x00298cb17a9c7c1b3d95b8543ad02079fb0e23af711245d49a12ed599258e87c", + "0x00d5c04f7c5f26956df1a643df14fc0632822f720f03a6d4f5c786886aa84597", + "0x00714ac0fe678f761056c5a477a574734b1e141caffed18d347e2707011a25c6", + "0x00895c5ef4416944a26ea78fd3df4d30bab7e125640ee61c1e608ae0d939ff84", + "0x00827241c8c489b35a4234524a847179d9ad6b7508ab77a3d7f0c9051aff8ffd", + "0x00443fdcc92fc7e4811cd12ad30c4b8537a1f83df80b2132e815c3d01d4df74a", + "0x00100e2771fa0446205bea8fbeee044f4346ce28efe46a4f5e03baef4e5b0bcf", + "0x0078b6dd3694cd07066d55c0613360674c91cfe537e37246563196acbd33da72", + "0x00389b12603ad1be5349eced4cc36fed2eaead0dec46831f3f2773b6829a819d", + "0x0091d90a833dd93ec099e08664ae62f43ad8cc95c05f85e7912e12cf4d61adb6", + "0x0063b76d15c8f99a8b87981855f009e296b9a9fde74e48665c69ee6e972b51e9", + "0x00455fe73554e81b4623754772aea47ce3fd2b12190d01b00752d0d0dc6708a7", + "0x0092cf1eed61a864019270d05b9ad2dd0ea4fc8e9e3d166b6e9819095cf2a54f", + "0x00347d02dac2d01951b0180f34578f37efb8f9147b98190850a37a89198b484b", + "0x0030e70e59639590aeb85c238b2c0661d6a75f51439ca024d6131d4b81cad5f7", + "0x00aaa18d0e84900ea07b67d00268c4e2f04c6237ccd44b5bafc9552cc3074662", + "0x0027e9ab88159988ae88b25a4e6073e79ad50de7107e5a6ca27442bc2c7b489e", + "0x0044541ab791e9cad147c3be4c2c55f7856830b076da3623f951fe2e5893efb6", + "0x006c36cbcac33c0e59bb1273ed85829a36f35b77cf91acc50d1848e0a9812f01", + "0x0071e0743a514d68feae1af2bab55ec5cefcf947e3b2cb58a2194db66ad33720", + "0x0037d621c8edf96bb2f80d9d0f0084206782fb87a70d5db84960e7fc47e1882d", + "0x001f82edf6705b1a827a893b44c8f3986ae842151f43a83c96a026d2844b2671", + "0x0076e35b4937643da4c16138ffc92ae227cac753728d5823dee74093f69cabb6", + "0x002d2bcb2704460d86c1ca4dfc8e73db862b9516a3d75ebd433507836f79843a", + "0x0039b69da90564237cb9e08c74bc32350edde7e3f36e5f8e60c603f9d6b1fec0", + "0x00aeecadbb565c4d762e95b6971c9075f9a5496acc58956d0680354550cdd27a", + "0x004ab3a2bb3f0a7155b499c8e94dbdd6c371f83d1848e54c5f52531b7beff1f7", + "0x007d5704403790aef8d809de7eb8fed1c391886ae4a1212685ab848cc967690f", + "0x00f78b74c9e362dfaafc24b8f6bf4b721dfb0d784291bd7f06eff5e0a90d37a7", + "0x0050f2d845a091dac42f768fa804d393c71e949a49e5f97feae1d92ab708f858", + "0x00fca37d81f311bc5445a95ef256d4a8d9576231e25a5a21661aeb51bac3960c", + "0x001f4cd67c1b739c49d864cd5a865593786fb68393fe53fa3a8f1b7163e09ca6", + "0x00697a8d5ceeb97e2c354339155429de2f626a5bdd9d7ceb77d044299f073017", + "0x000de4a4d22d4f93a2268189ed76695502421a99bca088d076bdeafb2f78f368", + "0x0063008a23f96d5039ae1c976b3d82392efafe7eee5929affcec0725d349ce62", + "0x00571690d762aa114518294670efc85a9c4a343d623ad55ebd28e82518c37fdd", + "0x009ccb9509383e6286be798639af48f8b5361b9c612a482924b1e11aa0bda6c5", + "0x0073871897de6197aa97ee9ad5c25834095b2715f6d13953738169296b1dcb72", + "0x00d93765fb7f282a2c3f3347c6eca37d28e8fece8b6e076623f428840cd97f06", + "0x00090df84ce4d096822aa439cbe608b9f152dac53f414c8ba1af6b9b3211f800", + "0x0040e3cb626942f2e7083fc8f845d1fbbeb73f0d1777b41dea7c8feb1f64237e", + "0x00b078c873fa7714d6f4e0209ab1f2da82b175d473c5e5216fdaccaaf602971f", + "0x00b52acbca087df4d6c16f42112b31791b05131935cdc904c9e88c1914e31cbf", + "0x00738cffba52631065d9f17ef16fdeb1dafdcbaa4041e722c08c9f6566e69023", + "0x00facdaec1a8e66ad247363ec3267e7c7420b393f9ad72ed1a5105514bff7619", + "0x0030abd95608b6142e5b2e8f914e89efa238905f4db8824d4f269f7f1907bcfd", + "0x006f690c1f644bef8b7e30ec45436f1b74e4224c2c685bc29cf3b202ecfa4ae6", + "0x001ed8b6efd2aead99cc6c58ef864d3cfb884e5804b4666554975930e758d150", + "0x006b48c04633a19655ceea65b596aa49283142dcbd2a8a6feb6d2271394066be", + "0x009f91438288b88fe1762d76326be5a353f50b123d92a2f195be7c7c379f276f", + "0x008138117ac2a2729c82518be468758b489b4026ccfd25f584a7ff8749eafa18", + "0x00debd60bed4b292987b770a4eda9098077b35b17cd4ceb24491b7dd2b9a945c", + "0x00c18e0affe751ec4e8e66faad1f9f81b626d99c65e5b21aee6f6114a0b856ae", + "0x0056138024f27c818f004edbc7c37365b9d9704f649f619b572fb24aa0814bb4", + "0x0061e6919c872cda16c01e0099cb6ab15fb970ec9371dc90a853971a89d7b677", + "0x00a6dc5ef9ab8872ce783a5c04b71e055b3dc423b4a7013ffee52c99aa7d4342", + "0x004b4745511fbf3dc26eabb8701ecef7f48e7ef8e4ae0ee14ff438cbe433e7e0", + "0x00324e40e47b8c0af22e0d942fc5a02b850d8689b903732b686819fbe1c53f41", + "0x005677ff13fed17e9c9093e30863166666bb12535c990ca73178a8c0043d11a7", + "0x002b2437e03c2183baf946ee213cbee99d073ddd26a5a9825fa6faf28d37c432", + "0x0070d0615242936793f15f7890e1b7ebb38aaa46e4e2e4cb3ad99afc82922bb6", + "0x005b2d57dc4b0f4a104489f696499beb61d2615e9a54ac989b2fb46f99ce41a8", + "0x00f3fa8512ef67d004eecc02b31c1ecdcba7829caecfeaf3da6cd573ce858e05", + "0x009ea704130d6aaece3992210f046b2a2feaa5de00d51bdb45588a4e627ed5df", + "0x00a7db65b76a3c010b70b263207ba1dc613e18a318b046243587f8301a629041", + "0x00a55f7c543dfa97c2660d9644b58fffd294ede70fc5b7c7eee61efe71f07337", + "0x004d66457c7fc97cebc910333cb25a4783cb298d80a44c1c26f73a9476d12e8b", + "0x00727b2fcc2870507b83f7e7fd8ff5e68c768fab5b091b210c130fb6d8e5fbe2", + "0x00902d73284272b9c159190e89fbc7b2be694526bc0391a9ea4e6d8337cbd639", + "0x0003f96fd7b4b5474821063889da90c1073504b6c0d8b3dea693dedc64d9c74c", + "0x008c283d8aa53853c577a83e36dcb1fa0103818976e119fea1cd7a4f2bf56bcb", + "0x000ddf3f5e69ef2b1b3f81e48003e57a2b678441ba233332b6b9ec365c4ce126", + "0x0067fd0da49c973674fa0738d2fc42a0c3d189bb5d595c8e1b76df795f6bd50b", + "0x00df7a32d4ef934d74b2b7a5d508be1386701696368523e9bafb68b514bd8942", + "0x00f01e9e55ada4387478a5011e8e2f7ef29ba6bf6dec0ef713fea6a5be12aeca", + "0x004f3451034ca8dc885994286e20cd08b830931f38d99aaa061f115e8b15b9d4", + "0x00a24d3861dc9b37485f9fb820ad44a826fc4a4604697a87c694c392795a31a4", + "0x0040b52c52c3c9a8e5a32c640ad25cb243b0e78bb1f7d3ebc2216f2d4440719d", + "0x0040dc8f5ee81287b702ab8ae31669a3b08261562d67b25be15d4b67be8c5947", + "0x00ecca6c7f1faeb5a7a1ea9bfc89763e519e4ead5d6c3e47e3e84cf94dc16192", + "0x00b7f16f87083c68f7d2751f1cb4330ee92d17bbdef2f9019d05a775baeeee27", + "0x005359b74333f47a1fc17655bd46167c23bad66ee1f3b98de2c294147d83c299", + "0x0074766b836fed3c114496664252d6c51731408b38d5086f04541f1d549e35b3", + "0x00284685ca92e6bde9f3ee871a6de03381fed2b9856670c67fbecf5327aab823", + "0x002943320efe43816d93a44bc38c565bef845600b96fb4d04d405705b25fdad7", + "0x001ee685b3d70e29633c22b4dca8bce8ceff47c1ecf90adf708f91c1f88b8857", + "0x00dd64030f6696107a00d5907cbb25a718b148a3e9abe9e5d01a7bc52c8fe65e", + "0x00a7beb17ac5e2e257b4e838c7fa685fb28089d7ffc17a30aa4ba4a636b36e00", + "0x0077e37ed21d9168b2057318f4b7e2b3fe8893d487bff637a21f3e6284dad024", + "0x00cf477598891820a857a881d1b80c4d1ef6ae8c3d4d84b32a6be9f61b328cca", + "0x00c3a145ee7f65dfccda9bcf66195b2a3b3ece9c292a3e1467ff5fd413e9d7ab", + "0x00eaac54ecd60d488379a5e3c28cd6e2c2ea035fad5bb30a32113e4d23f36e68", + "0x00ac74d8f8164140191f34854a8fd7e769ab7ebce86fc5c13a5323c6b3817377", + "0x000057b9bdae55b5e5621c51d6ae8c587380dcf275215ac8a9cde8c4a7e1c494", + "0x009499a1ba35612b0495b8d497cf0e707b82bf8280978ed2553936fefcc84a6e", + "0x00464dba7ea4e7b8636cd93c498f10637ee1d46e033389c6a09065c95de6d2a6", + "0x008986d99dc84bc0e5e13400c6d1e6a575c49dab054b453d2bfec4f009553612", + "0x007b95e12a122fea57559583dbc0399c161247ffee3336b622972d6693172e28", + "0x0075dd7bfaef2c58109f114fcda511059e50d5cf4a3cf02fa5b62b53a776ed0d", + "0x00ce811c038af12ecafc8f9298a262056f3df1559af94b6f1e82a30960c2fc97", + "0x00a190ef653f0b5f8a737a43a5801d699eb85078143cef1a2848e7c82cf2d2b8", + "0x009cf0ef943277a8631043f08a1ec54287415b53edb5a400cd39d449eb550882", + "0x0077065caaabcb922098b606ae5b391c5b981e1b7182a4b1e2e964873514a11f", + "0x009b92bb5f7a72a004062943d283c5bedd668dbf0ea9c9baaf79be9b242460de", + "0x00b0d1ca47f027bb4907c0b6ee826b813fc9c41f4b10c5f7f21a5711bb67c6c4", + "0x00baa7999b5f3198c9e782b2a8d139434218f11d84d1dc1c030d78b236db101a", + "0x00b62395a662bd6cc7b389b0f7b5d4c9248b50bd809a28c8f8a1e35d00be3041", + "0x00ffa7d4ab2656741a6293b2157f1dbde1801e9b3e9ec20c6f55ac2512491139", + "0x00fe43040411261c34200785405845bc2e1b7a00fe246103f04198304089f117", + "0x00adfb1011ccce1eeaf78ad0299994e54ce9489e632e3495173feb9f9a9b9563", + "0x005baa8a125fdfdef7d13691d70b628031b98d89b0611ff05c2ce26892a12648", + "0x00cff87f03d2ee0978681f12aa5cb880b5454f939d11a829979a4cb6e010a931", + "0x0056aff1328ea7e6a7009450e37de0a33581e9ee11b6640f93e6a46010a0fc15", + "0x0027e31f5b1fc4e386d54031e6639a239f4f5869214bd5ed27bbd3779b877099", + "0x00b6229ab81761e8a5d2a890068a252cef88b08a8d5a600c2bb04f99e0bf045d", + "0x00701f7e857171f3926d86a72f0c62e39755fec0184d76a3c2d903f6c667e5d8", + "0x006fe1f3eeef9b8d738efce2a4f0e9bace0423ea166aa97bf594cc0cc66509db", + "0x00285e5c48298c851eed86513869108f551ff04c03ac220749161e06bb81c590", + "0x00d4a3409e39f80d7acedd2cdd0eea586b30f784f885a4bc2e57a8b429d14f7c", + "0x00856709773e6af7f3ef73532fc4c183682a51cd6901547ff086c0c6f98cdfb5", + "0x000e1f9bba999d37262b83c1ec39a2c9d4dc253cf9759ac49cef8668f5078465", + "0x006341b10327a286410cd90dd80669f43f1e45c5f0239bf4390c044bf68a9746", + "0x001ad6fa0bf6fee445957e1286b4cbf861373d6960027140b693754c347396dd", + "0x00d5bb61cc50f7d7a97664c63654f0c68f3a8aa6c379d01f7b241034c94a065c", + "0x005086c165303b91fc3340f93663585ddf7e02fbb53837bff55c7c789d6530b5", + "0x00594bf64c10d06416bd268eecf3a5e5a3119264dc1be952c9c281fc0dd481bd", + "0x00882c475e57050d86beb084d8225fa7e57c7e131f2d79b1731c9fb5f85665f4", + "0x002c6d55e0a026953ab65e1ea831cdb8ae2a205b549cfd11069e9d56dfc55117", + "0x000886c8594b8944165e77306c6182c087d6f4606200642d4430d36533eb9e51", + "0x00bbdeb912a35a5cb571ac5ca2806f4cd0830f25af00e94658f2a9c700041e5a", + "0x00eda79c58f215ad1d84a1ae17ea75f73f2bd7a335884fe90e07a1ad587a7090", + "0x007ee1f5cfb7a8cf182fac1f83e71120492c76bb01ee8835938046e78a17da44", + "0x004c0e6792671a6b47c7398672ff9d54ef91a9b0d2245b052ee250c2fadf0fee", + "0x00a325f32caedf53dca855eda2a3581c928aea95fab62b5c03c05bd3454a6613", + "0x0017bccb6cc4339c5ffb5a486320a6ac57a8e062d02dd95f78082f22459aec1c", + "0x00e53c61bb41dd8013024abdb8d6056ac295c6e0896f11f5c51d81d12b036e39", + "0x00736ad69cc94334edc46b1c68a08e14f593295ff7f9bbfc551c5c564c310d85", + "0x00ac85cd6eff3379535c6b123eef489a909874f51c7ff5106c795770070def70", + "0x00cdc81ba8e55ae87d3fc4b5c49d8c4b93ed1677549297c04bce419bf7e23edb", + "0x003989572469734b7019929e96c55ac4c53fbda3e554819dc4c8ae51aaac49e4", + "0x00d05db0d2cd03f64debe87c8fee785323bfc82bd290bb8d92d3f350f3e1cd54", + "0x00f846548f422fcd5669ba440a0b5c5d06ae4faffbe179f307f2822267fc71e3", + "0x0006c499aebacdb8d773824e1dc469514bb2fde871bf772e7f697810e0b17ab3", + "0x00f220efa42973ae4fe21372c57d297e8b9a66a867b00645156e50f17c9ffffd", + "0x00f7d7ee92c8b3f93c7eadf0d774e4dd282315549206e44e090b340c6ffb2219", + "0x009a86abe47ea308c93e66af75ad361ed77181ec192b89b5e0fa73fb60f664dd", + "0x0031b189f55dd680c74c21dd94609d3fc5c5d2558fbd401e6e9f876ba27a1a0c", + "0x00390937a78ce21a39c33d50c606bf762903ffbc194a43ad170961d722cda800", + "0x00ec74542fccf8448d209db7f9fbfcb9db062b6f4de3fdc1a910cb1421272c82", + "0x006b12b91c943f45bd5e2c7c74f4d62e7460b9514d8b4cdd0fa3a94138ecd142", + "0x0070816538547fc74e33718550dcdd5f56779000eada0a13de1ab40f5ebfee34", + "0x0014a1c05e45c6b65c0a6e3991dc9be0d9af09a504463d8572e3b9e5071b0db6", + "0x00354ee6414ed4c6ac0a45f3e789a4410b1fea9f51de35f58330078c9dde3694", + "0x009218b68b81a1291b44340193ba414d026450936880fb16aee8a009a9b63008", + "0x00d14d41cb20c8eb1717ee283067fc043399adc2e4dbe5597571fc6a4f707e03", + "0x00b96c3221f31eb610a56c60aa772a3a49722ddacc0f1465d0cf4ba5b6e43d0f", + "0x000768e2c258f5904ebcfa2f6e2e81e54ce63b80b05286e4b6ccdd3203d54bb7", + "0x00a9209a21b4f306d7c743493d2ccc370104c24c6c3c0f6841e0934b29606c1e", + "0x00bf4611846becff38062e5041eb143f2226a7290837ead5f93f8e680d281b89", + "0x009b2ca2ca5e7ff037bc5b67ed524d9e4b7e1fb0ef2e7793a54f38b2a290217a", + "0x00b5ab2f31ec154722cc387d93eeac97961dc030e6386f05b91b69316dfca075", + "0x000f2ec590279b628c053d166159b2febd382137240bcef95a7f5cd0d6592f4b", + "0x00b0f7942fe0858afdfe8baabe3dd6e314c93a2c1189dfa6f89af4c9ac56a0b9", + "0x002c1035a787d6284d43551e89ff82dece35bae5bc0522c743e248cee22e5d84", + "0x0011bf4a9678aaa44ae5bd481f178af7683f74e2e71bfbf24b0897464fe96d1e", + "0x009ffae98456bb3c877c1e8e04788230cd492e695a3dd9fc4f62bb3b77933e09", + "0x00042860b5eb5287ee906be601ebd85393b62e99368b825af25cb136099200b9", + "0x00c224d890cb4b85301931114a4ad7b17360a917f6aff726f9324bea81669894", + "0x0008852a7aa350d6db61be5da384d2868c4c4f873fc0802b6ee4a1420c0226be", + "0x00aea1d13e3c74b680d64f597554ba2084640d40258348f8394b39e42236ee1c", + "0x006a233afd3ee0576144faa56e258b468caf7b67ea8aa99197a47c0ea80df9f8", + "0x0016cea7618c03b127bc4eb31742a367259ddbdcc6b4e087cbdd7a83e11731f1", + "0x0086d785171b2b64515e1df11d67ec5fca02f06e0bc36b166eb96a1bb55cb7c3", + "0x0079f367fc555823c4954c9306abaf8a31f16c45c4d3bb6111dad1c6c88fbcb8", + "0x00c95d61408b9432095ad5606d3e9ada46d0a109fb2aabf27a1d0bd2e09ff64f", + "0x00676f4b349eed7bf87f1141e5fa74fdf95df750aad144ffb7885770dad963da", + "0x00360688554b716dab97e15cd17ab7a28cdc6e4b2b2efe66a8890d0db86dde35", + "0x005021c281248f33ea35eb5294051e1d69d950201586dfa6fca54b0edc3b177f", + "0x005c3be33ff5fa1aa7d1c679d678da344c541d21e75c84175c2fed08b5058b41", + "0x0085be932b9af9efe53f5ca799b25e5f7d7770ce099e6bc8a88e0e257925d595", + "0x00b42cf40ed28e9eb1147360df91e6f9ade747eec504e4874cb0f85ed9e9aaad", + "0x00d6d755b14bb1a702347950d8ae8b52fa324f273d951453e2a23ece9743eaad", + "0x00af49daaaa3c55ab4a76dc5ad74fcf5acb1c1f262e527d9f7c89301d95cd299", + "0x0028c15a7bc3c814cf561974e035b7d5601a1998fbee9c5bce311238bd22a655", + "0x001b10dd89b23cbf0db2a2ad296bebdad5024069f6857317bc85e9375fae557a", + "0x00ab1f9c41df1720386e61b23202b9fd787b6fdf091b78132390f276322969a3", + "0x00d113e08d0ab18288473905ba4c860a12698e307cc1415961d0356e826f50cb", + "0x0074da3a95ecfad760aae55ce3addd07581d0528e7e00f6dd6afb89d133cc6da", + "0x00b958a6d3b2e223bdbb2266a2bc1c80634b4d433c7766d8cb53e049a48cb058", + "0x0061d897ac0738f90bcd296d862b6efb42fda4812aac250848db01a266a27675", + "0x00440ede020cbd1c76fbdb3073df967e9778cda391db880431e5f267f6e24fcb", + "0x00f074feeab1c415a1dfc908103365d90236ad45210fc04b67237c052b292878", + "0x005264730264ec25e2333d10f7167cd4e361299fd86f1667de063cd83cb225df", + "0x00914b46e08808fac0ddd995ebd4e4cbb82842f5306bd4532b1eec4f81ce7053", + "0x0008da56133e6df122d5277bbc5e718f6b3138f88ab9bb99765a53f96401d7f9", + "0x00ffd5445f4927df587476a64155e9d171095ba62bab8ad6ca4fbc2eaf13a8e7", + "0x000351021463334f33c3bbc47312be80d0bb418c55eaca2f31dab365cd0b27eb", + "0x0067987e7a282cfcb3869233795efb661dda8860cb63bae2d500b28ef6df5bad", + "0x00f5c9a07bdb0a0c158ac6639a2505ff64395821f57794930e59236b6aa70079", + "0x00e384826fd2b6fd52c624a993a8aff5e6cb053b503afa2b27dd1208fa5054d5", + "0x006251b5d2a8afaa3c11f415d75089a4aa6d10cabef9add39eaaeb4843cf502c", + "0x00ba918f6c7a2435dd4f12825c080242ed9a88678ea73944e9694a990a291cc4", + "0x0082807fc8554e3afeadea9f071b0b4f33d637db00d702eb240441de526b449a", + "0x00bab7113ab8a3a9491390ef1406d90d7b22c93646e46bf4497fb58df98ed0c4", + "0x004a4f8145d34bcb526c24b86db09f912a9b137b3b55ad08bd8dcfd8c5f1b695", + "0x003f4407fd91831ec9d1ab17fb76daad3d094c639d0b588ff600644e9860c10f", + "0x00fb71f7947789b2a4ba455b8856d5ae35bd779539ecbb7fb8543e74deb58c5c", + "0x004f4a41b4e0db2ab04ec9d9e87ac95e35a58284540a1e8041c6cb57848b8de4", + "0x002c9234d3a55befe3aea55b2f28498f27c6e0d344d6044ee220e29af52e1390", + "0x000c486dfc769d2e23ebf7ae1e279dc8a36668503da15341b0e1572c36137487", + "0x00f609abbaa342e48acf22d2fd85a58f0360390332f6cf252e436526d4e97f16", + "0x003366959320556fde158055139eff5bf95284e28d3a6ab50b69a38b17f2ece8", + "0x00beeb16b032caffb557e0719e4bd20bb054961ad60c7bd9558477315ff685ba", + "0x006a132b62d34c9cbcb8fccfaff6426a6e1b66889ab6c0ad054f0b44d40e0490", + "0x001b60ba957edfca331eb79d3aac16feaa71c3d9ed9d040af3859514f11aadae", + "0x0016f816684028699ac72317ddd0b1f39b02053339a12431d00b419fb2c18f10", + "0x004d8c25ac4edd23f105d32f99a5b4527d2d0115ca12a6614372d2298db5d822", + "0x0083d1718b9e70a30b428490a8e4eee92af3df13113922d906a72d46d5b16cc4", + "0x009b2afec972d0a099b408369cdbf2506bd4fa78cf24dc47089c2c6e10fb4779", + "0x002a36f3f9cfea339eddc2b5e5e03497dc5bee5942587d3ce6f9f8f8f332f8e0", + "0x003675c6e50fe718e7455a790ebbcecfcc235d6adecd7b8283b7b3af78feb9e6", + "0x0047ec8503511fa6c996a35e6413a956c0ead23ac6242a131992fa9860c80517", + "0x00743c34a03504fafeafc92f378e80f04561360b9901a520cddfb5be9447bcfd", + "0x00d1442e5916ca24c1dd2f7b28f9290eb794bc662dbe1e7e4fefb5bb35e623cc", + "0x007abdddda627e56cf91efa9e38d9bbea5e351a8af1863f449b947176e86e4f7", + "0x00cfba3001ce56be4c4e8a1f3e32ccb29c309e15996828307e10d29cd55f0ec1", + "0x00496a30087ac90ee19b534224bad7b99b1598f1116003b241434ee6f9b7bf2f", + "0x00e7d6a247017b1673a7faed733e51cd4e5580a7a808842e82eefdf0887bb665", + "0x006bde99b5843b6b5a140ae2b27e72248d0b793d5f19e4b5bfa7f1a4615c25de", + "0x00a4d58e32e5438df98308718e7ac2f92f860f27230ffd6a46735ef1dc9a0666", + "0x00f464efc35d37e8b88adeb69c17e9387c0fccb4050032b73df4cebf77dd9ca7", + "0x005bc5fff39e95b96fb1b67da366ade5dcf28da9232bc7a0b86af2dc06f08da5", + "0x00ee0b2591a223db2fc8f7378d85360083b81dde4c04a0cf20e6f0efd4e64cbf", + "0x005c78f0d23a24141154414f0c14681207edb953169619da5ed9b63dd7b39d39", + "0x0020767c401eb8d0fe1913b4f42f4c9d2a1377237af6fa0a1ba3d980ed6afd7f", + "0x00c9adf3218eadc87c92801cbd621a276b806b5263972463f99755ab2a881efa", + "0x006f1eb0437577af00166c321aac33e741c33726293900500c38fac07c8148e7", + "0x007666c2f955ecb0d7d4f959b9c62ce2af8d312ae413a0263d41108c911e81ae", + "0x00b2e49b98b256859d883fe3029ac93412763d50a4c6df5a0d256edebf87271d", + "0x003445346993ef981471cfe90f596ca4c6f0bef5abff4d079e499afe9ae71ba2", + "0x00dfb8b873841f35adb6f708ef561e11d923443ef377e88505881b4e8f726f9b", + "0x005e6bfd55ec3572840558917b564cc94e40840509baad6edd727b825bd3f2d9", + "0x00b4e24ac6a3b20f5d546d623520e538c14b7148bc6247cae48169cdb0685ae7", + "0x0091443c2e014699e20fc682c4de3e71bc04ce6f2538ab451b27789662b2aa81", + "0x00977537e1840bf60684504fa36034134e744883ba099ee314455e6ef32ff443", + "0x00804cab1e78f461b0c4cd771428fa3851e53f1f00ff0fbc47bdb9ec3ea46f0b", + "0x00cb3943f377f3da9f91eb9f0c5353c55ea2984972472eeb229b2ca96f941465", + "0x00dd52eca56400cc5871c8f36dfc143dcb82d787a199658f87454050ec375043", + "0x006184dcc3e6e7ba56eed453b86d68f18b688260cf3be8a642ed6df30d5d2e09", + "0x004fec9451ef43268715e1c168fcef6438ffe21484db73121e672655d19ad08e", + "0x00be7e3852e22a2997ff93c3f78ecfc17b6e7b7386286defe9d30c4cf2f76da8", + "0x005e1e12340b34261ccdf8673a0f8cc6150027bd5b6470528b1ace3bc8050c67", + "0x008f08793e714609dd0052db24754d62e52a80e312fe43d7040326d83fa1e675", + "0x004a92113b1bd76c75db617355a11636c24805d3ef2820056dbccf58c4cff24d", + "0x002176984ee46cdd1f4d451d224b7565b3685380a8edb6b30a2b20335194f26e", + "0x001b48ddbb89ace0b88abfe9160af018b964a3271665106efbd61f1eb774d190", + "0x00980a793e8b5d0f8714b7b538e77faca8df3b65347f63b358e95486804051e2", + "0x009c5947481cc2e5b493ff1ba876c0f47696b16190c476202b935f187c274e66", + "0x00fddfb6024e4e3c1f3487db8f610d0fe66518481fa839dfa898bb0ad8264a26", + "0x00783911e1844015f6131db6fbee54f69cccc49fade5393e7ce89f1c2ec0c5c6", + "0x003eadbabfdba533c72758c96e3317fc87fff4149e1f68539fbb612c8a04fddf", + "0x00a80536731e3a96060555df3602ff0a134c09a1112701ec697ef662585947df", + "0x001505c75894313fefda16616daccdfce53f26b210e99a52f2ced1c7703c5917", + "0x00064b36b93fce2a5b8497077ab14abda7bc30f5fce2f9a0622149ab8f855bd9", + "0x0048d4e051d7d3f668b8b05b56566ac0c03449f1d74cfa7c10e1d6eb9e06cda1", + "0x0070ade1dedc4f29bbf884bb268844ce46bbaafb51c5330f88ef6fda24490928", + "0x007b6f632d13e692561745603d2632a0da800c448fa6e54ed79afc452f97c1c0", + "0x0016eefe9e88bbaf9f38fa22fe7265759ab83b4492c7ef52c4ef5c0837943a37", + "0x008fe93fb0f9eedd4138d6ce386246c74682a86cd1aaf50c7c2bf97e0030c3c5", + "0x002c3cd46ae706cee897066b0ee5be086cb0f203176a01f43c7b9a54515450a1", + "0x009fc79cdbd0b53b5eeb400d8b6ec9aef9d6a26871726d526734e71e74a56c01", + "0x00ad397c4dde12731f2e597479d5936a091d591131f5a945be2a7565835701f4", + "0x00fb68339036125e52b26b6fed7bdd93db885706561d6ac37a4a47e255e67e84", + "0x00665c53e748d7a8a513876033cdd4a504dd3b0bfae2ebe2e50de6909d539585", + "0x0065387fa2dd11a841115821ddef295b8a522a2269006d5212458bca2ac15c97", + "0x00d00eb3af955e0c6118b89bf57e5514c12aa884ac111d316ba9f0b0ca622f74", + "0x007789a6d9de3147906d827ef9e2d81332e56efaefa1b974074fa83ded0d2a21", + "0x006dc8f8dd04823d92a978416d32fb6c42b94df9687bb2161c4ae4ed4ec3b96f", + "0x00b86c76b962ad755cf1732b3afbb4cf727f902650c91c1cf0b5783262ab8479", + "0x0027227738378ffea955bd576b6438ce1d1a005c98e531f52f7680d516f1531c", + "0x00f6b07149879d013edc9f9511a87ab9e5b78c72d94f687935e315792f9370a8", + "0x004362809c48b1182a03416b5ad71431a69b724a22c45490b466e29f1ec150c3", + "0x00863e2fdcdaacde7c2a35e0bb02af73e124e2ad1e42de8daa69534c8c6431b0", + "0x0041e16f456dc80dd692a40a7adb434826d5d2c525997d1750ceb206bc6f7fb6", + "0x00f8e2fd01f6f5a3989c3aef5f92ee633e512332240d14f1f8d5dcb61d7d2239", + "0x0011f4765125e327a0491ca1a3230947323b239ed662b11b284a59ff3fe077ac", + "0x00e68d0ad1f391c79ec4c490362be3e40053a829f5e128dec737282889fb1679", + "0x00e99bcfdda1f6740e7235b6575ea7439970a1ccb29e6ff92660e271609ae0ac", + "0x0093deb8858b1580caf76c44289a1677e54a3d506397da0bcf7bab378fa3727f", + "0x00e4d7169b2aa77c5ff5e9b8b14bf208a5054633839e9d494c1ccc42c031b124", + "0x00a9059c6ee5c19d7ec7e87bcd7dde08b2f575dd8760ccc39e80466ccf5406e4", + "0x0033344d25a671b5618ee446906a663ddd4c09f456ce64959990fe1cd4d829cb", + "0x00581d6d220c5e8a7bfe1eccff8293a954333d4cae696f1d7bb8cb6a61f02cb1", + "0x00230aa0cc3e8668c647d0cdbdf0f3b7a210f42a1e37dc9ed87695f9d4937f10", + "0x0089d343f272acc4997b01b0f8697ae27bb636344c46491ac2d860b54c6a481d", + "0x0049f25c893d0b3b6c2d6ccfe9d664908b1e31d1f9cb3ba6881d66ee5038d5f6", + "0x0099811456177f60ef6345c01aa17bec25e2a17d4b284c70f2194320dea3a870", + "0x00ea24b1c05bffec17e1fc23f686852c3eba6ae52597408783da5f27f56a64c3", + "0x002d48975b7622b21eadb27d81d065ee00f056500a5f59c25902af2a89c8fc9e", + "0x00b0670bcf44e37ab9179692829d740bf3b7cc58fa7c07bb9eca5110d376a1ee", + "0x00ea345c8e687db9cba0c57fc1bf77c7ed7119f080afff8561fef4db9924fd37", + "0x00b156e02ca2e3394592c024bd6529da66fd0e6cc834198d1f8b5dd8e3000122", + "0x00366a2a97052f9abf121d0a41f4081137bd6d96daac0e3a556eb75f03145181", + "0x00776e33d0d939e8e3e7b7c34d61524ae4f87317b526f98ddb504edcfa859163", + "0x005701ac6425fead719b609808f58000e276e2484d0f3e6a37755123a62e17ed", + "0x00391ff28aa96f5a96a9cc9789791f1e5f5b3f273af2040b7869f1612b38a308", + "0x007f0dd947dc8c89111c28813405e72bb5c9077cccf0de546103d71f5a9d0227", + "0x00ca9edb74f0d138299ca554bbc06e1756c0b625d5aa77e9c95a721f46dc9597", + "0x006aa75e6c132edc707b3592ed407509291c0e733e93f4ff6911a31f54e356ea", + "0x003797e0e6c1c46b2cd587c949d7dbb082994224c52ec0784a9259c7690c04e5", + "0x00f5709bc0fefc71e0afd6d5064611fd928c60644ac658a30153cd3fe7a9e6f6", + "0x003873a834c8344f278d5530a0767b309eb0d74b647033684dba62be8de3c4fd", + "0x00d118cdc0600312194a4ea498f56c5e4589d2dee65943024d9d9ff5cc1d463e", + "0x00d92a7e0b07c3f96cd7a058af23c8d88ed1c5abaf935bd4e62d128009cbb6b7", + "0x007195171efffbf2e3b2b7a77be862c50fc37d4684af4360638903f7ae823200", + "0x008fb70226b32c857c0ba92b59b7abcfcbfa3753346b93765f0a1e871c8dc820", + "0x0081c75abc19db247d24437f9d44cdb8420a38042e68624418732695888af09e", + "0x00bd59dc412504df285090d2a8d94267bfaa6ce147366f8ad202c87b85ff7b0b", + "0x00b020d7dee586ce0a05e0300665db645ce61b3a7c2e3b1200ae1c3a9ddf551f", + "0x004391cf82e7ded9cb9b3d1a59f6b8bb28b610738d79ffa7263a50afb7fe0fa4", + "0x00bcc8a958f3f3491efdb956598d6158bc6908f3a74167922e810acaceaa7db3", + "0x00031b9ce881df99913deeefda59ec020f9e37b855d5a13ae9a1465fa31ce5bc", + "0x0017082a7ca52c0edbf226366b03c6bbf6043ae55e64bdbc6d367ae4fa5a704f", + "0x0051fc59982363bd18eae5eec3437b3f5f80762158586c4068834324711f70b1", + "0x003f0dac4bc66c0a3b5720f0a208de2aa0543771491d82fba6ea7ca95a5fcd10", + "0x00e48ef78229f861fca580d28ebeb98657668006f3f4e731e7eb06bb1739c444", + "0x0031a0e52f7fc6615635622a20758de5f25dba4af175e6451a5d11930acb3db3", + "0x006df627e5db5c4168bbaa98c7c510c4adc3366781974ba275800942900ef518", + "0x0077be7f27be672e200e5af48638af173f7a955960c6fda337a098a5d8684259", + "0x00da2c3b22ed1c2dbf2f0ad7b6f9159cc90e4eef68459f622439187e3b6ceb64", + "0x00aeebd32e81e054a4b24ad091a215fe791a0a115ae503c3584c1beffd3f20cd", + "0x00d51f4c71e4a413baa701f5b1ae8831c50aa5d13b3c36b4d282bc91f6ba0433", + "0x002ac6672bc26ecabbd1b05ab352a3e608475cdc4faaed202f8e0995191d51fb", + "0x00257f9d3549987c49571f07aca90c10731b0f0ec1cb76aa324d3c9e6d1f25c5", + "0x00319653ef4410421a03dc9911f6aed0c73d47c947f72d0eb76c270c4644435d", + "0x00f1ceaf810a825c5494b370efcf01a648bacde0a260052f1e5d2620269adefa", + "0x0020080ed6336e1a67df4be66e5b2a6d77a2a188f072b48e852d69d30fa4dbdd", + "0x004fcfcfaed0b720441c591c72f494d4b4e004bc424b57abefb0f03e5cfe7b87", + "0x00d8b7021099f5b90084fb34f8fcfdfbd01b755d34054ef86806a63c321164a3", + "0x0063bc92f5d1f2caa1a9f83b874296ee6cc60615b135d54e97d6d1ef9a69d7d1", + "0x004ac6a7f8c993b8d1f4092f2e4169e6a17acd7e9e1893f882f6a2194314794a", + "0x009d2f80c30edc3c854feac814a7bc37f27e68c0e7413a5f034e20e67deb933a", + "0x00432c860c487e319cc26b09c50190793e3db9e9715309d7969788fa721ed81e", + "0x006dfb2331b76c70421f7553614f0e9e4438a2c0d74d9ac488d9fab316bd54fc", + "0x001bc769fe6014ddd1a14f89c2fd78e58e7799638e4ebadfe74c530f592ed273", + "0x0005b3921db150f1b9e54f219c1e990677dfb2196619a9067007bb8051cbf5e2", + "0x0083a848a15c832256de6e2aa0e28936a8ffe2f6f13e9625b348e18f7993cc12", + "0x0011e2dde213eb6fdd3757355a6c1ba5761fe46a00ff9ef3580e175faef2ab24", + "0x001d206e0324af49b1399a30a1252b74eeb54b948954ac7297c88294ce242260", + "0x00530650916cb87f61ce90e7b2f494228f633d25ff60794c47b3297c20d0ac6c", + "0x00abaf19c59cdf8b5c4c716b540c7be0ffebe85581ff375fe5de86da79f248a0", + "0x009c336721384f50aaad65f378b08d31708c7f8daa2ae30685081f2d0d85ed30", + "0x000a1cfb93abd27816083a29ecbc25d5e297c1dcccf7a86e966753470626ab9b", + "0x00162c0ca80376769c62f1faefdeb3bfdc684713b44d663677b375f66ef5e2ca", + "0x007ed09b16a4ade469ee24e37621b2276aa6f3ef22531fa8ba19985aba5ecb4b", + "0x00455bd5bc0b577821c487944745919e08fe0a3ba9086d47e4e0c1e0e349791b", + "0x00a6ff7b94da6bc7bd45b9207e66b65a2e24ec7a7f53e814f01f2253d95d9c07", + "0x00a9f25d1c3282c94d3c826ab57fac15f43f7d59b0bbbcfd654c2c4525b6227d", + "0x003a46cd2429d534fcaeef6cc93a99526c613df8c093b222faafbd6a4fd1aa3b", + "0x00d38b834b533b23acb8bf6145e8cc4738ad8e2b5b010afc5433f17bdbfbaec3", + "0x00d2c8358e45de7411889b791494526c8efc621eaa4162bcad930526fbbbb21e", + "0x007a856501e8a1c83435c7d6ed4acfea964d92562506f8fa1280c9ff05627d95", + "0x0043fd271985d26385794eb481f78cb8ede1ae918d27599dcfc594722e5efaca", + "0x00ce3e1948dad3b898cff3f57297a830b9d7928b861abc73a178b0be816892e1", + "0x00c6dba7b8dcff8c07a014d03cf175face875ef8473ce190143288ba60e016ce", + "0x009a8607be69a332649e8beb2f0b50425f80c52b3e31f545bed6ba555cc08161", + "0x000fa7e6b9f60454b8c125037f638bbfcf55776c3a89f8c9de1e05ed9bbbaefd", + "0x005e9a5fd1fae6a8320ac147864c89e44b62bfb6b50f53038b33f14101535611", + "0x00dd1d5414215eb46c63af79029d2a3e8b95313250bc682823b35845a0c6ba7e", + "0x0094bf0cf4c790b3cd53744d44ffc9c2700f9dec15e19891f8c5ff423efb30e6", + "0x00672a896cf4b81071a889c46b1e2a348aa52b95f40cf08c10fee95d7db0bf00", + "0x00eff5290ceb4ea8f2f51faca58d5e01dcbe5291e981f4df342736c94154d864", + "0x00dbc4e618226fd83ab1bb8560ab355bc8f285404e4e95f72afaf6a4ac83b444", + "0x00ff908a966f2b9229b7b9f5b3ace131220e777e40b37bdd9a62362e507d9d60", + "0x008156a409efc751ab2add50bbd05e0c030aa7293ce535265a808583f3c2637b", + "0x00940ef33802d18b38d7dd8e2f51f7444e8b8a41d25e7252b8916d065033d622", + "0x00f9946faf143ebedd04f8d766b1f564f7db23ee999a71accca6770063ebfe3a", + "0x00664d904c6f4b3e321aec2124c8b44666a663418742d267aaab7df3cb08d1e5", + "0x008786589f3972c1dd4c38c6c60a26b81cdc4fb47d561c65b83e843704c3256b", + "0x004e942d74cf3e47e562884d290935af549f45cf148b159ec5d42d543f437ae6", + "0x000796f076673720e98491a083b5951a0f32ad1b0f45666909b21e9d85dcad8e", + "0x00717aeaf6eb2978e0cbf24459d32869d3d2a6076d547bf6e4de243f45e03506", + "0x009b3a779e0f691aaae5f887b2244ad8a73fe6c6e29dd448f3d7136c18c97252", + "0x008ac3fc29e534103e10e92f5f9077859bbec54c1b13db9fdc896d6ef8aa8cda", + "0x007d3182bf9d0c96c768e26429202303037a2c5363197348b73f8caab214ccdb", + "0x00054eac0f5dd1c7c0e75654b562a701b8a4eff9f66704c16c8b4c4671871b23", + "0x00177e04bcbd4f6c3f0aafd6a7368c7d3082804f71f3f0aea55f9ae2c9a6aab6", + "0x003e2e5babda830efa5271bfdef1e18ff4ab9795e1eb8241185e7a67b4624aa2", + "0x00a68c50f0741f2c7c2c6d463f0167889fd07295cd3545489cd38d1e6fc7efeb", + "0x00dc4fd0b9a18aac0fafaf19bd6488c4e9ffff6e18a722aa48f4b5c6fea13453", + "0x00e527f3c70c4f804220f075614492472fa5b585f71e26f7e3c21dcfe81f1eb8", + "0x002219e272fcf7547a47341bc817564fb31e1fb26a1616e0f3e91a49f4be8cbc", + "0x0029f446ad2cdaa09da138d9c5100a42ec32423dcc244cb8d01b660277369ecd", + "0x005f360d4852bb2e03cc08ba7ba26f55ac0d57c23247bc22c4b6133d7050db47", + "0x00b24b7dbe3ec849f16f841b8c56836036b890e131f02e3aa64e8a80b948af78", + "0x00eb6c39ead1f3af45187eadc386258e9728c87ff0a2f47f86b2f631285e554a", + "0x007488d985d44da3fd0f949b8d292a7e84f6a15d416c7b8b16d7e017eea91df5", + "0x00980d17e8bb5349fdf9f24df984cab766fcaacc4ca6998e3f07c2c96bdf560f", + "0x008e1d28c455b4d16c92fd4e68454ee3d5036575ad3cc2f0f7a68c8a81ac005b", + "0x008a526505eada835f9bacbdb5ff03cdbba89a018f7b35bb3400569febfd8d7a", + "0x002e6ef0eb67c0e93886c919a4e4ffd01d11256439245f59b798cb5a7c41f5c0", + "0x00a481bb953a1e7e90d4cd9369f2e3239f95df9e235450b9b79b333ffef8b10b", + "0x0031dc3c37ec93865d433bc45891f470f8ca31bf6b0f7e4183d37b4812197ea5", + "0x008f6b85dbed19c435ba36db94118a0871364d41bd4170289960c2e83152f001", + "0x00e8675b2f9f4b34d4c8120448fff3e8dc4d25d2987f99c3236f3a9b820b65fd", + "0x00c17ef151219f9219800c2e766ae378eddd1ec3f70648612afacd5d151a923b", + "0x000e0e09659c88f73a2085b3fc22d7e1746a0e3e750b4e04efb216d0c16bb925", + "0x0048b851e47df5b7aed3465fb0e78b6849d0beee4e2dfea517616a280b5945f8", + "0x003f1a58e41cf50739069a751057f3ed86bb2b156a8044fece12b62819b8cc3c", + "0x005284952ac3f5b47a4ff71da60a46a7a27399149c26ce88769054b6fc40457e", + "0x003b70b4c0791c3a601a90e69df04fa77705083f754ca2ce42ff8ac04af7f905", + "0x00012ae8d28b87cda4cc69891a91f98a412580abbd5e9aeb9215ffe8562eef27", + "0x0000be5bcf51ec507d8294abf991512efa7fadb4f56ecb7523a0c82b655f4afd", + "0x0013705e03422145ec2b2da720e234427c733138a70f9d88d82f00073c99260c", + "0x00091e1ec0bf1df5867c52d77209478230024c879070e65f0bb8ba2dd9535986", + "0x00121213a07bb17b6c36cd3bb5a551549fe9f2ecbd0acd2f48005e50dfbfeacd", + "0x00b7368c65730f84db186913e480ebec6ee80aa9abf29cb5e93b608b8b6856a1", + "0x00e29504b2e2f457e761a07385158b87c30307d8a7774b70877a5c8334f2fe42", + "0x0045f17b89ed3a2651216c00fdb8bb378a6a551be09255aaf062e4d799e39924", + "0x00e7716c6b05bb23121197319ca100a5d35d1cb873aa404dc5d465b75aa55511", + "0x009dc02b24f769ba2ccbc72de622fcc07b99ef166b3526600f4910da995670a6", + "0x00ef675882d2de873ecd50b532d60af2c1cf080fa003acd74d952a01ed8388e6", + "0x00ac0291f42ec250f4b81a67987a800e421bc0ef108a70d1c770c1a0a58f1a9e", + "0x008fe608bbbbdb4af1b70a85d19dba34189da75efdd964680d8613077c7f2ad5", + "0x001d78dde00cc454e7014f7cbcddd6f688f3b4f079d175c7207586c109b0f045", + "0x00c4d4be1583512327a55b17d97c60ed213580c0bc617194a0edc3d8725fce86", + "0x00a9419607be08ead348b8f5eaaad998dc3fa0b759f9c03352efe966b8a1537f", + "0x00c732ed3a585c70987e71ad23594fe1d756873df527f22e0ead974dcc159214", + "0x0023cdba356df53169da23100375c57b4850c25b17e1087e9fe0f62d89940e69", + "0x0062428168f1b1160b3ce9f4df120b6281ce3bd8fc786e01f8ad240eba38df8c", + "0x005dc684efe222129a7f12a768f4074cce4c3849e752cf6ea1c36aa6d6490ffc", + "0x0010c7560f84fd99fcd38cec2941562d51e6d2460e4ca6873a298ed139bf388b", + "0x003bccc9e100a6ff002d6a669d588f5ffb5db7bc2b7ec24a39db5150a4b3c72b", + "0x009234aa457aa5672b4d2f15bf10f62d8ebc17e227dd7f75ae4be4007f12a68d", + "0x007a107733eaa0164dd7d44d94da7df763c18c3cf69abd873bd59ca5410d6b5b", + "0x00a02363369a65f19fa572234671dfd5f894e3902e2089c9eadd7ea569bd26ee", + "0x00f3020e593d38f6aefd98978c96a37df52c0e689fd3b43776dd2e76e87fe8e4", + "0x005d5e5ba1f8c49b47c5bf990d3f85f1389e091c372607a80851c0392c62f9db", + "0x00a83f5275802824949a273958ff947bed97573e3bcb0be2e1077ed63f5725e6", + "0x0023fea9a9597ea6d3c3727c1d7f1343511b89b846e8c55dad36fcc57d31503d", + "0x0040addaeb28ed17d6fa8710ff70fcc82ff9b14ff1d639053864288260411204", + "0x00c06be207ef3f031bb5694093db1284907bc99a7b5fc85cd69553f022b14deb", + "0x0060f81b819e40baf23555bbca83ee86cf0cadab9e7bd02e395fd9a788fd0426", + "0x00876c8fcd8c98cf58efe62a31c2fe05fac35ef19676dac2aa8dda846f62fccf", + "0x00e82027f8dac8abc9e695495d5192c2b43176e018995ba31a7930af800f0b07", + "0x00782582380e5bbed8ccc24510a88108f63755596cdb89cfbf841baee226af46", + "0x000875dafc966308b1b336f7b1bbd8c6b0a606527d79e4c9eb0400ea48dc3ee7", + "0x00518c2c257077a22377eea915e647625150d0be5e0d1b5a43dbfe99509de901", + "0x00a174f98aaeeb5ca9cca98f8dda0e065074a9ca21e0ca2761a4a172192b28ef", + "0x0053d98e45f2adf9711659d7321fd1d4cf153ede8af53b2351a895f411b16115", + "0x008d8f7867ea2fa28d88b38bd6ad6a189458c371756616626413b201eff767cd", + "0x00f7e021f3e58144efe4103000ec35c9bc26fa11548930d5851ab776aaf423ff", + "0x0094a216fe95855f7b4276097c0feed654ebabde7bda3d922bc3cc89bb414cdd", + "0x007aa779f726b8c42ad0aaa380c889076ed2ea59e30068c613fd93700372ed97", + "0x008eede30a2acee63325acec17ab154d7b59922ce81e5fc81d6c623a38f6304b", + "0x00c3e76d6fa017709f4c505a9e7e1c8d4a1e89ac7462dd1d75bc166f8847da1e", + "0x00b2ac21ba7b157f3ddf2dd7b5b442eaced84daac3000d6c9080b1d5e5facec1", + "0x0021f39a8777ba1bd58983715bd573677c2be37318a8e30069bb1aa1d2d57c0e", + "0x006842bf8fc0a7aa211ac968c93d10044c854b2be9885fd40fe6b389d4edd1a7", + "0x005470c72517f9d1bf5f2cf1b795ddbc3c8908c0cc158b245cef7817bb7f4379", + "0x00a33da82f1dee8376ba24982d632b261c34e0fb0357b5e6ca55dcb15571b6b2", + "0x0090f5c35cd82f11a6f16be0ec37863183c76e12d05f3db92f52a86be3e1b97b", + "0x004ad385be2bdf8ce03a017903a6d0dbfec1f587d63b0f2726daf2c528182b9e", + "0x006d5e22eb1af0a1fc51e18a47b85df22e8bec48449fa373a789ea0b4fde518c", + "0x00190a83ec0a5f04a3a1e2f8c43b05bede707b8b03d38d46073f60ad5ebb53fc", + "0x0045c7ae6ac2a77eef80452172dcda5ca8234afbb56600929c509af67bd327b8", + "0x00965942909aa28f1099dd96abe87de5c097c77080fcebd1a4bb29bfe82c1151", + "0x00e938eaf8cbeea88c678b8f4819e6fe460195b71e9725eecaf8132b4fb1d3d2", + "0x0007f5bc2b774da14bd4f349f02ededc136ad04310ae751705d6ecf67d4fca58", + "0x0071bff1df3ffd3dc292937cf0ad78e6a8de691f79fc629b0afdd139a5adee97", + "0x002308122c0b28201cd3458770a3d1ea7b71f9b206fcf16fdbfd8758a76cddb8", + "0x00ef55ee08c7e8ac1f91fb5d339a24b24f2e5f1736fb387e25991dc3789db8bc", + "0x0011ec1d97b81889a14b7127e0538a3f85bfbfb9777ff420cc8e7f1c8d7fd098", + "0x00026b7070d1a93ab08d037b769528a82720ff5d1eeeb186626b52fbae247551", + "0x0027f0191b54bbd7a1ec104c4df40e865e740a831e292e7c0ffd4af9e7871413", + "0x0008520d9ec04614e3bfb503450e69dd5dbba4c5085a139a4186af96f6fc4e5b", + "0x009414f06bb6ca208eff6f828b0d8d6568af74f872a9f888c39b4f3a23877676", + "0x00478a84dc11b948eb90fed30c65e1a2efae44c77ee06320489ed105b5cc8f2b", + "0x0065d66bf7169092911d057d9a085c3a1efd665f71e6631aad65b078f4f7a6d9", + "0x00e3e4aae29c11d224ec01d7422b3fe1f0ebd5e189a507da5c392e513a76ef4f", + "0x00e1d28689085784fc50bbfe063b3f4cab4a083ded634b0dc7f129ecff7f5703", + "0x00cf3bc613f20bcd9742643761c62800624ca88e564a61860279faff9a0c24ef", + "0x00bd30c857c86eb803f6f8f69eb321efa9d672afab56d6eb668d0758d29b5a7e", + "0x00965b6fcd925c1ac4e8ad0e8dbaedb46e4ca5afd37c3f13ac0bfc85592d70dd", + "0x00d5da71341d022591660d966654671bed4dfc70656c32fd2a8542f2ea5ed116", + "0x004cf28d07967e2565da1286212d5fe9a313440785ab5c7e62d89de674c2a08c", + "0x0013026c0218217e079d0a43494110688f312c9eb3a6715a9d0cf5d552befe62", + "0x0047a642222e65e6da40968b83aa0f4f05dc106ef10f3cd646fcee9614589f0a", + "0x00fd8b3ddb32120e8ce457f9dc59af13b13ce0d72a87c46ccdf9b5ed0e42c27b", + "0x0054d62d7fc0490171ab668f2dcf52d927c40dc5ba0613d5000006a095bea369", + "0x009a00da08843120a7d5714309904141bf2a75ae47c880eb118deec38fcea3b8", + "0x00a690b9efa5c4137e73a81e280ca1cb5bc3f68a7d3a948a9fa0f7fa82fa3829", + "0x00702fc28f8265a8ca9f909c6b27ce53c1b66ee31b8da2334e2154f5224e6088", + "0x0054a49e2344f086e2039b43ead4aac7a9972e07d934364dbf88fbf6fdf3d9a5", + "0x00ac55b8906513762e1fd43bfd31ca624b5f6b8a3a0680c196a76bc3a7cc03b0", + "0x00656b26db01457726421a1476aa253660f0c29e5571927bd43ccf87aa5efbc2", + "0x00d63f64e395ba462f41949e58a623b9c25c0752a5e76b98034663d53408381c", + "0x00a94d680ac301198109269ceebe36ad5c035c6f650494e265fda43ebc9f99a7", + "0x0060cfc8622d2124dea883e4e5a1080e8e014640312bb5ce14c44eb1ccc2f4b0", + "0x00a2cc76b883f7b578e38256ff620e08ce5f425e5e2c5f0c6159d41b33d2cde1", + "0x0075f6a17d53a928258ea6241e475131e6848250d90d578d619a48c54a1be7d6", + "0x00ad1a7ced03b5b41c4b2e842ffe3a4c4fdc9e0ee22d98cbe56ae5bbd835fa44", + "0x00552817c41627bd19ad1b71f14ce75a8e843fdf993999ab76b447b5bb39edb0", + "0x00f4f77f23a3eecb39dfdad927a312b02ff666c4e59f245df78a10f564e03f96", + "0x00daab985b7d6bb0f0201853ca7ac92896a748045e0e27bc8b5580d665cc3904", + "0x00c5ab132f4ac6c234e4cfea7ebe6be1c4e10f6ca0856a084e01b7707e807b57", + "0x0026e44248f6284bac3d0d19a3fb5bd7c595ab0965503e3b63a3da24f352a122", + "0x003ab03558011895e2567fecbbf569b74fb5e5ade2df44c530d5a4f40aace273", + "0x00890b85cf72d1328274164d71f460976dc06e7714ff23061694c70bb76182d2", + "0x002e3a0932529d98cf5673bcd2dd0365f4ed9d162de8116d0f43b43d0c185229", + "0x009faf78334e883fd2422594d32f726f4a0e95d3b5e4d5c64e3d61492679b25c", + "0x00b01f26ca69eaec8617ef90892817c8d196028987df342ad2a913a0eeca2ff7", + "0x0053e0a4a8140164723c7f78fc7a12b3fdccd2fad083382c9cd7f783eddf7e9d", + "0x00b08782bd2acf6f2c6656a728cd91d3f8bf554a12109e20596e95c129f91662", + "0x001e9ccb2026ce8e15e874cea95b54a4fdef9630adacb70fa6b173d98d86128d", + "0x0046594af787f54370f5933829ecae137cc9d1d7d3b6051af90b3b184e09f80a", + "0x00e36191d2989c13785ce821420060757749685409f48446e7f8c8a759866905", + "0x00c58bdea6100893655d5065bffd5e687e3edbb49b98909cf0202730300b4b75", + "0x009da651b637519cf8f12b03f12856f728db8cfd34e43f0f2fd8922517f57182", + "0x0042a61be31b868d370d91fb263cd428032f1d64c89c9e7c98af31f48a0d9353", + "0x004e6d33d906697efb3c935cbb50ec9984a51b974d3ce7a1e56e140db55effa1", + "0x0011e7541b4742a032e277a27b1311b10cbac3ffc8a26cd72d839c9d0a53114d", + "0x00a0d300f5168d99b87cfa22640b74221bb2d791058fda675b93e1d85937cfc0", + "0x00a068a60a5542962d8d870c678a6ce25b611c831e36e3d95ba96445bfee4c69", + "0x000f9803fcbccb44d368925197c8180c7e344510ecc1ee6bb2e82fd9e517ccf1", + "0x00623569c63ed9b452ef7d30d18bad130a9617c9f8717593a5233ec173cf9131", + "0x0038aa84b378168b143b6f9e55dc31c12929a6326e1694f63e94779c83ccae2c", + "0x00b434d86debb864b48b279486a835ad3dbe2e06339d5bb947a1a3e7092a53e5", + "0x00c2d1938f4cfd390754bfc375801d475b0a043ff1caa25d0a88d8954f1b6473", + "0x00dda603e05539c4fe81805b63b3b6a50cfb9a21d9e97d5d20e228606d72b7e4", + "0x00e2312cd2fdfa4bb01e1b2d0e8e5357ef154c6c5f8808d527fd39ba7ed3a799", + "0x00a291f6659afa12b8cdbf0523b3f5f3a9a8035d0e765251ffd5836e10128011", + "0x00a5c96dfe6f96c323281dd1213430eacdf78b57413b7cd3b1bea1755b7ed6e5", + "0x00cd3a4a30e7e03129b3551bf884e5ca00f8d0c85c56dd6e289b71441bc90f24", + "0x00ab1105f655a0c297824678be0a0184c40435b529955d2b26946bf46c6a52b6", + "0x0029c31e242563a0727e10338c86be30cc07e6813fe969b3cea9de151ea58224", + "0x000e4d7ab33b33b060627fe470be97066c537b7b27395b9d8d549c307223528c", + "0x0033e2f10c400882b160b5f3e47dfb152ea9111509e0e73c5df44560513bf839", + "0x0088c015bda679ec71b9880911719cbbfb6e8015dc8e66ee67426e8447f2fb1b", + "0x00e2d1e25a455d1634f3032ed0613115c7c0887d29b3fe13fb9c3479542ee3c5", + "0x0084d861e42dfe1da8244556bc662a74e354436e33223286ca82fab8be915487", + "0x002ec694f8d373dfbade7d2810698ebae5f18383fc90933bc30fb17c89550673", + "0x00cad588a0e4e9338be092b14835c8fcd4f1dd7af89f44c99a68df5d98112544", + "0x00fa59de376f0bae8ffeebae4bd98a349f2a78e39e402d78f342287d4efb54e7", + "0x0010995f844568fc93d93597e42b8f2bd8cc45d5212ac29ac42a950caa094986", + "0x003c952be7f537ee0eabf7807c82fa0c45db778677390a85abe80401731c97c8", + "0x00120d7cc5eda43fe9d492a12a6b02313d91d51293c654aaca5310e23e0d0ea7", + "0x008d9fd6e8b3527c0ba6a21bed1d001f702ffacb489b31da6514a3a6b3fa5932", + "0x00d6356c65f3ef4289cf60686401bab088a2ad3082fd9a31ed3b794f7942f2a6", + "0x001ac773f8b37ad2793272c6fca1180c3b5a79314211b051cc1c935ab6e69834", + "0x00c975a9ed62ccb690a5aff7ab3328acfcda84beb7a952ec647db3ce85b391c9", + "0x0011f5bdd9c342c7fc0c103445f485ebf1b0d4da4459dda420ecc879e3f426fe", + "0x004229f3caf49c114a75912ef681e20fb158536ceb226a639594acdb2355aad2", + "0x00e2b795d8b32b9e89c990b4a529511e9c52b0a6823ef09c301fe4d303266756", + "0x00ddf5fbecfa5881a6ce6a80eb3138acc17f4f6e0ac6ea4a8ffc89428b7204e9", + "0x00e4917b069a9b5a9e274b563f3d0d8bd424ce99bdeade68af80b7a830e05830", + "0x0031ec586c730f3e7cbffe9973594f586daaa12a5d3c68f32b784d4b05ae6f4c", + "0x0006d8cffc984c3f6d6992614e32aa2536f8b5409b3e2ba7d0aaac8a4d920f5d", + "0x0003f33cf7b6fc470428f5a6c430c688a0b5923e65a10b657f808fa4d701b553", + "0x000a1063830c8ff8a35afc626b6f2ded3dc8b312e507ef22fa573974ebb254c2", + "0x000ec838211afcdbf2d276b2180749e811d4f25cae635a9914b8aabb1bcb52cf", + "0x008330be355a3443b85eb56816654173b3ffaa893f4828a18a4a395e57b1d328", + "0x00e541c2c68cea628941c515d201820f9b3e45db8ccc7e9be6842ed3ccc6cc7b", + "0x00b6a860bdd4e958f2672a344db67d056bb98f5357778ff3f04032ee6573c393", + "0x00ecfadc964b994eeb55934299aeb69feaf684e477ac6e9d3b520e041fb6d004", + "0x005aec32d028e4c926c081702ad61ba2eebce337cbfb5e95733181a78859df8e", + "0x009d105bc97dab00a5f4de33cf4198906047b300e913acf4fc392024ea82bd14", + "0x00b2a4eac8a60b2abd3f5ea5c987c84c6969fe2be105ed3ec46e299e89e28bf7", + "0x00ace87811c619b85cd930542621c14d1db6b31d54b1a1cdd40b0196a81e85d9", + "0x0032aa9f2b137de65fc9bcc651e3652d008a8d34171515ec4b781154729f3af6", + "0x00319ac895c4cb24dbdf284f6ee7104528f679f782e1e709f58cb6b19f0a5980", + "0x004b7da52d8b9ee87165c37544ca0e94f222497591830e0758acbbfb737da1c7", + "0x009bc942273617bc6d558495326c50371d6d396987ccee8488eb1d4700e60fb1", + "0x00d2a0bac6c377929d365d17d206121f447b746d1d1a960c67ea03b9fc694df9", + "0x00c334a31c9ceae5a227725fe2fe8c6f42a3e57a4f9fa5913e9f0a95759136b1", + "0x007ccd716af96de1f48dbba1c71f2e17fc1d89d167161533e8b95ba0866cddcc", + "0x00d7896ffb6769d07ee538bed895861c63b45df07ebb1ba4277ae11056aefc1b", + "0x00b19db06ae8018800d18d2ce4c1d33001870e17692bc208654e4ef38fadcbdd", + "0x0044fc6b1b031e41485d584002d040005c191c74dace7a6f6ccc263e430e9daf", + "0x00c1be93031c1ab203778a076f6565ec7b0d3586c77f9237b64493230616c01b", + "0x007a60ab72b3a64032a894746d92406cac30554f2f3e988d90b0a73eb1c102ea", + "0x006bd3a9f13fc9c1f2ff47da313bbe7dafa4e0b5b34852e6cdcf4ec7eb35d65b", + "0x00155641c2d50d50b0e1d845c507d6653457fe73d995a007479ff9b3cf5a928b", + "0x00e86a253dc978856a167f5ac5fc898f6df7fbb43d5bbb14d9d356cd68bc64b6", + "0x008bf80ecde16c5addf12c92bd690f3c49722118f8fbee21d63ef4e239853dec", + "0x00db79cd76cbfd5b963fcd8af198c14577598a813504f97bacdda1fbc5d9fdd2", + "0x005bdb115ee5eb7213621efc137d5dd0e46dcae73505190f49ab2f374f479fe0", + "0x00477ba39699435171c064ae371e6a2b4f40a1c61b847a832e3253d328dcdfda", + "0x004041e5183f3dbf5e176a7758dea54030dafe1c2ce7ccfed93db4dc62bead8a", + "0x0082fdcb031ca60d7e8052649384910086c79c50cbe46195edaa435bab1acf67", + "0x002969d2de5bc9ab0622c2228dec71ef9273153be1d59631a09669ade88ca849", + "0x00e20d3b14a6583743584bcfaacb60d945f775b818f8cae51b3474757d148c29", + "0x000201baf6d7b9e0fe23a115581a972436fa07b02297a8acffcb018db5c338d4", + "0x00eccaddbecc50981f46eb0ea7329e48d3dad109490aaecb8b2c62683c30148a", + "0x002d544da65e7aec4a2ad6826c32ed39a52d0d64c66672331413c0877e6197fc", + "0x00671f4328002717652060a3be32f53d7ab88556d0c24ba2479b6e769bd4f871", + "0x00fdab205b1f1873a6f27f11e07033ccaf305dfc9a00d7b3e0ec97f181ebc1e4", + "0x0062144e37245a422d2883a59d07be346aa9b7a4bfb531b727577fecf452e2f4", + "0x0049c58c7f359067f7151f4daf0f454de7b03d363d92b7519f955b34a9240cd6", + "0x005f4c6cdddb34dd72f3abb9c5200d47ebdeb5554ee59cd7d34cf20290b8d417", + "0x007adabf79f2cc89fb331f6d47fe9fb7d1392cd2b984eed79b3868683ebe905f", + "0x0032e79e71f0c09337550128ecc3f432d87bd9d9164da9ba782b37d67639a501", + "0x007aa7b7ff33ccf825973c77eab2e22ab189b544e0507c4fc918cefef7501d55", + "0x00b62e26bc79cd6c66f864d68d950d8dd266e6cfe5885a22403261c40bc7f03a", + "0x00f8ccd49142a0d9b1acd76c0a0141b4af3884e70f1bcd060d2056f08b8ce2cb", + "0x00b29051a3a845329c7b0c49c0b0668d30ae51254854cf714773d9cb956c9605", + "0x00e99d9a817b7eff2dee482c98e4f50949eb96c597e7e26203b5bc1f6a1d37f4", + "0x00d92a64b1e7c0be077c4551d4be50d1cec41c647711194d7af3ca6b2491dee6", + "0x0088d7497c421c111bf1eeec3228b3248fb1a9a232fb9a24d2677b468085628c", + "0x0049faf8a363b60b12aa246ee02360eb3dd7773ceebcb9275fd72966fc88e6cd", + "0x003bb8dcdf5245dff6b8823ea07d7557cfd53ded4ecd5d4bf37efa76de0e6c60", + "0x00a52362e3a65c0680ad0fdc7bddcdd4cdebed66ce3b96845ce76a463f9c9c25", + "0x00c92524cd6125f61f381ece32d24f2db5ecc3e8772d8961dbd01f8e2a737e04", + "0x006e52146a1542abe81696114607128641a0c997853cfd78c815ee2bff79e552", + "0x003367f80fd51bc59d72a44a9df17be37be233155c36601323ecd5a1c9667eec", + "0x000e82a17fe1588505f7dfb13f0896ff2437c258b1e0171dfa22a6bca729c25c", + "0x00e00ac0a43cfcabf1cad987ab458486282e033de629a864429da8f63c0e3a37", + "0x00f6678f7135d37aee65e3e8d1062dfba56a4135617cb97d4adc325e72091c26", + "0x00d914d662f99d20c7593c24e075f1412c90d08b4bbe1ec1d7b4ba8c8f03c857", + "0x0062adef246475f00dd8862afe7c5c23e1e38b45722b3478262a851673867b35", + "0x003e1ce9a3dfec86b4612ad9a522064cb6e94f6fb08503f0c995ddcfa3511ed1", + "0x008142ca1e8e467c1bd0aab5ec1acfb7be55ec95e0746b5d674e0a06c9a0db28", + "0x00083b39b3f089b22937b43ea616177f9a5f9b1f6a19790ccd305421f7fc7ac8", + "0x002adb51ef81323c2e9e4694127b26e4983c4e838007ebf842dcb196b02699a5", + "0x009ef6803b9f339d37b13a688756af7fbb9d2b165918de59e780a7990a5a3d39", + "0x00c06851db53b10116b8a5c1534e5ba392bcf3080b5b3f6e18f8ea3d51d71d14", + "0x0023c0e676a6a72c18749ac4297039499eb14874a020d375f3dd30b725e52e4d", + "0x00a7ed03d5601b65641a8ad9e4e88f8edb42cbc7e275e6a10ede7756b250db63", + "0x00d742ad3c2d21c1ea366c253735d9da78fbcd455bed40ab13f06f1ea18cdc9e", + "0x00db480524700209753831d8f7bc8ade4261923d01ba80dfe4b68fe773529524", + "0x0006f50927680284a07c50d730b4b30120624543189a9acb094d41988e5e3505", + "0x00d34ddc1db5ed5bc4beadcb4861a8b3883f7f95975be9d1539c628bab7db32e", + "0x00e084c7bf0530392549241e11a6297895851e8426c588b5a4e31c5ca8e5fc76", + "0x005cfddd2904a21e0a65101420c435426b285be319e8cbb202ca79fa8a18ebf1", + "0x002e70cd0a7e09db55a08cc9a03dc57fb4d591c0667b3e9464f4ff58d4992818", + "0x00a8c44cb2f1ab07792db32b96304d9fa3f8e81db46230e5401b1eff5a834a0b", + "0x003578d53ec282fa49729d90fa7fafd7fa3a4bb2a57f9e883b4bb3a2567055bb", + "0x005682430d6d9bb4b1b2a831a6919b4f7887a5a5a176f53a9670a52d05839c36", + "0x0068b67370f6379f6b9dcb8357ff62ae9dd51cd4f78f9c5f67ba78efb45b1fbf", + "0x006ccecedf1ae1e6228610e4e151f62a60db70dfef207aa180509ec011d5118b", + "0x00d975ecac909c34f7169f4730e75eab301a0849174ae352d46d549db378d63c", + "0x0010e5a85dbf76634add44e2acde447c8286336ec5fac19864d2d6d44d2491c9", + "0x00827a4609cf94556d2f005ca3caee6c532fecf575b6f907aa7e4b02589ab7eb", + "0x00d3a42f1d10d510e34ab896996b7b4abdca785843050a679950c4e8cb4b895e", + "0x0049494b7bbf3e0f11d6ec42e066a662611b3dab7ce151519d922c1e57151322", + "0x00fb9ef006630ef093fcafdc155a349ad82c9e1cb5bd0c0dfec2989b17f30023", + "0x0042cd60351a5a99799dd2d880e8cc8c8eaf26de9e445235ac293de930b92cd2", + "0x00db5619022bb9211ac25648fd59aead51f477d6b02bd8798a1b3484abeacf8e", + "0x0054cd8c992b1f433bd82b0ad6b13f0a35a13fbde8043d089e3b2026d42da37d", + "0x009329b3265f5e3b7a44ec2a2e42defa8e57f4f6443acbf0eef615979205346b", + "0x00b19ebee20e8a4f20a9cbbca36eb50fda342b20427e1089c95545273c959aae", + "0x00c1ec10ffe5036d645ecefaa3e0602e3b0f1a532d748325d86c6ec47e46bc59", + "0x0021230c2ef60d77d12eece390653a121ad4125d52b948a51fe7c50f973aedf3", + "0x00a02a10286f0b7a8d9ad691966d40b7d6c37cd98fe7d1cd1a9ec9e58379249a", + "0x00d57091e7c810345fdbc15e5b863e73d5d5c5bd7e5afe67475d43627ada105b", + "0x00216ef670f7d753e91e7136a9053cb9dec9e0093812027c7e7a6eee88956fe1", + "0x0039147a6a4b6fef7118d78bb2a491f8777d6274869f0e9436066524b55d1b81", + "0x004c854fed79ea9f6f39bf6fd93a1d629196524bf977dfa5fa0788ce0135f349", + "0x00a2cc958e83cf4534880b2ae48f36b20af2ccb995a7aef94fd1a1b21a8aa3c6", + "0x00d2e76b189a754d60e81a7decf105a937fd721ac4c6f3cf69c038cc14df4286", + "0x0060f7f269b55a78dfa1238d6f65f836f36276feeca567e8f76ccccb84437128", + "0x0068a99f3e8ade9db8fb6501cbec7f42435967e840697ec28b6ae96847b02ed9", + "0x00ddd233e0b5bc5431a40fde8543d28d08e735edc64f4ddc32b4b249f2f2a746", + "0x008fbdec45236b6a628e011b1aae0fec4f299d8fb7af5185d401eea931fca2ad", + "0x004e1501d8cbe21a8a193cf299ea1986a66a99cbe9d985980ad8eca18a0253af", + "0x0004b2f79641ba75ca1f1b0d98930144a8681078f548e54324a19bb5c4cd0575", + "0x0049dab5a4c4553172d867fbecfdda3074007b3fd4eb09a645078ff45aa4e972", + "0x0097faeb97fbc3acb3b61a509f6dadb0f1e3368eb7332d42ed9e6dd225122733", + "0x0067e16572078814c233b4f4ac0947bda52105067f38d260898e741f7c8e1195", + "0x00b37db331ce244124655c015c21472f1c3d9a4f1df76ab63648b545d11965d2", + "0x00c8aa31fd7f80e5c05df76c2c702e15221388cf6f98f7c26cb6a91be6c8b8b8", + "0x002212cde98aa78d43579d54bde4a2fce846dd753d84de3286d6c33d90aa273f", + "0x00b7ce3a032b96f8d1d0a0a9cad97227ebb5b2234cd4c12a2c3b7cbd1ab3b43a", + "0x009f1bd2df77ad31822f56839da3dae4d3bfcc86a7a38fe8f7bffd060ae8c588", + "0x003e5317c34eb0cdb5c998d3d9c7ccb37b0b394151b25299e541a2a2c50b42c3", + "0x0021b82afa771877225a888dfe4b0b9dfd74588580a43147504e77e6c83c3159", + "0x009f9d8a1d279173a11ddc894257d51465c3defc927c2cf9e91da618c31e46c0", + "0x00c5c453b310af66d60a73cc295081f9a34135d1afb6104a725d518bc2f13079", + "0x00631f577e7db60a15b7cdc8ff15dc461bd7f4b786edc10367679940d2570cd1", + "0x00667a5b878de1537d08a6cc62401117433531b160731226581f804bc1176cea", + "0x0094a9cd89d192b88046bdcc10997a671bdaff587c53f88747d8b4cee23f2db1", + "0x00f8db10b8a0730da44dd14422300cb58c406502d67db5ccf102ce4501194ca8", + "0x009c1403975b7f7235d88171a3d2e00a63043c6c95c2a423a53ef484ab158a4a", + "0x00d753bcd5cfad6313752e714dc3bd838a996fa7470162f5b9012471774b799c", + "0x000e889376f18fcc51b644ff4b494b94127fba894fbfb61d402ca5a2fc598151", + "0x0068a0f11d76ba2afdfd97dfea37a0254b99edc53d599ec11af026b9391b44eb", + "0x002bc60b57c53693a4eb532d4647208fc19f2f9c15ff3afbdf1d221c4f590852", + "0x0062e04f78180b0554e0a0a3a0df317a11632861c590a6e1a8bd944716daab0a", + "0x006bbf504fb73887c5119079720060b0561c1932c943d3e1836fe94d3402592d", + "0x00d8db3eccd808f1626a174ab758378a341a39b55bd0c0bb84416cbeedb45447", + "0x00cfd7662d0d0b1c520df2bc95b01730bca5d6084d99a2692c7f64d2b7a78bae", + "0x006672b69b4d30ddbfba3e4dc19f82fb3d106572ba5d92083521bad36ffd8f74", + "0x00a4d1ed083a3806322b3c6ba1a3ca69edeaa40cce92ff3a6df0fbb6ac6bbf26", + "0x00c295094405d66c864865ca960bdf01dd0fc9fdfb5103eb8a01a58131c81755", + "0x0023851ce31c8b5342caa99b2ce519bed526058ec61312bc743df679d8da3000", + "0x007f38e41df40eafa0e2973a09e39a99db51e1182fe94ab3775c01db348098e6", + "0x003ee53e1761d931bd7fc480ff5d9639b570a66706276c6d0ec385b2a527f0e0", + "0x00d4b9d337cc2adc016729354a991486d41eb160a9c610fadd1ec4c6282e1815", + "0x00da412064f2fbb5f8b207ded0b4ba27802c954c783729886f63e7922ee2ae18", + "0x00ce5b1e28bb513f4ef96b6d06ed37ac4f46dec8b23b96df3a9e0ed237b4fd54", + "0x0082d310e004d9f39c33007a5ea3613d2a00b324a0fa8f2bade9de239b3aaf0d", + "0x008121ff129da65207f812c75f296506bab9b2162c7c4f0a5f6694b16d565157", + "0x0024f34332b3f9bbdcb56be15341b6fb10d361d4a5883a7bee0824c2021b2518", + "0x00a8d5a06880001b2149d814bcd18f02acf13f21993d07cc262ef236c44c8363", + "0x00e0e242be166ebd55078e0b51ca1a0d73742979ced5b9c10476686dc7030324", + "0x002ad52de4db0186eb4262ed58e0ecb5839e6345ea357bb48438fa9ff22090f2", + "0x009869f4b59fc5defa95e7a55200435bf431ad443ec2aed7207488e5bfd1b9d9", + "0x003c75805fd67f0fb40ee17553b9efd2334e81a292dcb4818ea497b789740989", + "0x00d98676848b0f3ffdc03c91776e988fc5a102ee411e6c5fb602bc5b9ff4781b", + "0x00e0dfd1056d06461e14daa973767d8e8d1f0c4ec5c5ae18ce8c7af04cffeb74", + "0x0063be689d7e7c3316139dfe3bc3e0a04e575b3de04043d814c02d9996a58e09", + "0x008b3b6e5e2cbe09ae9c0ed601a223ddf588db87ca5f6b800296dc1f40e4b4e3", + "0x007e725dcb9442a658c5bbd615f98cca007d3338cb76162d17367eac0584d815", + "0x00e2b6c9baf0ee34cde352d9f2d48afeb619588e1c996aa6c5043b23b73d943e" +] + + [inputs.hiding_kernel_proof_data.public_inputs] + include_by_timestamp = "0x0000000000000000000000000000000000000000000000000000000068c146c0" - [inputs.tube_data.public_inputs.constants] - vk_tree_root = "0x102e88a4e8cd2528842b39889507a66d8416ef965f030c176912836cb6a64146" - protocol_contract_tree_root = "0x1366105c045af11c994a68c921932af636d1babec59d5493723a61c183d95287" + [inputs.hiding_kernel_proof_data.public_inputs.constants] + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" + protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" - [inputs.tube_data.public_inputs.constants.historical_header] - total_fees = "0x0000000000000000000000000000000000000000000000000000000054513ed0" - total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000cf6d" + [inputs.hiding_kernel_proof_data.public_inputs.constants.historical_header] + total_fees = "0x000000000000000000000000000000000000000000000000000000004be1498e" + total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000deb3" - [inputs.tube_data.public_inputs.constants.historical_header.last_archive] - root = "0x2602ee3042401d3dc5a13bd902db95528d6aaa2833358e2764436f4625fd4079" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" + [inputs.hiding_kernel_proof_data.public_inputs.constants.historical_header.last_archive] + root = "0x2ce60ce3930b66a957e90d8d7743f53439be6d5a2c628afea9e65431767102e3" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" - [inputs.tube_data.public_inputs.constants.historical_header.content_commitment] - blobs_hash = "0x00f3201553c4cae105e9b13599f33d3895d67b04e74c968e8914f0bee8585d00" - in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" - out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.hiding_kernel_proof_data.public_inputs.constants.historical_header.content_commitment] + blobs_hash = "0x00540c19affa4d7213a3d9c9e95c740c76b231c1824412682c8eb340f5b299e5" + in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" + out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -[inputs.tube_data.public_inputs.constants.historical_header.state.l1_to_l2_message_tree] +[inputs.hiding_kernel_proof_data.public_inputs.constants.historical_header.state.l1_to_l2_message_tree] root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000080" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000060" -[inputs.tube_data.public_inputs.constants.historical_header.state.partial.note_hash_tree] -root = "0x1acbb01ea3e2c364039bc5cbe2b3265ae4d2cf693242bcdc4b8b2e8242da37f5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +[inputs.hiding_kernel_proof_data.public_inputs.constants.historical_header.state.partial.note_hash_tree] +root = "0x21f127e5c363624de42112452ac39b9e7b0418940bcde9b7e8fb70339a54eda4" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" -[inputs.tube_data.public_inputs.constants.historical_header.state.partial.nullifier_tree] -root = "0x061e2d0444f0237459d5edfa5a1204ffb2de1e5c1be5122d28ea06b14d896267" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" +[inputs.hiding_kernel_proof_data.public_inputs.constants.historical_header.state.partial.nullifier_tree] +root = "0x2937efffa09c64dd72e8fbbb9d2b6fce80bf6859bee419d4089ea7baaeb03a57" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" -[inputs.tube_data.public_inputs.constants.historical_header.state.partial.public_data_tree] -root = "0x22b49f54f9eb9f495989ca166a9359934c935a1fd1ad0303384fd49d8b43f27d" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +[inputs.hiding_kernel_proof_data.public_inputs.constants.historical_header.state.partial.public_data_tree] +root = "0x0f998cc8a87058c956ea3960d4d206c005c01b48c125cca9cdb2b528d5179411" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" - [inputs.tube_data.public_inputs.constants.historical_header.global_variables] - chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000038636661" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x0000000000000000000000000000000000000000000000000000000068a84b4c" + [inputs.hiding_kernel_proof_data.public_inputs.constants.historical_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000006" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000008" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff540" - [inputs.tube_data.public_inputs.constants.historical_header.global_variables.coinbase] - inner = "0x000000000000000000000000890d1bc0ea2940f4949b7958472ad84423984c8f" + [inputs.hiding_kernel_proof_data.public_inputs.constants.historical_header.global_variables.coinbase] + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" - [inputs.tube_data.public_inputs.constants.historical_header.global_variables.fee_recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.hiding_kernel_proof_data.public_inputs.constants.historical_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.constants.historical_header.global_variables.gas_fees] - fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000006810" + [inputs.hiding_kernel_proof_data.public_inputs.constants.historical_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000573a" - [inputs.tube_data.public_inputs.constants.tx_context] - chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000038636661" + [inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" -[inputs.tube_data.public_inputs.constants.tx_context.gas_settings.gas_limits] +[inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000600000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" -[inputs.tube_data.public_inputs.constants.tx_context.gas_settings.teardown_gas_limits] +[inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings.teardown_gas_limits] da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" -[inputs.tube_data.public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] -fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000ee2" - -[inputs.tube_data.public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] -fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.end] - note_hashes = [ - "0x2fbfec89467cf94b08ec9f4eb089976aa7b4545d81071b42eb0634aa06e7527f", - "0x0a3bbebc0f9f8b33e81f28d1a67504e86a14dd6e88b4895cd5f0d9768c12b277", - "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" -] - nullifiers = [ - "0x1f5e0dc348483606a0fa7ce1071be92682a2e3b6024c07b14e8af5e8cdc1cc03", - "0x0954cabb503693e8121d1df693e3461976fdfe5170971e78b2a26a304396c76c", - "0x08f568e3cd81e77f289ddb28e80966c2209139b81a696d2ecc2fb6494f6c0c29", - "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" -] - - [[inputs.tube_data.public_inputs.end.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.end.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x18105a8d234255d264f30fe80053920181244e3efd9c8cf116144d4b184201b3", - "0x01edb901d8c495cf4f2584dab1fc3232ee25b88791d92ed375b63373daf1d1af", - "0x00006a96b486be9ecec099762262cde427f270c477199db8d2078fd965cfec11", - "0x00768ee13ae39aa5ffa8db92204ba620b3d70f613dc1be8105aa2027ead5a29f", - "0x003533d52d7fd8b67ae8f7c1e6c8ad02cd9b032b10066c771b058fec834ec043", - "0x003d1d3564aebe7ad886e9a86f52579f62cf39cd5a51c36e770539c699e3ce8c", - "0x00f0e24de80667459b454797700e33ca4baf2be3e7f491def53b5995b3bbc704", - "0x00d2b4f7f1c9f5c0f0dc4b25e248e01fcc2fa4420c7a9c6b329873b1106692b2", - "0x008d07bb33120d8ef13599ed45e803a8688baee5c47c22b8d5f97b52b34e4430", - "0x0099c039df9e99748cb86060e3bf4b05fe9a19ff3bfebc0224b251e759afe2dc", - "0x00cf0109448c99a70554b04fffd2a2b81b7bc0cf267cc2e89a82013b5fc69fee", - "0x0015d865c62fedc4d4477648a85034c858d7fcbbd11d0c3ff59bde2c036dba6b", - "0x007606db901979946fa2f8614a0ca64237725b7c703283f6695bc651f40e2022", - "0x00c749c03530d35bdf722ef6173ae741b029a56afd0d9aa012b9755a1d75b414", - "0x00afce5f4965204259858ffb294367e0625615ef1a8ab2ca45a088832d8514c0", - "0x00c416571ca531188a393beba9155be1b34cc728d05271bcfebe1cd062b951fe", - "0x003c039377f4e36b51cd5e5c4e9adc6cd9a24bf6af9f06d11ae7c44ebca5c559", - "0x00990bb8ea7ea8d1cd74a54168ab7001ac16b26bac0e29e717573fbbb79f94c3" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000012" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x176fbe13f670a5ed82b4d72244fe185291fad2b712403c2ae6b2576fea5e16d0", - "0x14ffef9aa350c3ba4cf1873a2cb4c3f4a246a76a71e35b466547b00029692f1f", - "0x000177738fa679d740766b4bf963f85b682a031381ce97e8f8b8bb23c3338989", - "0x00a3c28ab59f93293faa58234686865160d47f364c663a556e404ed530eee4de", - "0x001b4e928639c7cef6ecdf55f328e0c231093d6a9f05f4806fd514a6c84875bc", - "0x00c8a12a255d2d2468a6c177fd74dbbac09694803adcdc74df942f46be2da0c2", - "0x0011efa2e89ddadf8f5fa89b95b0da6bd2a7192fa5cc8d9430eb43180e77bf64", - "0x00e82024d3d5189f5802ce49040eb8640a39f6167dec24aac67ae566d5bfe903", - "0x00ef576cafcff549dd33d41a175af19880d88a4dc52734f6eb59529e6db643c4", - "0x006fe51f044595d84e2807974d1d35cef911ac472c304c5ff1c754082f6bc9d3", - "0x00beaf75fbe34b22d114d33b1a10bc8fbb83cb1fa87ae061d14ee172ed204422", - "0x00cea6552598b2388f9774005f40a7e81ee13d1618480a986674d5092292c67a", - "0x0040c31a8bba23e249640711c81e19c6ff2d608ed31729e546cb000010fc0767", - "0x00d16ffd19a30d2f3aef27dd37805a3c4966f2ecb9e325a11960427f5c405a4d", - "0x00e1da7d9ef0b26ef8ff5112e4715cc966c39121ca950c65d3b83eeefdc02191", - "0x00f764174e8ddae78e1f5e3cd3064039b2fa73b8a53f756bec4a219c911ccaca", - "0x0077b78fbf9cc1b8a57277f3fecb2461585d3f753aba6b1a326f3cc77d99f1ec", - "0x0074706ca2bd5f473ee9f421062743eb94432093c34b6e492aa6e434af8e4316" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000012" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x220e861cbe3f30f09e79519e955f5601b70b1f64dc4c781af3b51ad41c0ea68a", - "0x14373b14eaa61188f1f34bad42c4754123a9d89a1358ec4a8229dcd32700bf04", - "0x0001e945cd976ee28f5de3419832ac0eda8edd8c226f91739aec5c74d6a95336", - "0x00503aa2cef757851a9468b306d4ea407312f36f497619143eb55df60fff1f8d", - "0x002d5a464eff053c19c60ae0097903404dd5baac5d4947fcd6388ca01115119b", - "0x0052524096b35eb6b6f75981d68ee9e45ea2bb5875ea428a007287acfb779be5", - "0x006f39536f5b71e43a6dad35c28f42a1fc917d28fae2b72d5cec06a99d68a241", - "0x00f3d508bd2e213510f8b4b829cb04c283fd5deae5df98f0e12d665ad59fc5c6", - "0x00899007f898331b3cc5328904c39c947020f65b841801c4593d20b7a91298b0", - "0x009ee4a4190ad13fa498b6edbf6f92ce8854b5d97ccc279ee1bbafc60c2fed40", - "0x006a528e48b54048d6980d0279ad67dd5faa302cf7e2643ccd6da0865f016fb5", - "0x0001df19ae38be7cd35ead1858a935c034aef00c1e7608296f14ec555321dc82", - "0x00ed24528efe12845f6babd63cdc762e446ef3afdf33f8f65c4f4a5ce9316ac8", - "0x00b565095f876ebe2d3936065abc457df26f8763a2c7c2f7fd7b0f504f0ef9ad", - "0x00a83bd745965aa322db18719d0892bcf05eecf7c1e3df190e8239a42e56b218", - "0x00889f7f5d921af0ac0de2eddd630c4fcffa12c5b477ef108cd016767e4baa52", - "0x00b3fbb30811245e4761ad67b861ad056d2880655c1bed26627b0edfa7310e2b", - "0x00f83b1eab7910535ab51106b991323b221b83494d158ace37121c20af5dc817" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000012" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", +[inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000e10" + +[inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.hiding_kernel_proof_data.public_inputs.end] + note_hashes = [ + "0x15506eafcd0b08f2dd2607d3d386b5b2deba2911fc7b28a8f33913e89fd08aa3", + "0x0f23a1c614d3aa0e7a752ac407736232184cb0f2ba642d0c96607532a9faf1b1", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3950,12 +5190,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3973,12 +5207,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3996,12 +5224,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4021,10 +5243,11 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.private_logs]] - fields = [ + nullifiers = [ + "0x15f21513991e2111dd0459a9a2f8dc8cf81837b2d1505eab6e0c7776027ec57e", + "0x07d94e381143e267a7f7b8b7cab5c5e0d3f686d6813b0119188d1de8dca7ba06", + "0x1496c97ae93dfb94a247f02671415c2b47ea72d09b0ca9306319597e3c94e990", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4042,27 +5265,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.end.contract_class_logs_hashes]] -[inputs.tube_data.public_inputs.end.contract_class_logs_hashes.inner] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -length = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.end.contract_class_logs_hashes.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.gas_used] - da_gas = "0x0000000000000000000000000000000000000000000000000000000000007e00" - l2_gas = "0x0000000000000000000000000000000000000000000000000000000000001db6" - - [inputs.tube_data.public_inputs.fee_payer] - inner = "0x04c1d1431a969adf94f5400f4797a15f55c9bc93022ef97048d5371a43577191" - -[inputs.tube_data.proof] -fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4105,6 +5307,161 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + + [[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs]] +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs]] +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs]] +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs]] +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs]] +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs]] +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs]] +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs]] +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.hiding_kernel_proof_data.public_inputs.end.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ + "0x0154c34364a7f6cdc36bde27f9a4a5588ab5f493831eb3a57c91d167df8fb4b9", + "0x1e0e74b782af7824e19291c66d1133e4b25c43a56300fe24543b8aa96708b21f", + "0x000128da5028452107525fcbf2a5a8a1a78e49145e819e755f7ec16f4289da30", + "0x008deeb42f621316f20aa4f124a4e4c5bd2ae1fb3aa7570a86e96a84337f0f97", + "0x00d11dd9fda795364530d347c442c42f3f2809795c3ee47a8a6f4cb7d8cadda1", + "0x000b86821b7b86d03c1b51290b0dc369ebbf976ee5ea709ec870abce7b1d5881", + "0x003ff13f3d845504d9a94b449ffb8abca84ef213ccb292f9590e9d1b05aca970", + "0x003f65e3a3179145e7426d2d9c96fa5b3c167f717ed900adae7f1a555f25bc15", + "0x00b755884f6862e14eb147ea5e510ab245bf48f394e48ab97a6ced0ed72e1a6b", + "0x00ec465c2b4620831980e86738312bb964bfe8f96bb454289f9bee6f382b9f7e", + "0x00b276c8b5e66a0938d7e053aaccf460dcb0769b1054b83c1d8e3c08a919ec3c", + "0x00857434a6e2e7bd98deff33e2fd7ea35b2d654b25a5a53b462aa954bcde70d8", + "0x00e46b186e2d4289e6fae97f378397486204539ae14b379a118cfe8a77dbdb68", + "0x0025d2fe5517145edc666e957187791eb9fcfb460ad2043a85d6e1510bdfa99b", + "0x0018827172865ab166baea28525b337c5bc795148b937a30c4031fc9efcbff78", + "0x000eedc79aada69666c772d0e2d4f60246972f331437a33f2975eb07793973eb", + "0x00c1aa61bf2ca040bf6e5541b2a95d39efb7604d9733a768d1ea3510023f9ccc", + "0x00eca3eb27f77cfb2d24196b55bdbd4b1d0b34389971946ff401d13445bf8147" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000012" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ + "0x25da04426e7dfc3c2d4408af13393e111d58f9b89b6540c05e63326544fcd80e", + "0x194c262e6ca47fdbe0bd90c27a6bdd9a9d7580e16861ae895cb744362ae9c9d8", + "0x000040926a72e6fd3d33941182c0fc7f812a4cd9e7a21d3ccd187709e0a198f6", + "0x0084ee106646409e2e888ff9468a0e35f4d9d3d1c43cc174fa184c48fe4bbefa", + "0x00fb529e728ebe546cc2d9a5c09359bdd7b43a7ac34c7d364b9afb6c063fdd39", + "0x00286df0c76aa376c202b58cdada712e0b6676a57bef842faccb5988a24e6358", + "0x00844f84012908403c1e61939df16f2c3c5205f836ec6c86e1789a9e7fcdfacf", + "0x001ad483db0d4637bfb9034f7aa94d9ceb27d76ad13ad7c5ab4c114a76ebe937", + "0x00fa493b91d855ceaf8e01dfe971e0a49d86be81377664566626c159579ac028", + "0x00670db3fa0b0bd20f961866664978f7acec489b3f78561909877cf615b44554", + "0x00cb6184314fd2a1a7fddf35ea2df32e79c5ac4d75f809fb7857fda73cc6bfab", + "0x008417697abc8e33e848fccf965559485f09909bd7b5aae9cbadd25e2db12840", + "0x00c770aac3c6d28913b4881e6df86452c36564e1ad95a01cf0b7a7c009c2d85f", + "0x00c601e996d0468243ec608288377185555a638ef1f776138c7d63564acb30c5", + "0x00a06a4a0433cb0a27c8217bae3050e14cf1e53f6042c0997b1ff76ff1fb07ba", + "0x00d1c3b5d297df808526c9427e6793613543be2218e16ceb7ec1299f2c252045", + "0x007d7536bf93c15ba2f8cb9eb6e8f82d3faea6478387488b661ba0baa27d20fe", + "0x00db6c89e99bb021cf47ce11e713d49edb80f87391ae96c87995cdcf1a282b4e" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000012" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ + "0x2a22a6a0c07db33b0e10627a5dc9a9530fd904e9e4319a34b5c1d13362446bee", + "0x2c096d11874bf4606a96790d12d1dc9bb9b2ecbf372263077f296302e9ee6509", + "0x000192d0f6a7b6232722168d53e9658118105b8ede76a6cdcdf778d90f7d55bd", + "0x0070d051a7e20edccc99e55bc850ea1c62fc02bf3f338911681a5f7bdefd3c41", + "0x0027469cbc77b350f2b7cb55f523d21e351f5720ee3fe97a3bee3c80102d1e78", + "0x00d84303ffeea7794d017048add671143949c6ac40f4141ffa17f7cdbea56f8f", + "0x0094f44c6c6f3e2a30fe0fe1de6ed3c1511b872d64856d405fae6826a6e584d5", + "0x00fd7a0585d1c8ac8c693173f23570fa738f01902e5e3a75dad77766a196690f", + "0x00bf5889f2af0e8d9ac455cfd9df4f76e4c418632269a8801bee8db9fdb2c0be", + "0x007938940eb6bee4c9a6d9154a2c750bd82de3cb6ea8bc14b08ac406d0458458", + "0x00d084091b1db893c8040c96428af39f332453148780f62c13548d449489e3cb", + "0x004e9af25804bbf34a5c443d285d48a9eb6ad58cc43b95993a61e86d4e96bb07", + "0x00145377037254b6a9f5c65c69c91d6f810f8d9caee125fd053296247556faaf", + "0x0077faa72409206dd3efc65177f8c115b93f1ba8eda67d20d66852f463c34d3c", + "0x004fa788e774330b0f27b410665e8c4881572582e8ab789e942aa629d5710b98", + "0x00c041a9facbbd3e414f47c2904625f1edc2478834776742318f6e0ae2a7de66", + "0x00f3f2d9e61e55d86c7993b4ef72fc70957df7b8b403efcc8ed6887b364f2d88", + "0x00df62d18d520c5f4b05282de5f0a8948fa15640b96752fe0a0c7b06715177d3" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000012" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4121,6 +5478,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4138,6 +5501,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4155,6 +5524,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4172,6 +5547,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4189,6 +5570,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4206,6 +5593,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4223,6 +5616,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4240,6 +5639,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4257,6 +5662,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4274,6 +5685,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4291,6 +5708,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4308,6 +5731,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4325,6 +5754,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4342,6 +5777,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4359,6 +5800,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4376,6 +5823,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4393,6 +5846,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4410,6 +5869,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4427,6 +5892,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4444,6 +5915,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4461,6 +5938,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4478,6 +5961,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4495,6 +5984,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4512,6 +6007,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4529,6 +6030,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4546,6 +6053,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4563,6 +6076,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4580,6 +6099,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4599,149 +6124,177 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.hiding_kernel_proof_data.public_inputs.end.contract_class_logs_hashes]] +[inputs.hiding_kernel_proof_data.public_inputs.end.contract_class_logs_hashes.inner] +value = "0x0000000000000000000000000000000000000000000000000000000000000000" +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.hiding_kernel_proof_data.public_inputs.end.contract_class_logs_hashes.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.hiding_kernel_proof_data.public_inputs.gas_used] + da_gas = "0x0000000000000000000000000000000000000000000000000000000000007e00" + l2_gas = "0x0000000000000000000000000000000000000000000000000000000000001db6" -[inputs.tube_data.vk_data] -leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" -sibling_path = [ - "0x0ab308d492a3f8af70845a8ba6ad7896f076d7ad3ffe6e32ce145a0345cc9e98", - "0x02c7fc32a2fb23908255cdb22bce85c62273e327a7306c958b0f96a269dceacd", - "0x224b903c72541239c97a21ede9f7d3553026fc18c755849fdb576b6fee77ed6c", - "0x012be81e15ecfb203a63a6fff3678b76b05dfcb32138219993ac416bfae75ff4", - "0x1e51077d1e418928c6fdf75d64f7820281aeb4d5b311b00d367bc13b7b98c193", - "0x1ecb21c39bad01512b0f415b480f0b3fa806a16dbd52e95383ec6ba9ad171622" + [inputs.hiding_kernel_proof_data.public_inputs.fee_payer] + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" + + [inputs.hiding_kernel_proof_data.vk_data] + leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000004" + sibling_path = [ + "0x11144b7d82f62688028bba9b91f56db5144cad818eb8169d332a1a23d00f9f53", + "0x24db20de62222606a465c0affe2848f777da99e822fa27e19da38f649dfabb79", + "0x2f1e7dab8ab167db67591276416664b6181220436b11d9b553dc8b3e063c02e5", + "0x2b19ce4682078f26bde2ff926806892441a97f239bbe4ed569485d94750fe8c8", + "0x2e4e5b7e23ac6533333c43f70db2a3c699240ba4adc372b2a3d13a000b41199c", + "0x1cb36c900588afc3a59d2d9c4b45ae89b78611c0b8ae393f0f3776887d40ce60" ] - [inputs.tube_data.vk_data.vk] - key = [ + [inputs.hiding_kernel_proof_data.vk_data.vk] + key = [ + "0x0000000000000000000000000000000000000000000000000000000000000010", + "0x0000000000000000000000000000000000000000000000000000000000000353", + "0x0000000000000000000000000000000000000000000000000000000000000250", + "0x0000000000000000000000000000006087a8de899e1a872220be0ad74407d1c0", + "0x0000000000000000000000000000000000016378d83361896b5530b86fefb83c", + "0x000000000000000000000000000000ee1f56405da224934fd742cf84f0e57da9", + "0x00000000000000000000000000000000001889acd6b8deafd396ea4634251b23", + "0x000000000000000000000000000000b086a04c5a5bebcee237400fbcbaba069f", + "0x000000000000000000000000000000000019bed7afdc6dfa4047252f72b2f376", + "0x00000000000000000000000000000088b73042b633763ab637d5aa7ba329577f", + "0x00000000000000000000000000000000000ed8ef480b5e178e299d830b6ab294", + "0x000000000000000000000000000000d02a994d6b0d12e698d02413d0f49d7684", + "0x00000000000000000000000000000000002a9849737a2528e5707360ff325aa9", + "0x0000000000000000000000000000009be939a7d679c77961b2618bbdbf9f37b1", + "0x00000000000000000000000000000000000e4081a6a1fb35abc6297171b1cd70", + "0x0000000000000000000000000000002a7044303e3866cec170429b0065ede2c8", + "0x00000000000000000000000000000000000871748d7917795d064734c2f61b55", + "0x0000000000000000000000000000004906697a995dd927fed0475d09264d4041", + "0x00000000000000000000000000000000001ae9e3874101a3a3b2bc110d25129c", + "0x000000000000000000000000000000902da1e090d9b085851d65e3a527901fd1", + "0x000000000000000000000000000000000002310c3522d16b3a610707c1b7b9a5", + "0x000000000000000000000000000000ad42d73e9ccf8bd6b3926b4b059169c4ff", + "0x000000000000000000000000000000000023a39ec9ce9e173b8caa52723ea876", + "0x000000000000000000000000000000d8e410ae9949a3f8d6fd0dbdeeb3026aa3", + "0x000000000000000000000000000000000011c9bf842552e7aa40082e272d9c7d", + "0x000000000000000000000000000000732a21d2e92149361cada8700b2ec9e83e", + "0x0000000000000000000000000000000000199a5d390fcf19469f2e9d75a1fd80", + "0x000000000000000000000000000000ec9585a85bc2b6055b156f6336159ca6da", + "0x00000000000000000000000000000000000fe0ba7cff4898356c902bd192e377", + "0x00000000000000000000000000000094eae5832eabc63d487a1a0895ecc6c26e", + "0x00000000000000000000000000000000002827316289321261e541870ca1ca0c", + "0x00000000000000000000000000000015cdf8b8cbf3445e2ccc4315565a0249c7", + "0x000000000000000000000000000000000018d92fb3422f85c06943de4445bf0e", + "0x0000000000000000000000000000002d03452b266253eccb92ad4c01c7ccbf0d", + "0x000000000000000000000000000000000027e5794c791a3500aed8339e481123", + "0x00000000000000000000000000000036caf956c0fce55a92a670aebfe89ec3d1", + "0x00000000000000000000000000000000002cc4df8f67b628c7664c9edb1ad607", + "0x00000000000000000000000000000039996a71eb2e49499a739114e6c1dc662d", + "0x0000000000000000000000000000000000216b474d2225f83da48fa3b08416a5", + "0x000000000000000000000000000000b90db3a59f8dd56874747175bf7e5ad721", + "0x000000000000000000000000000000000016f1498b23a3edc2c5dfba9b88e124", + "0x000000000000000000000000000000e05795aa3ee22602040c47f2740ca41f09", + "0x00000000000000000000000000000000000ddaafebe1b133904785b2f9e21e12", + "0x0000000000000000000000000000007c70078c56e191240d6c322cc34ec0077f", + "0x00000000000000000000000000000000000652dd60b1c46bafb2cb76131907c5", + "0x000000000000000000000000000000a93504d2f734d6502d505d71342e110d1e", + "0x00000000000000000000000000000000000b634889d5469b908766c9d19fc02e", + "0x00000000000000000000000000000006b537bb25ecc90173162d11bd2c3d4bd1", + "0x00000000000000000000000000000000000a637fa468a626b49a7c965f7729a5", + "0x0000000000000000000000000000008ffda68fe4bda3e0543ff7b8531724d460", + "0x000000000000000000000000000000000013d806a563c7aea74592b6671c3fde", + "0x000000000000000000000000000000db8155d78e442d91f681ce59b981a81d11", + "0x00000000000000000000000000000000001dcf9d166e745b55380a36116e510e", + "0x0000000000000000000000000000009aa3c9c6bbe1ac35000b1f3f8049049292", + "0x0000000000000000000000000000000000183272daf0cde170bd15e517f7d5d6", + "0x000000000000000000000000000000520d4c779163d5931f079fceb40ef6f561", + "0x000000000000000000000000000000000009fa90ea82655ccc3bcdcf78df671f", + "0x0000000000000000000000000000005fd7488fbe56316d1619151893874df017", + "0x00000000000000000000000000000000002cdc01e586cbdca01e07d754dee6ed", + "0x000000000000000000000000000000ecba275bec4133bd88c262d93a5522e44d", + "0x00000000000000000000000000000000002f069ac5bcb1d0d8a438fc52d51390", + "0x0000000000000000000000000000006ffc4ef1492c955bdceffb5e3fb8583d3d", + "0x00000000000000000000000000000000002807d22caf2b2c4509f68674810aed", + "0x0000000000000000000000000000005871703bce639d935c1175eb5415689df1", + "0x000000000000000000000000000000000022acc6f9a11f6ea3596bc67bb309e3", + "0x000000000000000000000000000000b307579d17e89864634817231bc29f8ff8", + "0x00000000000000000000000000000000000160caeee31d9bc774489af83f6101", + "0x000000000000000000000000000000b63dd655a01c9f9e4941925150f91f6916", + "0x00000000000000000000000000000000001bfeca95b8fcee103d59ea7de32c3f", + "0x0000000000000000000000000000008338b251457ad416c08cbd5df598d1b60f", + "0x000000000000000000000000000000000005d9ceb5f3b62805ec793037448faf", + "0x000000000000000000000000000000282a1ed88858d2971bbda669c681afd426", + "0x00000000000000000000000000000000002e49dd3b89bbb1942a0c7ee3b1dc26", + "0x000000000000000000000000000000e46f5ff6281cc42169a90cbeeacb866ed0", + "0x00000000000000000000000000000000001625a8010770dbe10474f4df9cc0c5", + "0x000000000000000000000000000000880481346cd3a762d9aff51442649069b9", + "0x0000000000000000000000000000000000028946e3762c1b14c93f2e52de689d", + "0x00000000000000000000000000000036d3582e2e09e1679e9137e83cdea39069", + "0x00000000000000000000000000000000001175ead30f6375d6e72e4c360f5259", + "0x0000000000000000000000000000007a31cebbb1adae41e55a34bda902695a41", + "0x00000000000000000000000000000000000e5bd4c686b022f90760f205d78426", + "0x00000000000000000000000000000023ca4ea00d95e4dccc0723bcded5c40ccf", + "0x0000000000000000000000000000000000281639471d4e6964da9ec40a042c4d", + "0x000000000000000000000000000000a596d04b792a07330e43e3c837c4c6ccfa", + "0x00000000000000000000000000000000000a6d0da4b4bce44133f59f586157fc", + "0x00000000000000000000000000000095a9810f4f701ff635dffdf822454b336d", + "0x00000000000000000000000000000000001d372d210d2e3840c1796c390ed3fc", + "0x000000000000000000000000000000a289947050d2d48ae3bc8c30150f7f6723", + "0x000000000000000000000000000000000018150c884771532b8c07e4830cc091", + "0x000000000000000000000000000000f7877583657b8f4c7bf945a4dc6c54f62c", + "0x0000000000000000000000000000000000039db80cc080b952d33726ac2e9067", + "0x000000000000000000000000000000c7679ae412a63f421c82d831fdb57adae7", + "0x00000000000000000000000000000000000cef3224edc3d3eb085f09cd39665b", + "0x000000000000000000000000000000a559dd06bb06abc751cc5525fa474e892d", + "0x00000000000000000000000000000000000650c6a6e41db173894c273ad4b69d", + "0x0000000000000000000000000000006b4831ce3eb7387e16ac0e0e458b6b5308", + "0x000000000000000000000000000000000029e8b7d425edbfe9fe598bdfb66a5d", + "0x000000000000000000000000000000c12491b3fd0e528e1f3af64ccff3b9a0e6", + "0x0000000000000000000000000000000000134a198da8bb4d063c23cfd40e6d16", + "0x0000000000000000000000000000001e108f8fee636353d8105c94b204cb9f4f", + "0x00000000000000000000000000000000002ee34eda1b4c7f6e3620cba5fa1630", + "0x00000000000000000000000000000067185d356413d3a54d726f0067d776cea1", + "0x0000000000000000000000000000000000115213c954065d1abbe7f1356edc6d", + "0x00000000000000000000000000000019ca9aab4600617025312166a140883df8", + "0x00000000000000000000000000000000000268fc99ec0062fd6489a7b37cbff8", + "0x0000000000000000000000000000000ef3b10dc97490b0a996dfda6ad904e0a9", + "0x000000000000000000000000000000000002c815282c9625818ee1306d0b3310", + "0x000000000000000000000000000000defbd613b0afa2dc7ed570663368c39326", + "0x000000000000000000000000000000000026aa349b1e8c098fa67f5bfacb943e", + "0x0000000000000000000000000000007641dddaec970da4f643bdefac47a169d1", + "0x00000000000000000000000000000000002cdd3bc46ae9e773b9cc29de1b9ca3", "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x000000000000000000000000000000000000000000000000000000000000000e", - "0x000000000000000000000000000000000000000000000000000000000000000f", - "0x0000000000000000000000000000000000000000000000000000000000000010", - "0x0000000000000000000000000000000000000000000000000000000000000011", - "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x0000000000000000000000000000000000000000000000000000000000000013", - "0x0000000000000000000000000000000000000000000000000000000000000014", - "0x0000000000000000000000000000000000000000000000000000000000000015", - "0x0000000000000000000000000000000000000000000000000000000000000016", - "0x0000000000000000000000000000000000000000000000000000000000000017", - "0x0000000000000000000000000000000000000000000000000000000000000018", - "0x0000000000000000000000000000000000000000000000000000000000000019", - "0x000000000000000000000000000000000000000000000000000000000000001a", - "0x000000000000000000000000000000000000000000000000000000000000001b", - "0x000000000000000000000000000000000000000000000000000000000000001c", - "0x000000000000000000000000000000000000000000000000000000000000001d", - "0x000000000000000000000000000000000000000000000000000000000000001e", - "0x000000000000000000000000000000000000000000000000000000000000001f", - "0x0000000000000000000000000000000000000000000000000000000000000020", - "0x0000000000000000000000000000000000000000000000000000000000000021", - "0x0000000000000000000000000000000000000000000000000000000000000022", - "0x0000000000000000000000000000000000000000000000000000000000000023", - "0x0000000000000000000000000000000000000000000000000000000000000024", - "0x0000000000000000000000000000000000000000000000000000000000000025", - "0x0000000000000000000000000000000000000000000000000000000000000026", - "0x0000000000000000000000000000000000000000000000000000000000000027", - "0x0000000000000000000000000000000000000000000000000000000000000028", - "0x0000000000000000000000000000000000000000000000000000000000000029", - "0x000000000000000000000000000000000000000000000000000000000000002a", - "0x000000000000000000000000000000000000000000000000000000000000002b", - "0x000000000000000000000000000000000000000000000000000000000000002c", - "0x000000000000000000000000000000000000000000000000000000000000002d", - "0x000000000000000000000000000000000000000000000000000000000000002e", - "0x000000000000000000000000000000000000000000000000000000000000002f", - "0x0000000000000000000000000000000000000000000000000000000000000030", - "0x0000000000000000000000000000000000000000000000000000000000000031", - "0x0000000000000000000000000000000000000000000000000000000000000032", - "0x0000000000000000000000000000000000000000000000000000000000000033", - "0x0000000000000000000000000000000000000000000000000000000000000034", - "0x0000000000000000000000000000000000000000000000000000000000000035", - "0x0000000000000000000000000000000000000000000000000000000000000036", - "0x0000000000000000000000000000000000000000000000000000000000000037", - "0x0000000000000000000000000000000000000000000000000000000000000038", - "0x0000000000000000000000000000000000000000000000000000000000000039", - "0x000000000000000000000000000000000000000000000000000000000000003a", - "0x000000000000000000000000000000000000000000000000000000000000003b", - "0x000000000000000000000000000000000000000000000000000000000000003c", - "0x000000000000000000000000000000000000000000000000000000000000003d", - "0x000000000000000000000000000000000000000000000000000000000000003e", - "0x000000000000000000000000000000000000000000000000000000000000003f", - "0x0000000000000000000000000000000000000000000000000000000000000040", - "0x0000000000000000000000000000000000000000000000000000000000000041", - "0x0000000000000000000000000000000000000000000000000000000000000042", - "0x0000000000000000000000000000000000000000000000000000000000000043", - "0x0000000000000000000000000000000000000000000000000000000000000044", - "0x0000000000000000000000000000000000000000000000000000000000000045", - "0x0000000000000000000000000000000000000000000000000000000000000046", - "0x0000000000000000000000000000000000000000000000000000000000000047", - "0x0000000000000000000000000000000000000000000000000000000000000048", - "0x0000000000000000000000000000000000000000000000000000000000000049", - "0x000000000000000000000000000000000000000000000000000000000000004a", - "0x000000000000000000000000000000000000000000000000000000000000004b", - "0x000000000000000000000000000000000000000000000000000000000000004c", - "0x000000000000000000000000000000000000000000000000000000000000004d", - "0x000000000000000000000000000000000000000000000000000000000000004e", - "0x000000000000000000000000000000000000000000000000000000000000004f", - "0x0000000000000000000000000000000000000000000000000000000000000050", - "0x0000000000000000000000000000000000000000000000000000000000000051", - "0x0000000000000000000000000000000000000000000000000000000000000052", - "0x0000000000000000000000000000000000000000000000000000000000000053", - "0x0000000000000000000000000000000000000000000000000000000000000054", - "0x0000000000000000000000000000000000000000000000000000000000000055", - "0x0000000000000000000000000000000000000000000000000000000000000056", - "0x0000000000000000000000000000000000000000000000000000000000000057", - "0x0000000000000000000000000000000000000000000000000000000000000058", - "0x0000000000000000000000000000000000000000000000000000000000000059", - "0x000000000000000000000000000000000000000000000000000000000000005a", - "0x000000000000000000000000000000000000000000000000000000000000005b", - "0x000000000000000000000000000000000000000000000000000000000000005c", - "0x000000000000000000000000000000000000000000000000000000000000005d", - "0x000000000000000000000000000000000000000000000000000000000000005e", - "0x000000000000000000000000000000000000000000000000000000000000005f", - "0x0000000000000000000000000000000000000000000000000000000000000060", - "0x0000000000000000000000000000000000000000000000000000000000000061", - "0x0000000000000000000000000000000000000000000000000000000000000062", - "0x0000000000000000000000000000000000000000000000000000000000000063", - "0x0000000000000000000000000000000000000000000000000000000000000064", - "0x0000000000000000000000000000000000000000000000000000000000000065", - "0x0000000000000000000000000000000000000000000000000000000000000066", - "0x0000000000000000000000000000000000000000000000000000000000000067", - "0x0000000000000000000000000000000000000000000000000000000000000068", - "0x0000000000000000000000000000000000000000000000000000000000000069", - "0x000000000000000000000000000000000000000000000000000000000000006a", - "0x000000000000000000000000000000000000000000000000000000000000006b", - "0x000000000000000000000000000000000000000000000000000000000000006c", - "0x000000000000000000000000000000000000000000000000000000000000006d", - "0x000000000000000000000000000000000000000000000000000000000000006e", - "0x000000000000000000000000000000000000000000000000000000000000006f", - "0x0000000000000000000000000000000000000000000000000000000000000070", - "0x0000000000000000000000000000000000000000000000000000000000000071", - "0x0000000000000000000000000000000000000000000000000000000000000072", - "0x0000000000000000000000000000000000000000000000000000000000000073" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000cd48808a6b8de9d1d889563ed1cb1e0ae3", + "0x00000000000000000000000000000000001bf622b398b7fbd4a6f17d31425046", + "0x000000000000000000000000000000a388d72bc6e308e4e84eb418d661652a1c", + "0x0000000000000000000000000000000000220efb8dd2b3808bd3df9c8b0fa5ee", + "0x000000000000000000000000000000a3b4668efee47db99fb43a837676dbd830", + "0x00000000000000000000000000000000001131226173c0be434ba0f59acf87ff", + "0x000000000000000000000000000000fa7e1ece953efe71093ff5e6959be3aac4", + "0x00000000000000000000000000000000001de3b83b015fc5653da335cc235ef6", + "0x0000000000000000000000000000008ca9a0451964a7bbabbd9e369db7556253", + "0x000000000000000000000000000000000014567e2c3e84fc1e3e69d81f6ce580", + "0x000000000000000000000000000000d609c59feecf899f2b95aff519bbf3fb3c", + "0x00000000000000000000000000000000000378926f150c30c760965df469ae6e" ] - hash = "0x0000000000000000000000000000000000000000000000000000000000000002" + hash = "0x10f03c10e580a594906d548d3a34dcbf03d50c3516a563e236ef9ac3b5b9a8e4" [inputs.start.note_hash_tree] -root = "0x1acbb01ea3e2c364039bc5cbe2b3265ae4d2cf693242bcdc4b8b2e8242da37f5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x21f127e5c363624de42112452ac39b9e7b0418940bcde9b7e8fb70339a54eda4" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" [inputs.start.nullifier_tree] -root = "0x061e2d0444f0237459d5edfa5a1204ffb2de1e5c1be5122d28ea06b14d896267" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" +root = "0x2937efffa09c64dd72e8fbbb9d2b6fce80bf6859bee419d4089ea7baaeb03a57" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.start.public_data_tree] -root = "0x22b49f54f9eb9f495989ca166a9359934c935a1fd1ad0303384fd49d8b43f27d" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" +root = "0x0f998cc8a87058c956ea3960d4d206c005c01b48c125cca9cdb2b528d5179411" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.start_sponge_blob] fields = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4764,9 +6317,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.state_diff_hints] sorted_nullifiers = [ - "0x1f5e0dc348483606a0fa7ce1071be92682a2e3b6024c07b14e8af5e8cdc1cc03", - "0x0954cabb503693e8121d1df693e3461976fdfe5170971e78b2a26a304396c76c", - "0x08f568e3cd81e77f289ddb28e80966c2209139b81a696d2ecc2fb6494f6c0c29", + "0x15f21513991e2111dd0459a9a2f8dc8cf81837b2d1505eab6e0c7776027ec57e", + "0x1496c97ae93dfb94a247f02671415c2b47ea72d09b0ca9306319597e3c94e990", + "0x07d94e381143e267a7f7b8b7cab5c5e0d3f686d6813b0119188d1de8dca7ba06", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4831,8 +6384,8 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] sorted_nullifier_indexes = [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000003", "0x0000000000000000000000000000000000000000000000000000000000000004", "0x0000000000000000000000000000000000000000000000000000000000000005", @@ -4897,9 +6450,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] note_hash_subtree_sibling_path = [ "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", - "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b", - "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", - "0x1ad3d8a03dcf687a2810b74269f1efe6a393775d5c4f2889c7991a5b52f34f4a", + "0x19c4c35e95488a390a07b08ca9b82370eeef40353860ee4b21e217b50b022f06", + "0x18505188cd7228d6b934feff40c03bbd87cba0b1c92f792f5cbf53f95c935171", + "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -4933,9 +6486,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] nullifier_subtree_sibling_path = [ "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", - "0x11c167364f6144b55e4be9bf3e086b377b78883e4065e4c857fbdb6d05848d72", + "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", - "0x20ccd303500d6669daaec423a5de499c9cc75bae158fa77996e883be2161397b", + "0x01f3464396f160f9ec23e7c50aa80a612aee7225a2e008917399be45a7202ffa", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -5011,19 +6564,19 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x178bc7f780f7a26ce3b00d015fcd55359cb5939512b0132fa4e2189478f73430" - next_nullifier = "0x208fe9a91d1a3c6a4d4e551a204cc7c58a7de70cc528a450c27ae9f897aeea02" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000082" + nullifier = "0x101ecb5e52e6bd853f39ea8eb67ad8d1f3d60cd34ab54be25976908098c1b8af" + next_nullifier = "0x1673c2f0f270d1155d3ecab677d1477db351073141c5aab5c13dec1db093f682" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000180" [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x08c3f29ec5c8b48a83f957b2ae2a30f14c3a3ffa08d61e3b84aa6ea9cc429e7b" - next_nullifier = "0x0af7a80716e7192ced624ca26c70d10585056bc93e7161cf65120142abd8b4e4" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000146" + nullifier = "0x101ecb5e52e6bd853f39ea8eb67ad8d1f3d60cd34ab54be25976908098c1b8af" + next_nullifier = "0x15f21513991e2111dd0459a9a2f8dc8cf81837b2d1505eab6e0c7776027ec57e" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [[inputs.state_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x08c3f29ec5c8b48a83f957b2ae2a30f14c3a3ffa08d61e3b84aa6ea9cc429e7b" - next_nullifier = "0x0954cabb503693e8121d1df693e3461976fdfe5170971e78b2a26a304396c76c" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000281" + nullifier = "0x03bbe007e40c4fc7e2a83ae687694aa51ab4457cbba5c5b58ec47320efc3abc3" + next_nullifier = "0x083fd51251b1c093ad32c743560040aad3197c628ec3f08cf407dbca1ae42295" + next_index = "0x00000000000000000000000000000000000000000000000000000000000001c0" [[inputs.state_diff_hints.nullifier_predecessor_preimages]] nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5331,18 +6884,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "321" + leaf_index = "449" sibling_path = [ - "0x224de81b8c2a99875716cd9721753ca586ec4ab1e40cd04c42ca508571420714", - "0x2d76411bac831ae291645b6ea4577e9c7fa0cf27d33d037bff0234566efe2016", - "0x0b68204e703eb3c150d47334ca2f34d3a3f3de527816ab4c49e1c0450cd2cef4", + "0x07c0957f88f156b41df0a74de5f351fc27098ba1947141a1142a1e1afd7e5db2", + "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", + "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x114cc7a853000a00d0edad5dc5475b71c047b6d211da705b8223be5ee8866ae0", - "0x18d573e29cbb782dc26649c60b73168b4513657c81e25bd94d1a6aca27e53be3", - "0x1af6545467ae5a9859972b195a14d11f4b04a4c483f36925742f7a38fabc7f6e", - "0x0607cdc3902a8355e1a7ffae71e579479a69d843c0dd8740ae82a1a3b76e89f8", + "0x223005bfab191ddc995f9631a7ed51680d95c9692c5fe759aacae42ee8c655e8", + "0x301b78849faef787b920d6dda570f0b2992b1b748ccb92bb99ce0e8456f9427a", + "0x101681a169558ffc7e18aa92ba92285e1d5992785841cebbb7d9bba2a1521228", + "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -5376,18 +6929,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "258" + leaf_index = "449" sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0d273ec50c67610b11894ab4d8c3db22e689fdf5b9579f9ea5508d1e6d2b3a3c", + "0x07c0957f88f156b41df0a74de5f351fc27098ba1947141a1142a1e1afd7e5db2", + "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x10701f44330fe9b473d657a7e7f5924657d4ab2f0c4e8a70fdf7bdf24093b290", - "0x18d573e29cbb782dc26649c60b73168b4513657c81e25bd94d1a6aca27e53be3", - "0x1af6545467ae5a9859972b195a14d11f4b04a4c483f36925742f7a38fabc7f6e", - "0x0607cdc3902a8355e1a7ffae71e579479a69d843c0dd8740ae82a1a3b76e89f8", + "0x223005bfab191ddc995f9631a7ed51680d95c9692c5fe759aacae42ee8c655e8", + "0x301b78849faef787b920d6dda570f0b2992b1b748ccb92bb99ce0e8456f9427a", + "0x101681a169558ffc7e18aa92ba92285e1d5992785841cebbb7d9bba2a1521228", + "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -5421,18 +6974,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [[inputs.state_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "258" + leaf_index = "326" sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0d273ec50c67610b11894ab4d8c3db22e689fdf5b9579f9ea5508d1e6d2b3a3c", - "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", + "0x2b0a08c9aa74a730a89f0fdff7b246997bbdb74efe2189cdf8e6d38b4f5e3256", + "0x17b5e42e761adfc2fe2587ff1303ebf6230c195786cb2a59558e3b9a85a20365", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x10701f44330fe9b473d657a7e7f5924657d4ab2f0c4e8a70fdf7bdf24093b290", - "0x18d573e29cbb782dc26649c60b73168b4513657c81e25bd94d1a6aca27e53be3", - "0x1af6545467ae5a9859972b195a14d11f4b04a4c483f36925742f7a38fabc7f6e", - "0x0607cdc3902a8355e1a7ffae71e579479a69d843c0dd8740ae82a1a3b76e89f8", + "0x1e2eef7098568feeeaba467bd11437e630847ffde683e258782c53dc984e58d6", + "0x02946987469f1fb23e36fa3d33162a4d07890562dfef446a7e0771806e89a28c", + "0x101681a169558ffc7e18aa92ba92285e1d5992785841cebbb7d9bba2a1521228", + "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -8211,22 +9764,22 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.state_diff_hints.fee_write_low_leaf_preimage] - slot = "0x0be5d134275c69a8fcae7967ba2a5491d3a235289f780108d7936065862c4da8" - value = "0x00000000000000000000000000000000000000000000021e19e0c9b6b5e8d988" - next_slot = "0x0f1c5554e9d36c11349347556937cecb32163e3879f0fe01c86a7c9f40a18b69" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000077" + slot = "0x12c621c4f70a13c7d8c6f48f36d0cc48eb26c3467def465d37b24a944c3e4717" + value = "0x00000000000000000000000000000000000000000000021e19e0c9b7ed0c5312" + next_slot = "0x132e050d961318f9b9f388870a7153bb1c6c1e9d0e81da869ff9c8df279e7ea6" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000079" [inputs.state_diff_hints.fee_write_low_leaf_membership_witness] - leaf_index = "118" + leaf_index = "120" sibling_path = [ - "0x250611efa34d50b98b371b9b0fb0fb9bc65fe8a77c93b437f54b5dbbe39391ef", - "0x289941af5bea886976d7cf358c9a9ca12b2e080c74c34e5ec11a021e001b3db7", - "0x29208ecc66c5a3f559855bd44866e51a9e1b053fe1b60786941ab50664c75667", - "0x267a4a282020ba87c32914704ebf7c2fcb33a3d4c82b24b86cee422de5bc0db1", + "0x0fde73718a032dd6915fd5caa213382f290b4e2298cfcf98157658e1d4609889", + "0x0ee9c9bf04fc63eb89d7b6097dd67403d83271362110fa131d6339f8d1c55b23", + "0x1c3208a0190fbb0a2c2d6ae47b8fa92d8ac0ef41c9c35b6cf80d3e478a6b7287", + "0x1b5fd22decedeefe39c5025d4e89e7b2f226e566ac44a97dad0f6e23ad059789", "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", - "0x15cf271668b4b47bba986a17bde25f4f712904f0172cf7d712d56bddf9c7d866", + "0x26b88511cdc2a00a3da7f3492b3113b8930910feb18a6203ce8cabafbed3046a", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -8262,20 +9815,20 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.fee_payer_fee_juice_balance_read_hint] - leaf_slot = "0x0be5d134275c69a8fcae7967ba2a5491d3a235289f780108d7936065862c4da8" - value = "0x00000000000000000000000000000000000000000000021e19e0c9b6b5e8d988" + leaf_slot = "0x12c621c4f70a13c7d8c6f48f36d0cc48eb26c3467def465d37b24a944c3e4717" + value = "0x00000000000000000000000000000000000000000000021e19e0c9b7ed0c5312" [inputs.fee_payer_fee_juice_balance_read_hint.membership_witness] - leaf_index = "118" + leaf_index = "120" sibling_path = [ - "0x250611efa34d50b98b371b9b0fb0fb9bc65fe8a77c93b437f54b5dbbe39391ef", - "0x289941af5bea886976d7cf358c9a9ca12b2e080c74c34e5ec11a021e001b3db7", - "0x29208ecc66c5a3f559855bd44866e51a9e1b053fe1b60786941ab50664c75667", - "0x267a4a282020ba87c32914704ebf7c2fcb33a3d4c82b24b86cee422de5bc0db1", + "0x0fde73718a032dd6915fd5caa213382f290b4e2298cfcf98157658e1d4609889", + "0x0ee9c9bf04fc63eb89d7b6097dd67403d83271362110fa131d6339f8d1c55b23", + "0x1c3208a0190fbb0a2c2d6ae47b8fa92d8ac0ef41c9c35b6cf80d3e478a6b7287", + "0x1b5fd22decedeefe39c5025d4e89e7b2f226e566ac44a97dad0f6e23ad059789", "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", - "0x15cf271668b4b47bba986a17bde25f4f712904f0172cf7d712d56bddf9c7d866", + "0x26b88511cdc2a00a3da7f3492b3113b8930910feb18a6203ce8cabafbed3046a", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -8311,18 +9864,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.fee_payer_fee_juice_balance_read_hint.leaf_preimage] - slot = "0x0be5d134275c69a8fcae7967ba2a5491d3a235289f780108d7936065862c4da8" - value = "0x00000000000000000000000000000000000000000000021e19e0c9b6b5e8d988" - next_slot = "0x0f1c5554e9d36c11349347556937cecb32163e3879f0fe01c86a7c9f40a18b69" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000077" + slot = "0x12c621c4f70a13c7d8c6f48f36d0cc48eb26c3467def465d37b24a944c3e4717" + value = "0x00000000000000000000000000000000000000000000021e19e0c9b7ed0c5312" + next_slot = "0x132e050d961318f9b9f388870a7153bb1c6c1e9d0e81da869ff9c8df279e7ea6" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000079" [inputs.archive_root_membership_witness] - leaf_index = "8" + leaf_index = "6" sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", - "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x2b64da585d5a389f9d3f87e7bb6ab787de09c7dc0e51472f743c7b069a14a6e4", + "0x109ecbaee18adc4a36816ecd8c11fa149136077e6b104f6c128d783a9d6e2e6d", + "0x2cbfc522aab3db2a4dbc23bbed382b9711eab6cdd1d8d4d6d71611f8dcaeda7b", + "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", @@ -8351,30 +9904,30 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.constants] - vk_tree_root = "0x102e88a4e8cd2528842b39889507a66d8416ef965f030c176912836cb6a64146" - protocol_contract_tree_root = "0x1366105c045af11c994a68c921932af636d1babec59d5493723a61c183d95287" + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" + protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" [inputs.constants.last_archive] - root = "0x04522891b206ed43de89ad1f2bf6701ff8589b78893ee32d43a231522f99bfa3" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" + root = "0x1cc6ac2ba9b54c98d9d90b4dc003fb7398fb91b0f35ac5c11380e7d46c4e6660" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" [inputs.constants.new_l1_to_l2] root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000080" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000070" [inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000038636661" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000041" - timestamp = "0x0000000000000000000000000000000000000000000000000000000068a84fa8" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000007" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000021" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff8c4" [inputs.constants.global_variables.coinbase] - inner = "0x000000000000000000000000890d1bc0ea2940f4949b7958472ad84423984c8f" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000000009ec" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000960" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-base-public/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-base-public/Prover.toml index ee8ad38c9e66..858a321b4c88 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-base-public/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-base-public/Prover.toml @@ -3023,81 +3023,8 @@ contract_class_log_fields = [ ] ] -[inputs.tube_data.public_inputs] -include_by_timestamp = "0x0000000000000000000000000000000000000000000000000000000068a99ccc" - - [inputs.tube_data.public_inputs.constants] - vk_tree_root = "0x102e88a4e8cd2528842b39889507a66d8416ef965f030c176912836cb6a64146" - protocol_contract_tree_root = "0x1366105c045af11c994a68c921932af636d1babec59d5493723a61c183d95287" - - [inputs.tube_data.public_inputs.constants.historical_header] - total_fees = "0x0000000000000000000000000000000000000000000000000000000054513ed0" - total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000cf6d" - - [inputs.tube_data.public_inputs.constants.historical_header.last_archive] - root = "0x2602ee3042401d3dc5a13bd902db95528d6aaa2833358e2764436f4625fd4079" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" - - [inputs.tube_data.public_inputs.constants.historical_header.content_commitment] - blobs_hash = "0x00f3201553c4cae105e9b13599f33d3895d67b04e74c968e8914f0bee8585d00" - in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" - out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.constants.historical_header.state.l1_to_l2_message_tree] -root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000080" - -[inputs.tube_data.public_inputs.constants.historical_header.state.partial.note_hash_tree] -root = "0x1acbb01ea3e2c364039bc5cbe2b3265ae4d2cf693242bcdc4b8b2e8242da37f5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" - -[inputs.tube_data.public_inputs.constants.historical_header.state.partial.nullifier_tree] -root = "0x061e2d0444f0237459d5edfa5a1204ffb2de1e5c1be5122d28ea06b14d896267" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" - -[inputs.tube_data.public_inputs.constants.historical_header.state.partial.public_data_tree] -root = "0x22b49f54f9eb9f495989ca166a9359934c935a1fd1ad0303384fd49d8b43f27d" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" - - [inputs.tube_data.public_inputs.constants.historical_header.global_variables] - chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000038636661" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x0000000000000000000000000000000000000000000000000000000068a84b4c" - - [inputs.tube_data.public_inputs.constants.historical_header.global_variables.coinbase] - inner = "0x000000000000000000000000890d1bc0ea2940f4949b7958472ad84423984c8f" - - [inputs.tube_data.public_inputs.constants.historical_header.global_variables.fee_recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.constants.historical_header.global_variables.gas_fees] - fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000006810" - - [inputs.tube_data.public_inputs.constants.tx_context] - chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000038636661" - -[inputs.tube_data.public_inputs.constants.tx_context.gas_settings.gas_limits] -da_gas = "0x0000000000000000000000000000000000000000000000000000000000600000" -l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" - -[inputs.tube_data.public_inputs.constants.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" -l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" - -[inputs.tube_data.public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] -fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000ee2" - -[inputs.tube_data.public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] -fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data] - note_hashes = [ + [inputs.public_tube_proof_data] + proof = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3161,10 +3088,6 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - nullifiers = [ - "0x15971cf3b2afb69c7712ea5ed3ec0f8bd07ae88a23fbcc7d017cf46bd169fc30", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3227,91 +3150,6 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] -content = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3329,12 +3167,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3352,12 +3184,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3375,12 +3201,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3398,12 +3218,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3421,12 +3235,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3444,12 +3252,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3467,12 +3269,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3490,12 +3286,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3513,12 +3303,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3536,12 +3320,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3559,12 +3337,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3582,12 +3354,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3605,12 +3371,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3628,12 +3388,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3651,12 +3405,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3674,12 +3422,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3697,18 +3439,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3720,14 +3450,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3743,13 +3465,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3766,180 +3481,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3950,12 +3491,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3973,12 +3508,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3996,12 +3525,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4019,12 +3542,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.private_logs]] - fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4044,338 +3561,82 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.contract_class_logs_hashes]] -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.contract_class_logs_hashes.inner] -value = "0x0000000000000000000000000000000000000000000000000000000000000000" -length = "0x0000000000000000000000000000000000000000000000000000000000000000" - -[inputs.tube_data.public_inputs.non_revertible_accumulated_data.contract_class_logs_hashes.contract_address] -inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs] + include_by_timestamp = "0x0000000000000000000000000000000000000000000000000000000068c146c0" - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.constants] + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" + protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.constants.historical_header] + total_fees = "0x000000000000000000000000000000000000000000000000000000004be1498e" + total_mana_used = "0x000000000000000000000000000000000000000000000000000000000000deb3" - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.constants.historical_header.last_archive] + root = "0x2ce60ce3930b66a957e90d8d7743f53439be6d5a2c628afea9e65431767102e3" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.constants.historical_header.content_commitment] + blobs_hash = "0x00540c19affa4d7213a3d9c9e95c740c76b231c1824412682c8eb340f5b299e5" + in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" + out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +[inputs.public_tube_proof_data.public_inputs.constants.historical_header.state.l1_to_l2_message_tree] +root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000060" - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" +[inputs.public_tube_proof_data.public_inputs.constants.historical_header.state.partial.note_hash_tree] +root = "0x21f127e5c363624de42112452ac39b9e7b0418940bcde9b7e8fb70339a54eda4" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000180" - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +[inputs.public_tube_proof_data.public_inputs.constants.historical_header.state.partial.nullifier_tree] +root = "0x2937efffa09c64dd72e8fbbb9d2b6fce80bf6859bee419d4089ea7baaeb03a57" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +[inputs.public_tube_proof_data.public_inputs.constants.historical_header.state.partial.public_data_tree] +root = "0x0f998cc8a87058c956ea3960d4d206c005c01b48c125cca9cdb2b528d5179411" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.constants.historical_header.global_variables] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000006" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000008" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff540" - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.constants.historical_header.global_variables.coinbase] + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.constants.historical_header.global_variables.fee_recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.constants.historical_header.global_variables.gas_fees] + fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000573a" - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.constants.tx_context] + chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +[inputs.public_tube_proof_data.public_inputs.constants.tx_context.gas_settings.gas_limits] +da_gas = "0x0000000000000000000000000000000000000000000000000000000000600000" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" - [[inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" +[inputs.public_tube_proof_data.public_inputs.constants.tx_context.gas_settings.teardown_gas_limits] +da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +[inputs.public_tube_proof_data.public_inputs.constants.tx_context.gas_settings.max_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000e10" - [inputs.tube_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +[inputs.public_tube_proof_data.public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] +fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data] - note_hashes = [ + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data] + note_hashes = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4441,8 +3702,8 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - nullifiers = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + nullifiers = [ + "0x2c2163823d34d0ef5a68d10afab1ffd093d80912158a935bb32939409b949e0f", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4508,88 +3769,88 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000" ] - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner] content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[inputs.tube_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.l2_to_l1_msgs.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4609,10 +3870,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4632,10 +3893,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4655,10 +3916,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4678,10 +3939,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4701,10 +3962,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4724,10 +3985,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4747,10 +4008,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4770,10 +4031,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4793,10 +4054,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4816,10 +4077,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4839,10 +4100,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4862,10 +4123,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4885,10 +4146,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4908,10 +4169,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4931,10 +4192,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4954,10 +4215,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4977,10 +4238,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5000,10 +4261,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5023,10 +4284,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5046,10 +4307,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5069,10 +4330,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5092,10 +4353,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5115,10 +4376,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5138,10 +4399,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5161,10 +4422,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5184,10 +4445,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5207,10 +4468,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5230,10 +4491,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5253,10 +4514,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5276,10 +4537,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5299,10 +4560,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.private_logs]] - fields = [ + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5322,355 +4583,552 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] - length = "0x0000000000000000000000000000000000000000000000000000000000000000" + length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.contract_class_logs_hashes]] -[inputs.tube_data.public_inputs.revertible_accumulated_data.contract_class_logs_hashes.inner] + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.contract_class_logs_hashes]] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.contract_class_logs_hashes.inner] value = "0x0000000000000000000000000000000000000000000000000000000000000000" length = "0x0000000000000000000000000000000000000000000000000000000000000000" -[inputs.tube_data.public_inputs.revertible_accumulated_data.contract_class_logs_hashes.contract_address] +[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.contract_class_logs_hashes.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0092b6a344285c351e66003535c07ad8a18e45d72d851fcfeea03c85a4fa2afc" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x04c1d1431a969adf94f5400f4797a15f55c9bc93022ef97048d5371a43577191" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x247a0a33624210d7d9e700b21a43fecb123e3ac9f31b82b3d1ad7b74b3de731a" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.non_revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data] + note_hashes = [ + "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" +] + nullifiers = [ + "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" +] - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests]] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.public_teardown_call_request] - is_static_call = false - calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.public_teardown_call_request.msg_sender] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.public_teardown_call_request.contract_address] - inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs]] +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner] +content = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.gas_used] - da_gas = "0x0000000000000000000000000000000000000000000000000000000000000400" - l2_gas = "0x0000000000000000000000000000000000000000000000000000000000005606" + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.inner.recipient] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [inputs.tube_data.public_inputs.fee_payer] - inner = "0x04c1d1431a969adf94f5400f4797a15f55c9bc93022ef97048d5371a43577191" +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.l2_to_l1_msgs.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[inputs.tube_data.proof] -fields = [ + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5688,6 +5146,17 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5700,6 +5169,17 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5712,6 +5192,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5729,6 +5215,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5746,6 +5238,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5763,6 +5261,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5780,6 +5284,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5797,6 +5307,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5814,6 +5330,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5831,6 +5353,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5848,6 +5376,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5865,6 +5399,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5882,6 +5422,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5899,6 +5445,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5916,6 +5468,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5933,6 +5491,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5950,6 +5514,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5967,6 +5537,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5984,6 +5560,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6001,6 +5583,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6018,6 +5606,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6035,6 +5629,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6052,6 +5652,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6069,6 +5675,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6086,6 +5698,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6103,6 +5721,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6120,6 +5744,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6137,6 +5767,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6154,6 +5790,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6171,6 +5813,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6188,6 +5836,12 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.private_logs]] + fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6207,173 +5861,519 @@ fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] + length = "0x0000000000000000000000000000000000000000000000000000000000000000" -[inputs.tube_data.vk_data] -leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" -sibling_path = [ - "0x0ab308d492a3f8af70845a8ba6ad7896f076d7ad3ffe6e32ce145a0345cc9e98", - "0x02c7fc32a2fb23908255cdb22bce85c62273e327a7306c958b0f96a269dceacd", - "0x224b903c72541239c97a21ede9f7d3553026fc18c755849fdb576b6fee77ed6c", - "0x012be81e15ecfb203a63a6fff3678b76b05dfcb32138219993ac416bfae75ff4", - "0x1e51077d1e418928c6fdf75d64f7820281aeb4d5b311b00d367bc13b7b98c193", - "0x1ecb21c39bad01512b0f415b480f0b3fa806a16dbd52e95383ec6ba9ad171622" + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.contract_class_logs_hashes]] +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.contract_class_logs_hashes.inner] +value = "0x0000000000000000000000000000000000000000000000000000000000000000" +length = "0x0000000000000000000000000000000000000000000000000000000000000000" + +[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.contract_class_logs_hashes.contract_address] +inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x2a0cdf5c71215882f9579a416e50c11195cc960cab84271b2e921ef60e609b1c" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x1b0bd8ae0ba4d899bdfd9cfb3298d9812ba3686d946c25a0b8cae81bf285bcb2" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [[inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests]] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.revertible_accumulated_data.public_call_requests.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.public_teardown_call_request] + is_static_call = false + calldata_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.public_teardown_call_request.msg_sender] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.public_teardown_call_request.contract_address] + inner = "0x0000000000000000000000000000000000000000000000000000000000000000" + + [inputs.public_tube_proof_data.public_inputs.gas_used] + da_gas = "0x0000000000000000000000000000000000000000000000000000000000000400" + l2_gas = "0x0000000000000000000000000000000000000000000000000000000000005606" + + [inputs.public_tube_proof_data.public_inputs.fee_payer] + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" + + [inputs.public_tube_proof_data.vk_data] + leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" + sibling_path = [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x2ed75c86e63ed51dcb23e07dfae50302a25af13140e22faccb32841167d9af0b", + "0x2f1e7dab8ab167db67591276416664b6181220436b11d9b553dc8b3e063c02e5", + "0x2b19ce4682078f26bde2ff926806892441a97f239bbe4ed569485d94750fe8c8", + "0x2e4e5b7e23ac6533333c43f70db2a3c699240ba4adc372b2a3d13a000b41199c", + "0x1cb36c900588afc3a59d2d9c4b45ae89b78611c0b8ae393f0f3776887d40ce60" ] - [inputs.tube_data.vk_data.vk] - key = [ + [inputs.public_tube_proof_data.vk_data.vk] + key = [ + "0x0000000000000000000000000000000000000000000000000000000000000016", + "0x000000000000000000000000000000000000000000000000000000000000073c", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000009f7e1c4549b53789d477d9979b288b6e02", + "0x00000000000000000000000000000000001a3d147315ef46db837c2a894ae90a", + "0x000000000000000000000000000000c9aeab057b30e55d024db427da455c52a4", + "0x0000000000000000000000000000000000139faae36b68fc6e5d1b154dfebe11", + "0x00000000000000000000000000000083eedb8354419f1df341586c8c30c82700", + "0x00000000000000000000000000000000002b766ecb886813e7fc4e25f5957ac7", + "0x000000000000000000000000000000137ee5b31eb77f8eff1534e588303c1abd", + "0x000000000000000000000000000000000024253ed4060c583675b9d369e6d405", + "0x00000000000000000000000000000074606121e2090cfc8dd74a9872fda5db49", + "0x00000000000000000000000000000000000877dddbfda09350cf84020f0a4d8d", + "0x00000000000000000000000000000043b91d18f9205e01c7026c8800f9ee7594", + "0x00000000000000000000000000000000000930390d80549ca8905a7c06f244d9", + "0x00000000000000000000000000000093bbdf4e39344446d16f61f4bcfc54a10e", + "0x000000000000000000000000000000000003c2e7ff1de30b1f499d5fca6b1bd8", + "0x000000000000000000000000000000a79a98cdc865f8f6521baa286bbe024ad9", + "0x0000000000000000000000000000000000262a64e39b2e97a337ea8e3f3b827d", + "0x0000000000000000000000000000006ca97a110d2c7dafff6d91be06cdfdf1f2", + "0x0000000000000000000000000000000000246fba6345c78d416afea7b6843609", + "0x000000000000000000000000000000653eabe3eecadfa2bb1f9be3cd4b051422", + "0x0000000000000000000000000000000000214fcd569b59a47c8f4016a1917ade", + "0x000000000000000000000000000000151ec961f3430468db3152d1bdac586851", + "0x00000000000000000000000000000000002a3bda5a7d5a31254f6eb845405e3c", + "0x000000000000000000000000000000b68b60969554bd09628b7197ebfe3d3d72", + "0x000000000000000000000000000000000018c975663f653f0aff2e1d880e62a4", + "0x000000000000000000000000000000ff99aa38fec213a52a7cc3a728403a7b17", + "0x000000000000000000000000000000000025f81e02c657d1eb000662e8afd382", + "0x0000000000000000000000000000009cb57f0102960d688d83160de8ac34aad8", + "0x00000000000000000000000000000000000020bc904791c7c5cc1f352dd6d0fe", + "0x000000000000000000000000000000de353fd033871ab792c5d56ea4c8bea8fb", + "0x0000000000000000000000000000000000022ad552a606e7d133a18436d844a7", + "0x00000000000000000000000000000005b8a1279d6ae3e2197d92364dda80f74c", + "0x00000000000000000000000000000000001f8f46242be5a79b6a10c1f1d35e16", + "0x00000000000000000000000000000025b59b43d7df5d6485a45e9cd35f88884d", + "0x000000000000000000000000000000000025768dd6dee57b2c319bb8ec2a4849", + "0x00000000000000000000000000000042a5eb95481b09285ecf0efe9af764ea80", + "0x00000000000000000000000000000000001ec33412b5a54b46f03620d1c1e75f", + "0x000000000000000000000000000000ea7e1a361026d096178f87cac6368c756f", + "0x00000000000000000000000000000000000624a282eb2c9dfbcf4e41d303bd87", + "0x00000000000000000000000000000083c1a5c6725456768e4aaac877e5840754", + "0x000000000000000000000000000000000019de582e13a72bbbb2bdf77355e019", + "0x0000000000000000000000000000004ba54b79cdf12213a2eb338fdaa9f16537", + "0x0000000000000000000000000000000000250ca32d71e74931bef46a4fe40720", + "0x000000000000000000000000000000a43acc92d3a85bafbb50683834a54c8dfb", + "0x00000000000000000000000000000000000110c977e21eba4adc0776d6841091", + "0x0000000000000000000000000000006752ea610ea4327c778425f5adac5d4cb5", + "0x000000000000000000000000000000000025b63533516d6cca996b022cabafe1", + "0x00000000000000000000000000000034acf1ce450312a67fc00ef5285ed7dd38", + "0x0000000000000000000000000000000000200f15cc75f049d347c4a5d9281f2f", + "0x000000000000000000000000000000955cb0fb55d01308b81853ae914c494a83", + "0x0000000000000000000000000000000000202d5f3fb6a26232d17584f69e1978", + "0x000000000000000000000000000000082bd3910dee7244379e5fb7dbafcdd8b4", + "0x000000000000000000000000000000000022f01d472faa8c4ff19d62a644fb3f", + "0x0000000000000000000000000000003e14134fdf56e3a6e4a3e68ec671d7c40e", + "0x000000000000000000000000000000000011466885c3090dbd6b2a38d6c6eee4", + "0x000000000000000000000000000000558df5fc2c0cf762c95465acdbdf4b53f4", + "0x00000000000000000000000000000000001d7b0f1a997aef92060d6445a672d5", + "0x00000000000000000000000000000072e81cfdcd8a7263c514048952f6d06387", + "0x000000000000000000000000000000000006f21151d96aeb3643419c0f7f37a6", + "0x000000000000000000000000000000d86af00baee9fb55a9b12e8940c20441f2", + "0x00000000000000000000000000000000001b524cf0929ad1b71aef5e57c436ec", + "0x000000000000000000000000000000d51fdb425cdae2c1aef469166a86f516c1", + "0x0000000000000000000000000000000000050b883405634c7a17b4d600695d7d", + "0x0000000000000000000000000000005f1c84f180cd0d30fd54d6934eaa1a4bfb", + "0x00000000000000000000000000000000000cc7e60c079bfd90455cb352695942", + "0x000000000000000000000000000000983423b2d74d1101c158705222db127a03", + "0x0000000000000000000000000000000000152069cfa34d22fb2e1389dc848558", + "0x0000000000000000000000000000006604791e5c7a8cc1cc2d3e7056be1e44a5", + "0x00000000000000000000000000000000001c3928fddec95e5ed589f254cd49a7", + "0x000000000000000000000000000000bc3d6c695020f912e0504320959f4c90bd", + "0x000000000000000000000000000000000006f750e5fa72ea8e2c50e57a261932", + "0x0000000000000000000000000000005e36c48e3b4e708b1aeacbfcf215da3049", + "0x000000000000000000000000000000000011d1d76ef0bdde31f69ecb4a7f4631", + "0x000000000000000000000000000000a402ea2ecd77d5deaa378736ff3f671f40", + "0x00000000000000000000000000000000002f9ffc542547336fe4f8bf97d63ef9", + "0x000000000000000000000000000000a0332d255280e0fbf2a5381a956009ba65", + "0x00000000000000000000000000000000000da75ae61511fe7f689a7b62c951a0", + "0x0000000000000000000000000000007b574fe7886ab288528fe9e1d12e1a3026", + "0x000000000000000000000000000000000008c5264c83635e5691f13e60251375", + "0x0000000000000000000000000000002e866432079ab3e69e2e13bdc9be945c4e", + "0x000000000000000000000000000000000009fdcf00ae7e0917bdd520689f6676", + "0x00000000000000000000000000000053060d1f47db38d3cd2184275e82974f9c", + "0x00000000000000000000000000000000000ce158dd68d664f41a6be5a2f7d3d6", + "0x00000000000000000000000000000062190df3646751e44daa5da28485c9e166", + "0x000000000000000000000000000000000003e1689efc1cb496e20dc92e049b2d", + "0x0000000000000000000000000000006f97dec7a5a28d510145f62d28fef760a7", + "0x000000000000000000000000000000000010ffcfc967be6121e1f224d8ff5285", + "0x000000000000000000000000000000bf9ee479fb5172130b7a7ffed33256f6a1", + "0x000000000000000000000000000000000006fe4a2b7a88acf11f14a60c51864b", + "0x0000000000000000000000000000004372fbb969278a68f0fe674959fd855f9a", + "0x00000000000000000000000000000000002032534e072203fdb587b1e51b1888", + "0x000000000000000000000000000000d377b70e8be9e7b84433a2bd1366f24e05", + "0x000000000000000000000000000000000004cf1b68873ab977976dc19615e49f", + "0x0000000000000000000000000000000b933b067bbdf0aa701e05b4418dd53ff4", + "0x00000000000000000000000000000000001d9a4a925b8061481f6cf38ac2bb4a", + "0x00000000000000000000000000000023c16f1e86a90180566e72fc1267cb1701", + "0x00000000000000000000000000000000002664ce00c511307d40d9c0aed58a61", + "0x000000000000000000000000000000bec324e6029c843c9d6713e4abec97b060", + "0x000000000000000000000000000000000021b43c221e7a042ca5ca8dd4716fe5", + "0x0000000000000000000000000000003bc334112d936dc0293e63098d80199faa", + "0x0000000000000000000000000000000000204291451aac3ce41af3550e854b88", + "0x0000000000000000000000000000004fbfcefb7b64b5856e0fc981850d6b3fc4", + "0x000000000000000000000000000000000007ff853a6353389ea533f6fcfdcfa8", + "0x000000000000000000000000000000130c68af404d1fa0548c07618ef5ea9d9d", + "0x00000000000000000000000000000000001c8af561628dd5293e7f0e1b4741ad", "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x000000000000000000000000000000000000000000000000000000000000000e", - "0x000000000000000000000000000000000000000000000000000000000000000f", - "0x0000000000000000000000000000000000000000000000000000000000000010", - "0x0000000000000000000000000000000000000000000000000000000000000011", - "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x0000000000000000000000000000000000000000000000000000000000000013", - "0x0000000000000000000000000000000000000000000000000000000000000014", - "0x0000000000000000000000000000000000000000000000000000000000000015", - "0x0000000000000000000000000000000000000000000000000000000000000016", - "0x0000000000000000000000000000000000000000000000000000000000000017", - "0x0000000000000000000000000000000000000000000000000000000000000018", - "0x0000000000000000000000000000000000000000000000000000000000000019", - "0x000000000000000000000000000000000000000000000000000000000000001a", - "0x000000000000000000000000000000000000000000000000000000000000001b", - "0x000000000000000000000000000000000000000000000000000000000000001c", - "0x000000000000000000000000000000000000000000000000000000000000001d", - "0x000000000000000000000000000000000000000000000000000000000000001e", - "0x000000000000000000000000000000000000000000000000000000000000001f", - "0x0000000000000000000000000000000000000000000000000000000000000020", - "0x0000000000000000000000000000000000000000000000000000000000000021", - "0x0000000000000000000000000000000000000000000000000000000000000022", - "0x0000000000000000000000000000000000000000000000000000000000000023", - "0x0000000000000000000000000000000000000000000000000000000000000024", - "0x0000000000000000000000000000000000000000000000000000000000000025", - "0x0000000000000000000000000000000000000000000000000000000000000026", - "0x0000000000000000000000000000000000000000000000000000000000000027", - "0x0000000000000000000000000000000000000000000000000000000000000028", - "0x0000000000000000000000000000000000000000000000000000000000000029", - "0x000000000000000000000000000000000000000000000000000000000000002a", - "0x000000000000000000000000000000000000000000000000000000000000002b", - "0x000000000000000000000000000000000000000000000000000000000000002c", - "0x000000000000000000000000000000000000000000000000000000000000002d", - "0x000000000000000000000000000000000000000000000000000000000000002e", - "0x000000000000000000000000000000000000000000000000000000000000002f", - "0x0000000000000000000000000000000000000000000000000000000000000030", - "0x0000000000000000000000000000000000000000000000000000000000000031", - "0x0000000000000000000000000000000000000000000000000000000000000032", - "0x0000000000000000000000000000000000000000000000000000000000000033", - "0x0000000000000000000000000000000000000000000000000000000000000034", - "0x0000000000000000000000000000000000000000000000000000000000000035", - "0x0000000000000000000000000000000000000000000000000000000000000036", - "0x0000000000000000000000000000000000000000000000000000000000000037", - "0x0000000000000000000000000000000000000000000000000000000000000038", - "0x0000000000000000000000000000000000000000000000000000000000000039", - "0x000000000000000000000000000000000000000000000000000000000000003a", - "0x000000000000000000000000000000000000000000000000000000000000003b", - "0x000000000000000000000000000000000000000000000000000000000000003c", - "0x000000000000000000000000000000000000000000000000000000000000003d", - "0x000000000000000000000000000000000000000000000000000000000000003e", - "0x000000000000000000000000000000000000000000000000000000000000003f", - "0x0000000000000000000000000000000000000000000000000000000000000040", - "0x0000000000000000000000000000000000000000000000000000000000000041", - "0x0000000000000000000000000000000000000000000000000000000000000042", - "0x0000000000000000000000000000000000000000000000000000000000000043", - "0x0000000000000000000000000000000000000000000000000000000000000044", - "0x0000000000000000000000000000000000000000000000000000000000000045", - "0x0000000000000000000000000000000000000000000000000000000000000046", - "0x0000000000000000000000000000000000000000000000000000000000000047", - "0x0000000000000000000000000000000000000000000000000000000000000048", - "0x0000000000000000000000000000000000000000000000000000000000000049", - "0x000000000000000000000000000000000000000000000000000000000000004a", - "0x000000000000000000000000000000000000000000000000000000000000004b", - "0x000000000000000000000000000000000000000000000000000000000000004c", - "0x000000000000000000000000000000000000000000000000000000000000004d", - "0x000000000000000000000000000000000000000000000000000000000000004e", - "0x000000000000000000000000000000000000000000000000000000000000004f", - "0x0000000000000000000000000000000000000000000000000000000000000050", - "0x0000000000000000000000000000000000000000000000000000000000000051", - "0x0000000000000000000000000000000000000000000000000000000000000052", - "0x0000000000000000000000000000000000000000000000000000000000000053", - "0x0000000000000000000000000000000000000000000000000000000000000054", - "0x0000000000000000000000000000000000000000000000000000000000000055", - "0x0000000000000000000000000000000000000000000000000000000000000056", - "0x0000000000000000000000000000000000000000000000000000000000000057", - "0x0000000000000000000000000000000000000000000000000000000000000058", - "0x0000000000000000000000000000000000000000000000000000000000000059", - "0x000000000000000000000000000000000000000000000000000000000000005a", - "0x000000000000000000000000000000000000000000000000000000000000005b", - "0x000000000000000000000000000000000000000000000000000000000000005c", - "0x000000000000000000000000000000000000000000000000000000000000005d", - "0x000000000000000000000000000000000000000000000000000000000000005e", - "0x000000000000000000000000000000000000000000000000000000000000005f", - "0x0000000000000000000000000000000000000000000000000000000000000060", - "0x0000000000000000000000000000000000000000000000000000000000000061", - "0x0000000000000000000000000000000000000000000000000000000000000062", - "0x0000000000000000000000000000000000000000000000000000000000000063", - "0x0000000000000000000000000000000000000000000000000000000000000064", - "0x0000000000000000000000000000000000000000000000000000000000000065", - "0x0000000000000000000000000000000000000000000000000000000000000066", - "0x0000000000000000000000000000000000000000000000000000000000000067", - "0x0000000000000000000000000000000000000000000000000000000000000068", - "0x0000000000000000000000000000000000000000000000000000000000000069", - "0x000000000000000000000000000000000000000000000000000000000000006a", - "0x000000000000000000000000000000000000000000000000000000000000006b", - "0x000000000000000000000000000000000000000000000000000000000000006c", - "0x000000000000000000000000000000000000000000000000000000000000006d", - "0x000000000000000000000000000000000000000000000000000000000000006e", - "0x000000000000000000000000000000000000000000000000000000000000006f", - "0x0000000000000000000000000000000000000000000000000000000000000070", - "0x0000000000000000000000000000000000000000000000000000000000000071", - "0x0000000000000000000000000000000000000000000000000000000000000072", - "0x0000000000000000000000000000000000000000000000000000000000000073" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000f98cc7865c01e26ede45dcde5191be3da3", + "0x00000000000000000000000000000000001495f999ac50c893dd9e44ec664e2d", + "0x0000000000000000000000000000004c1e210b06ea2d37815641e8adef5d6c82", + "0x000000000000000000000000000000000025bc6eb69cfe371c65738f0a08bc6e" ] - hash = "0x0000000000000000000000000000000000000000000000000000000000000002" + hash = "0x22658c8a710631aeeadb7f673221847ed04e26f7062e55d888e8ba3bf941aed3" [inputs.avm_proof_data.public_inputs] -transaction_fee = "0x0000000000000000000000000000000000000000000000000000000005616fd4" +transaction_fee = "0x0000000000000000000000000000000000000000000000000000000005a06d10" reverted = false [inputs.avm_proof_data.public_inputs.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000038636661" - block_number = "0x000000000000000000000000000000000000000000000000000000000000000b" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000043" - timestamp = "0x0000000000000000000000000000000000000000000000000000000068a84ff0" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff90c" [inputs.avm_proof_data.public_inputs.global_variables.coinbase] - inner = "0x000000000000000000000000890d1bc0ea2940f4949b7958472ad84423984c8f" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [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 = "0x00000000000000000000000000000000000000000000000000000000000006a4" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000071c" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.l1_to_l2_message_tree] root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000000a0" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000090" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x2e4f613c807776abb2780216fcd44d982b278070992422f7f0fb5cd053dd0223" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" +root = "0x08fb10578c3c664f5b199352437c69751aaac02b79ca047bef3269d2469f53e6" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x070df18710aea48365016773a823196be1a3812d974ebe2f338ed0da30428c5e" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" +root = "0x2002e8fbf3ddde7443e8827c3379168561dd42ebcd0d9a09d0a3c677a2b8e9ad" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x24836585aa7bf9aa41f371c46d3e8e3532df98303d68568e2e686f2b04d475c2" +root = "0x2adcc91b6ffbf047a698aa22d700a8c2210a2592489b889675ab5371d624827f" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.avm_proof_data.public_inputs.start_gas_used] @@ -6390,7 +6390,7 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [inputs.avm_proof_data.public_inputs.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000ee2" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000e10" [inputs.avm_proof_data.public_inputs.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6398,10 +6398,10 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 [inputs.avm_proof_data.public_inputs.effective_gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000000006a4" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000071c" [inputs.avm_proof_data.public_inputs.fee_payer] - inner = "0x04c1d1431a969adf94f5400f4797a15f55c9bc93022ef97048d5371a43577191" + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" [inputs.avm_proof_data.public_inputs.public_call_request_array_lengths] setup_calls = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6730,13 +6730,13 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] is_static_call = false - calldata_hash = "0x0092b6a344285c351e66003535c07ad8a18e45d72d851fcfeea03c85a4fa2afc" + calldata_hash = "0x2a0cdf5c71215882f9579a416e50c11195cc960cab84271b2e921ef60e609b1c" [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x04c1d1431a969adf94f5400f4797a15f55c9bc93022ef97048d5371a43577191" + inner = "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17" [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x247a0a33624210d7d9e700b21a43fecb123e3ac9f31b82b3d1ad7b74b3de731a" + inner = "0x1b0bd8ae0ba4d899bdfd9cfb3298d9812ba3686d946c25a0b8cae81bf285bcb2" [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] is_static_call = false @@ -7136,7 +7136,7 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x15971cf3b2afb69c7712ea5ed3ec0f8bd07ae88a23fbcc7d017cf46bd169fc30", + "0x2c2163823d34d0ef5a68d10afab1ffd093d80912158a935bb32939409b949e0f", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -7498,23 +7498,23 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.l1_to_l2_message_tree] root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" -next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000000a0" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000090" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x2e4f613c807776abb2780216fcd44d982b278070992422f7f0fb5cd053dd0223" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" +root = "0x08fb10578c3c664f5b199352437c69751aaac02b79ca047bef3269d2469f53e6" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x0a59cc908af84abaeb1eb48848ee7e7371636fc4dc8d558314f2e2bbec328a7f" -next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000003c0" +root = "0x1ccdabb64bdcd26b418639be3e2b1fd9310517e86427c692c302eb00221da176" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x258c6a78ee236fe42c14286ca3cd92ef3497e350bbd75e9f67346ce5a51cd1bc" +root = "0x20b2f659e4e1eb53896f8c99ac9b916dbf4a53165e25ac463f7396ee45fda08a" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.avm_proof_data.public_inputs.end_gas_used] da_gas = "0x0000000000000000000000000000000000000000000000000000000000000c00" - l2_gas = "0x000000000000000000000000000000000000000000000000000000000000cf6d" + l2_gas = "0x000000000000000000000000000000000000000000000000000000000000ca9c" [inputs.avm_proof_data.public_inputs.accumulated_data_array_lengths] note_hashes = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7591,7 +7591,7 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x15971cf3b2afb69c7712ea5ed3ec0f8bd07ae88a23fbcc7d017cf46bd169fc30", + "0x2c2163823d34d0ef5a68d10afab1ffd093d80912158a935bb32939409b949e0f", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -7914,16 +7914,16 @@ fields = [ length = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x2b6ae95dfb8c6d487614a4d35bcb5ebe0e65c908f043c285ec3fcbe51f4620d1" - value = "0x0000000000000000000000000000000000000000000000000000000000001c20" + leaf_slot = "0x2635f4d282c3de729fed05cbcf1a5da1073a14718a0ad938e1a90fb29976a8e1" + value = "0x0000000000000000000000000000000000000000000000000000000000001f40" [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x072bd9199bf6cef924cbfa7b4ac67246adb9dacbbf1953debb576aa8d3593dce" - value = "0x0000000000000000000000000000000000000000000000000000000000000af0" + leaf_slot = "0x27b822f40e31ae5ec4b1cb79de04783c1cf1aea161a4103374689a383304b57b" + value = "0x00000000000000000000000000000000000000000000000000000000000007d0" [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0be5d134275c69a8fcae7967ba2a5491d3a235289f780108d7936065862c4da8" - value = "0x00000000000000000000000000000000000000000000021e19e0c9b6a2355b8c" + leaf_slot = "0x12c621c4f70a13c7d8c6f48f36d0cc48eb26c3467def465d37b24a944c3e4717" + value = "0x00000000000000000000000000000000000000000000021e19e0c9b7da07b982" [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -28176,1018 +28176,1018 @@ fields = [ [inputs.avm_proof_data.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" sibling_path = [ - "0x144f16d96c45776c6f8c7bdbaa4d6bc1f28ec72b512bc334806b41e71f74d3e1", - "0x12ec6833d7eb46454a084ba830e2d9df362fcdde44f632d449c2a2dbe63e11ba", - "0x182472a7da2212e97ecbd952ac54806b4947eab8ef22ef4b452a17b4eb09e510", - "0x2952a254945ad8e8c029569fd9683e314b4e4295ad272e52e2cc65d63002c7d5", - "0x1e51077d1e418928c6fdf75d64f7820281aeb4d5b311b00d367bc13b7b98c193", - "0x1ecb21c39bad01512b0f415b480f0b3fa806a16dbd52e95383ec6ba9ad171622" + "0x2855a3cb34a2fcc8f489276dff5a22e3ca9d9a628d9a20d46dd1baecd18997d2", + "0x124df994ea83e86953c74794cdc7160a1d72f7ae8f022bda02fed75c07e0fc7d", + "0x109e1fd3da69890291cadb6b7275a33e89b4970e1856956a971a4b202c42d427", + "0x12c49ef7f7f08c55efc7e39b04e211b63667eaa18ba622a01ee645ba2ce79842", + "0x2e4e5b7e23ac6533333c43f70db2a3c699240ba4adc372b2a3d13a000b41199c", + "0x1cb36c900588afc3a59d2d9c4b45ae89b78611c0b8ae393f0f3776887d40ce60" ] [inputs.avm_proof_data.vk_data.vk] key = [ - "0x263b6f8ef4c5adf477406714c148350388be0967a730098d9b7ab29a0b134583", - "0x1087b3d82ec949c82da6f7c28f4d822d140f582a571c2c656614790112865b1f", - "0x1e510fb480078a3e0f8b81ec28a0b84bf94dec9c098af0632b53e3c17abc3226", - "0x195c87d595a79eb094294e302cc3e768dad2c87723a59af6b274f56cc11b0bd1", - "0x193913b643746e15b326e5ca02862dc1ba4f81ff2243bb566487746a97ae30b5", - "0x147aa34b4c20f47245820a4c83f2a644566dd13b13d0d469dae07d61e8211894", - "0x0fc4ebe39f1ae8eaf23ed56ffc39666cd22a6d7d7f48e86195ae24ddedbeef56", - "0x11c1e8e44117b392bf634c7d676eb6edec483d407f25b15eaf690cd102f753c2", - "0x201a11bf11b920ed453e9bcf5d792f2adc427ecf3a4f0ed7d8f3b6b59e03db33", - "0x18e802c98bfe086d6f5978a4532aa4f00d38f11717dbf9c0ac575a93e852b339", - "0x248affb8349dea7774e732cb7e365b87dcb4ea75310c16f08567ca3a123fadd2", - "0x0c9beb44ddbd896c6df71e3906e91faa6a8de7f2c5ce8a01a58acd6aef739acd", - "0x261f674e8e51ca86c493dd3e00bed50524baf8dc746786bb51d29c98f0ad336f", - "0x0b306b0e2c4198495b143319d62c46f9d862528aa718384e85b72ec23c51573e", - "0x0a82e0c3e5e5d46feb10c8c29b5ccf1a4d67e3ebda938722410009c1ea99d737", - "0x2d5161660591f3a6e8851c2b3fc3f6c9088ef9076611ea7d2e9849622870a1b5", - "0x15139146bea4a41bd6537b3d680b94871217efedadc6e5d1dee2aed6815cfa98", - "0x0359cb7af54f2ba0a4b796ec1a2afc10f42c591f8e7083f64781abff5982cfa0", - "0x06905a5ff6ab65bcedd76a363f6de1a3bcf44dec7ecaff1e8e77e097daddb42f", - "0x1af64ddd66b7c6d50a18087a81d4918179c77d861119c37b3f08edf54301c1a9", - "0x1a187825816c4757aa6aa6fd04746a1dc3321d0c62aaada5a988bcf12e124998", - "0x162be74c460fbd1d3169d1bc7bf010e65e37913af9530a064bbf452011fec214", - "0x23ecf50daf790b0c62d828ed52fdab48cc531de51dcce36e24960c7ba50df7e1", - "0x1152b0da673fc09642b09cfc4b471240167b24fb729ed46ba2bd3e450098537c", - "0x094ae9948c12b363c5d7414c2516af54677d4b4affe13b346e655fb937fa9e7d", - "0x2531afc0fd322121735f21d10716691162e92908fae139138a4b5349fed6332c", - "0x07dd3d0dbd59cbde1d88af28d5c4b4fc8c7474779d311980d80fd25536837558", - "0x2a3f2722433d194b4a6e2983894b9b153212d1d8f72f9cbc48d66cb4e6c27a13", - "0x2a74d53da0be66d7665bacddf63fdaa74b4df9c73ca4d78964fe63190e2b4897", - "0x086ba3ceeb8add16ee3e03334e5c636541fd93390f19067f6de482c06cb75e8c", - "0x28111f944b9eba96b024f027a3811587f5d79d30e4435e5f629decae3d6173b6", - "0x1268c28e1042d59896dcb4001c7807ced22415bfddd5f04dc0af82bd2e4136a5", - "0x0bbd0ec65827e0410cb0d38c64e6d011a71931f7604c6bfae7336ae6fa3238fe", - "0x19bca40e0f6e01c867f412d322f31b2993a8b95759a25dfee1795612cee37c42", - "0x15fe8ba0d5f794579ea9fe954c91adf5388116eeef2d12c349cf0c10ad139d7d", - "0x2d55505ec87ba8065f8c532420ee7e433dfec5359e3906be890ca0ac7687405a", - "0x1c81c33b0812d4305bdef28549b06ab5c31e6ee389118e9bc0645587da0cbbfc", - "0x084f9c09a66b92d34d7e876ea04379fd177be1c632bea0f18c5cdf39570ade3e", - "0x14c9f6ddde5209d81a411959244a97655ef39dfe5b0548b188da45558680a394", - "0x0c3cd9bbebc0203439b05af22445084bb46e9b57cdcf12441255fba46d6cbe2e", - "0x022ed928f9c2b1dc09949563e70de443d8fa7313b54c6038cd3f87a65994a331", - "0x23f535d3f0b3259de2bf37da20d4417d11428df2b6683541b875d15704473c25", - "0x0c6dbcec8666d799819e648439d61827cd63424db040f91e39aaaef7fe2c0793", - "0x0da36ee0e164efded88fa7326dfcd920e637ff91ca3a7172b2f42521a5929499", - "0x026bc06fdd5f71c5ccac2359a92c8c0f72aaa84a4634ea89aa6409e149d32528", - "0x015d8c543588dfea1b2d71ba0b35ad1baa8d8c5804c6eb4a575891d394d5eb97", - "0x225fe1b1976e24d1cdd3b57c25307789a9260686dac3d60f9283b1a6a07e8abe", - "0x1fe55af78af0c0846e1902f88932279062c1ed92507f79110083df05f9014f3e", - "0x0750849e97015db54b0a4aa34e050950b8d459575d97b12019b792ffa7552374", - "0x15a3e6760750fc7caaecda7637ca72f0bf19de128493a3fdddee4b0b2a79e863", - "0x3002fe6c7a2c9380654a1f8f344e6d50acc1c8c926de1771a1093d476611dd62", - "0x032865c109c118e9f690b294894d4c43a0f571e763d5e65841f3580d562ceb13", - "0x2173c3699ccd2069c544a6b0f6e54669bbc6ec6ea2f08aefe3ebbda5eb7fa15a", - "0x01dbe89aafe6da8d6e3caf3da09ca24c9212fa8acdacdcfa96104d3c3947d9e8", - "0x108df400bd7255fb91ed9e195c3cedff36705b38618409df5d374c1712bfdb1f", - "0x11a956fe1caf87e53ecbbef645bb158abc2bf6211cb9893d24fb38bfed5be0a1", - "0x2baee295f4682ba7bae4de27e817261d182eea2d091bfe8c15f8f319a629ae2a", - "0x2c27cccc1d770cec0e165a64b2d0ef8fbd112e10269d497b2e062c1cccad1252", - "0x2432363b11456af0229b5478c756f1acdea88aacc9b08176091dec138693f759", - "0x0d7197f84c96edc46e74b37c165f71cb4b426c479f70fb274ae4efc43fdcd51f", - "0x0d09c48274b2d3743c0697b60bcd260e11eea14cbb546d1764bbff20c9a60221", - "0x046cdaa6ec914a1520f36eb7724f111432df81d5875a2b15d6e1bdb7bc44f1c9", - "0x147f69a06b83604772d943856f1b3c104af195bde4e4e521adb12a3af972c042", - "0x23a2fefb3de0411e6e4be3c0b1ed46cc2e7fc9715882f665c7da15f26f1c1cf3", - "0x2eb1fa539f9e9c20148b27666cfb9c2e53cbeb59d470e20244803cf777e76fc8", - "0x02dee1dd687df98879d913118bd9efbcbd17b99fe2ce70ce940ad21693b317a7", - "0x254052b168709753058d893cfc598949e57e2db1197192228539f22d910cc73b", - "0x18b54c4223a4da86c0482fb2d4b45d3c80a360e87a8e8209d4907280e235881c", - "0x2a6274ef27260fdadc0c5a59082ee22ac3f442b2345ab227c183da16c59c1023", - "0x0863066e2d6457adb008de2072897cf23174f55fe6eaac2581b649ac4b2be570", - "0x0669a2f284432ae367a2f0aa027a318e100a97018b26284d2a3f4ca959ae5da7", - "0x034dcbc9213a50112e21f382bb543d41637c9b37eb1126c3598dff8a34b81c23", - "0x2f7b7dd0ad54adbaf6e5a5ce7da7ec9089fa86c68557b909b14abbd97a5298e6", - "0x19b44ac195473be3b3ec3638c0dc72770eaf0446e87ade4f5dd18b84ea0bf71d", - "0x111ad2a3139a7fd98798006cc22404256036d70af9934e7c4784ca127170b61a", - "0x26894751d06365e98775c4b47c433c78c2c5a7eac04ac09f14a43133fa83d9f7", - "0x1e4ed5f6f277e6286f30dcdba76867b820292b3f0a2edc3178d9be943cdd3d43", - "0x1e0a470884297eb8d146cab3654b60161be3aad1eb4a008f307cd8257af7f711", - "0x04131c23c9bbbf84521531748f3d093cc6fcfef25aec9df20952f44daca8df45", - "0x165b33017d6913022a5c4a880289a8dac90c503cb18e4b3a6c5fac45e8a03bbf", - "0x2e808f7cbdfeef50a46fce61b5ef4d6fe8e9037ba9ed940762bd27dc4b3c6426", - "0x186066d79afe2f00fa5a1a8cdd383bb5495af9798ee2b03a221eb90d88804ccd", - "0x1eb5c325095ee3c8dc2ef79014acbbf61f6347165be24ba74a76fdb294c67539", - "0x2933a9418ce84b218ac8f0bfe42e4946eedbcc6409a4d0e4a486e0bdc4d0ba13", - "0x1d59478ac16cad9fff4b2978b42c31f75e3901f393629f5576f11d5662b8db29", - "0x26f88babd0ae7481f91bb3fe7ffbf0ba8fb679720724bb756eb720af42a06896", - "0x1f7e2cf6f3ecac998ca8e54d566d2df7219bb5ebf2d897f913a9a5a46f960030", - "0x189de79af7cbc361ed36a4bb2d1d9dc010998c9c2b2961349201288e7cfbf269", - "0x254f33145b248623d702fc9a993dd8beab4d3c5ba18dd67c0b39ff6a0ca319c0", - "0x07128e8b2443a41cebbf602ff6722985d1dad42e3ef23ea33d635dca2acd03b1", - "0x1ed0ad7c1aa29ce9e9263f3c6705daed53deb06520f24cc944f066a47dfded54", - "0x0199b21c456c86d94d96de569f6672c7085e774047e98cf110241959443e00c7", - "0x09f94b80ac0e7e585113053fb05d6b3cf46bd43d454cf6361995ec6cf943d8a6", - "0x2173b8f5bd359f4421fc600e9d2878630d2090ad6c28203f611811b8c28237f7", - "0x2b26a29c83963ee870790a55e24efed137c78db52c487de546b3c65313e43a9a", - "0x26bc194de4b7836cc54aae160997cb9e2882f9da0cd866d51a09d56055596ec4", - "0x12c18295efaad303268a063bd816d6aa7b2de9ca9e9f6a067437d6203ecef675", - "0x10ba97977935329db8531a1f19544ef8b5c72bef9102a8581b91a4bf1f8ba791", - "0x0092177c2162fbc774c751326273ed39b989d5efe61e91440ebf096b7ebf7bd7", - "0x24b97a2a06927a1a5605d579544545e71d41adb1c24e61bae04bf9be26bcaab6", - "0x10d2e14c7073872f25f2d35a304ec1ad1f59e81e57578c2537c8b28979c888dc", - "0x04b5328ba488b71694b6e4fa4aae5686f748c4b07767396fafd8fad6a70dead4", - "0x1bba26df19cd69db785b050e3051e2ca70ee6e3edc3a23fb1b8d6f36b31c1fa0", - "0x23f3734fa0eff7544764bdd12bdb31708370cdafbe304a2f2e373821a4fee6ac", - "0x272535ad8c7f925df078e321e0b5c8a09abca376181749c1547489f4e5e611a0", - "0x1749161e6f510fc15649ed76e99f5cbfd4e4008f15f953e4f4e58dad2e8f10fe", - "0x27d032fb4d54d3b7049ddb27642d43581748f15fe749cdbf7918b2f38a0299f9", - "0x1f4d5823827ecb6451415cd2430331bc0c89f1f1f58af0afad7641942e3d4a42", - "0x2bde7766c5bbabd490567a199319a910f29bb85662cad9861a4999b8faad280d", - "0x0edd65630b5d873c27cafaedff393a54cf21e67363c66a51bb05ef87e487fc65", - "0x0baed1ad3733f84610bfe19a9643db2eaa0a948bfe6e64a7399acff496ddfffc", - "0x03424909fcb6c5c8bc2cb66116ef79d6a2d478ec7dc4912e1a327e19d968e837", - "0x2c7adbb14ccee7fbac48181be9981818143ceeae321300c57e35ecd7c81fdd24", - "0x0dab76d1ec1ebe51f77fdc8003e3929fbc3f647aeccc83d445a8bff73f721c33", - "0x1d7f64f5ff594cd8aebe5fc0d403ccaf1178a0d27e7853e9095af033b6304f92", - "0x2e4bb599aee8f362502a0478c9eedeaa59e0d7f880b2d04e1d029a0330cc0a41", - "0x070b0c188ae4146fb298c6d582e0ca320672dcaead80328bdc2984ce1faaede4", - "0x1475f4f0271fc3ad8aa54d968a46884ac84fbfc78af8ef95a7c9cb7dfac45d17", - "0x2251ff64dbce3d1c34a98e4f011fd46c837013001f76c11758017a3884310280", - "0x0e35fd1a8eea22e0dc060dae9c11ca09f224f875e1e701db4554d01e8334681e", - "0x206b45c423f945b1e7e3fad19aedd428b1ad218918f366ca5b1a030c764c1260", - "0x1e910a95b6552eca31abd5524ffadefd094a8c915922444d5b789db12b11f2fd", - "0x13b21dfe1bbba7393949f242cb15ee533cb6aaaa4f132c43d738b7a0ea6abd0d", - "0x16358ad8e9cadc539a8468190da34fd44217291eeb045666ada6921071b22765", - "0x1b28322e7fcab16f7d7208fc37e7202c3303c3221f481a0f1194d63f79d00778", - "0x00522117e78ffaae6232a192d0079f140eead6efea0d3c43f0945bc250fecaf4", - "0x04017a8fa6b36c1104fcba72fd5df85b9da82e41b099e2b2976e5b14e9b120a2", - "0x13850210ce2d0afc3b4e5926a36674a0fead1c37bda1cd422a03ab63cc65d2dc", - "0x0a045677f6e27982482c294c5de6bcbb829f5d0ac508b621dcc907f4246ba040", - "0x2b698d3a3108269906280f570cf3c65dc3f1f6836e7a3054ac5ec5b679cdf766", - "0x00d3c38351bb3ee80c8c2fae02d04a72b5c4c4e06c36d27a649a82aaee13c652", - "0x2b55a5047a8648cbbd1a271a7897f5e4354fecfbc7dfba2dcf6ffbde8d7737ba", - "0x10f24f15b834d4dd819ea81c349e3c3bd153e7f5b0411954dfcbb32f61656825", - "0x2f5f8a9deefbbd79c2c517d558b8fc8035f920b0702aba733768db3309a13f19", - "0x10b2fe5ea8abab98e141d97acbd7907acc7da4926b45a8af66badc52dc8dd868", - "0x1a2b037fb663f1b59c1b70d1f0080ab6aa856f132aebd2fe1f8f054cf1d1b9d8", - "0x092bb09c036f1bd45b4c8753c6e62dfac3a0fbb131a6da331984d1df23b95f3f", - "0x05baa650e390e2ea0d6a863bd2e9c4e85e02a9eb2f19b8098e6f43736a0d135c", - "0x2316e9a84c162306930448fa19736842a6c69dd00fd3e319d6ddc570d581b2e3", - "0x2160a438452a6bd7e532f28250879d3bce45b4634763f12a395df4f55207f9cb", - "0x0a31f4e513f279982d993fdec77f433b34347b5c6a11f6e7ccf83f0b9d751e0c", - "0x15ef308ab7e60e25fbe2fb8f79799c31020542b91dc8d480e09fc6548233dbad", - "0x21a4c2cb076d86851a344dcb8e036f5a084917913822568662032fbe1bc16ae9", - "0x2fe1c2318d13f5cc397009154725a8c75a20bc75bd9061fcf3153fb1aa5a79bb", - "0x0b59ce9880e8593432069ae1e3d31bb00be7b66811a7e3ae33e3e688b975341c", - "0x2936b148fe551bae675b080da33fafe38812cdd88cb89cc63312227b91f368f2", - "0x2390b29b775fe549e2c4009fda8741053da03b76b11d45325c582a649deeb9a1", - "0x2a511c7e70f65a7d3a3a834b766c238616001849843f6fe03969a5f62e899e36", - "0x091bc56e5c1544c87bf5adf6db012cbf5b96fb7abe0f3b610d575384013d9ade", - "0x07e547382792c21b75238fcc0db776a8093821ff976271dc0a35e89f37a1534e", - "0x13d32508efc3024c6b9fb7d8dc19465dbb20bafe21172687267b170f55f344a1", - "0x003bf1505666da1a536300f89b0cae769a0698eed922b24a72ad87324eef1927", - "0x0af187cfad86ffe93627bcc3e4463427fb292450a3cd4205b2984829efa54423", - "0x1ef2f2e646df970da1cc3797f86ac58db949caf8944ca7ea14ffd0eaf3f58c6a", - "0x0a500c45de13d48bc7746ffa17ba17c0b5638f92b5d16758280d32c0f72800d0", - "0x227673a5f6a28f091e0471674bd0d11de98df4d310a25e2c63ac8def94428460", - "0x0abeb7812ec9483f2c4e65146aedeb80044b799ea04d5d65dee0817836bfeb85", - "0x27bd9defa233acff2900f0b1e9bdd5069197c5a01d1cbba5f5f577545a33c76f", - "0x2fa06e7e0d6dffe400226c8250ef42cdafe14839208317e435705fc7a0b8ef10", - "0x09785400c397130b0a73e6c097a4e53906919737c1db162d9c92e4111d63b789", - "0x220a13328561d1a2b0636a362403067f06186c5ed225eb72a2ecfd25ecb01716", - "0x23afacfbae13583c0e781fc81851b4ba6925edd717c3f231469488f66ba88741", - "0x2e813a8551e3ef49316a1fda098f0cd55b392a8803cec33d628705e8de0ac70d", - "0x22008cd1616f3850259d1edefdc4533058728a645d3245b34707c69b2249cdb7", - "0x2c469b43b9eb082ebe1b0c3423ba163ca16be7a40595ce0055a1426ac2c9e77a", - "0x1d8a5e9ee63c37b50c688b871a58c1b8a1b5f274c9639f654420c5de43b20372", - "0x096ace496a590074de9a427c1d524c1fa959011f5fb95d19ef75fc59ee8dc0ac", - "0x2c13fa66f82c3c3e123fce3f9620f8033b4f8ced63148c4da06afeddda529284", - "0x1b19278015154471774e024430e833f2851580fb54f00dc93065ff5fdd331534", - "0x237348d83a6979c85fee8e7ffb9c9105bb6f2599faffbe5de284dc93c7c35b62", - "0x155728e9308303f85fbfbd70a97e6ea04686b92c99b2ee074b5a04b4f4551d78", - "0x1ae3165c1aef1ccfcb31ef7215f931ca87a6344f3072f3444d996d88e8bd7e4d", - "0x266caea357ee93bd0de200a98261f2e3f8f0728a07d6210255da38827c3d864c", - "0x00fa5a30a8b4783ab04c6bd9546040a3c87d9d0ab890c47c5f92e916be6fd180", - "0x0c092cfb6d7a0d446259dc8f0d53681952a296c927169fc68bd030ddbde616b6", - "0x25266d8ff4095cd9fade5b7bbc53dc21b1cde9daeedfd5bfb837f4ac231c538e", - "0x05057c2c781f1642f9035ccf5a34a0bdafdbd0512f39b18260281fc365ce2ed5", - "0x1cd88537ff9bdaf3da8b65e2b95b46f4b41f2a8893d9e2a570dab711a3db6005", - "0x00698420963b6ad18efa2406861f8f984a6bde377f1eb02903bc7b517b6ae7b7", - "0x1ed896a9821ed9c01798104e996a6d6320b3002b1a21f696b45f093d2117b73e", - "0x3029f904b54cdfe523b57c24b9364c650bd9d4273fac98e1861a0af8a60080b3", - "0x14a06051c9d777a422e114a7d62858bbadd037d949bfb79ff2f065f97ca486b0", - "0x072a8e0b169d37ad4be9bb0289c72c935fef40f61c8692f9b00b290cb2bb2dcb", - "0x1a4b7a6eef517f61905a4b5f6603aa81c9892ec23faa57a118379839543f51d9", - "0x22551d1bd555bd16ddc2cbb3b0e02db7d0e190afd6593c8dd855ac46785f2b32", - "0x068748dc6832f05b01a15ddf8e265cec717bc0c3689fe918079d542bdc03f16a", - "0x129f8e260a3536d7c7d9223f76cf0aa02e299da652b823c0ae89b3066a53fc93", - "0x2f4ca78512b512e68e1217cb412883049cfe5cb5f20fb3a69c5899d788ce5ca7", - "0x20d58bd9d6cb4d83591d2424de14e27841a50a56feae46da5b14eebdcb099461", - "0x2f17dca707f0427ba159b4e013511c5db6fab84bfddb7ac77e779f32a3828e17", - "0x1f0785daa435c2ba699156fb4df4827b689494613bd0d2e32f372995d46098ed", - "0x2c1deb458c35003ee3af27d89b16f1c4bd5e66f920cd9162e5edca1ae514326f", - "0x027403909cd49227401a093e021d336b9648509388a2967039dd3cd66b1ac1e0", - "0x0b2e077c21bc65364fa17560e772fb4610d5d749c6284150d8dc2676ab55d2e7", - "0x2a84a8730bbf0abbab8e0f009f4410f0e95240394754312909445524bf4c3c29", - "0x04b82a0e9a0c591427f0ad5467f0b0d0d41ba09ad8558989ed1df2a731bc33f3", - "0x264e3bca32142c41a371cac21102cbc1fb33093e5d0ee253358e33f85807098e", - "0x0b5c80c68679beca82a8fade5b1963edf45a8aa78db5b4d07f008c68403b82c0", - "0x05b8e40281deb55adf902c42b7fddc3648d4debbcfc16c731203dbf7d59968eb", - "0x1afcdaa7e264926fcc1391fff49ec4278885a4662062a02bf02c8e51de33691d", - "0x130afe2fb6962c0091bbb0dca4bbf1d2d87e8cb6147728abee4d6cb6ecde2317", - "0x0018b5193bade215c94849dcb168b2a17ca36318ee9afac923325afe40c22ae2", - "0x2a6a1d90fa35a08cc9f1bab49686418c739bbffa7523c58710fcd390ff540f8a", - "0x05cd0374f1c9020a9c370df4b18793c1c08a6312031073874e29e7b2f71e0711", - "0x14d3d9dc9d528f70f7f4b2700795f578cd504de2d62c90e1c253b8e9feb747a6", - "0x248aef4514a663d535281edcb12dde57304cfe40ad7294ba88d68a4df5fffe8e", - "0x1928c2e7f5d45a1b3d88e4b549fc4582d4af296ae06b7c5894b7ad0a35a11e35", - "0x060c9cfa59344807b3d21f6f8f4f45eed96acab953fadab0ef9e8508827b5167", - "0x06089188a0635f9d768fe1bf516ae126a14d7e17578e61bbdfa510c634ccc3bd", - "0x20fae0ba737fa731d5a714f7f07d1d44d1706a0b18da690f9dfde01b1c5cbcf9", - "0x077149a6e96c4928a12e37555a60247043ec8ba0c60163c8bec1199682b92403", - "0x17c0c707cd2b3464a985c9fe0aa4fcda5b784ecad3a55dd4b9994348346aca9c", - "0x2508c519eec252da9178306fdbab50abb7bab28244ede63de580d63aa93e1f7f", - "0x079c7e706bb45419fa5e4024ee156c1f9a94ef99b7387b81ef45f15a8068d54c", - "0x037b73afc43f5018351cbcdf8b2ef7df56d32ad290fec7eee80199a66e41273f", - "0x23ffde7799c79a36237dee529c8bf8cbd2e0c784aad7ea8268f6cca778cc60df", - "0x2bc83a0e1298dceea40a6deec911541bad15370916b432cc703f4668237f810a", - "0x2173ff191d14d3803797b0c63d03ec680b5a7b3f1c046ef5a957ff831f966176", - "0x07cf94321016f1779419122ca9def6b0dfb0c6bac44ed0d8e657817e33d80982", - "0x0c8b90cfc205cf36cc29bde97f5737b9ba89cf40baa4b4d122dcb539622e80b5", - "0x0b5c9860c4a6be717d9a3ebb7b9d161741ca972a449770ee9a71ae344490d3ab", - "0x238614ea46912412432cd3a568f99fc7fd00d2718fb6bcaa727b671a6eabcb6d", - "0x2f80d0be1b31f0e882ace3101681793bb587717457faa8c840016e1de8b3f2a7", - "0x0daea3bc1df0257b8e84ed6c76355f3888215e71cd35376852564196db9708ac", - "0x1a2d45757c4e02fd8c7dcacc1bc21a8f7144b685bfbe280918a9b0070fe349f5", - "0x2577f053a634505af6760afbd308fdd14cdb490f7dab5a9cfb8169f0cbabdd72", - "0x11512dbe1af41a324ce8216d7feeca9a0be795e7fd82d392ce71be4530dc4d8f", - "0x085161c8dfdf8a4e1bc94db587dd8c08f3aeb0c8418ada4b00367f187967b660", - "0x0daf357ac3facac5a716c3869eea05b853ee6ef50c946b06cc8d43e1ceb6d4b6", - "0x1ebe46360a50e28726c8ae5f91236ca5904b229f193dfb39f4644631ce4ed089", - "0x2e72cedc207cc245e6749d66012dcc901a1c7dc279f9797bfafa84e8c78d87f6", - "0x163eb4b095b4fd55e8a5d78ee22d272a9e27d0312ffe6075906184789d3648e6", - "0x2e94913c0526008aa94e3f2dc5fc107981edfb64f4fcb0c20d1417d03df33c8e", - "0x25a4aa24111ba184d3bf4b7e1ff881548e438f25c324dcc951a1ea465d803256", - "0x09b5b88a827d44cd55ccc94a597ef3375f7768f332156ef9eb6aff21cf24626d", - "0x2dbc6ff16470f828c1e4a45605a22b2baf1d67b65e1d311956baaa94c5f5b99d", - "0x0f266c9d87e564bf5161688234d07309ebbbaeba3897bee49c1c41b45560a1b2", - "0x08b98a6ae15dc5df78c6a3a7aef74287d6a6a614daa81e3ba8c9b56c0f198661", - "0x23372d15f363a5043664e6b63bfe303f7093f69d5f41ad7d0d304ce22dcb889a", - "0x1daabf4b81c08ec251687d0e048c662c8e9ca05bcdb46cce6d3945fece66523e", - "0x18d964a0e422a9c1ed8f3f9b496ecbc1e32675ac3779ceb7c6da6f42bef48f5b", - "0x1a29050236c473a6aaeebe6e3de5494929f6b3c466872cd3a6d1c252d1d1982f", - "0x0e602b5f494932af7d77f22638b1bdd7f34c47bd2c8b59d46f16af49dd80213e", - "0x24110f7c30f36a1f3aa6d3549e588d5eebd1252e1a28c6835d8b0939907ba367", - "0x23264fc3c0b3159955cae9c0bcfdd6d407f4f594bab78311cfd535a095b01af1", - "0x1297cbf8d867942f2e738ad49a31246978292ea3870aa31693f81ce996058a2a", - "0x1cb75fa8e42f12a8a06268ff3d48bb922e50bcfde16622b66cbe87438b3291d6", - "0x1c4a9ab179a336e4b5ffd526c36e15d1f0e6f6850e2d28cfafcf6e17f964fa58", - "0x1ce5c6f99a50f24f41d80dd3a8a6397090d128516291af4728368f7aa8b5fd11", - "0x1632a0159f7351fd8eff0a7c04496ba1ad207c8ae607dd30b9b4e86d37ad0e65", - "0x18723b56be6260b9196c9653f01a0ca710859d8ef1441fab6eb2d21490f6fd65", - "0x295c59dd221f7d6c0c232635867da7581241c1b544170a1c2f33814b94b040b8", - "0x035f267d165a0377910fb4dfdfbde1dcc35f549c1cfe2ce11dc9b73828cafe64", - "0x1495ecdc7c6682e9e39ff68f0d7dac20135c3515a0dc460ff8bb734e60e484f0", - "0x1024e8aa78f2976823d114fc74920766b90f515f12a8d78770cd4957ef7ed42a", - "0x1ac66c9b3c908e946a8a72b87d39fc6a3f83d7fbfa3734b5dd27ad07ce23ec87", - "0x25722f96c367f113168f93cab74911d464a8acbc7cae1a98590c40452f217d08", - "0x301900dedd8d9ab329958458e07038972e57990278e23d45787dd3b681500690", - "0x068c33c670060d912c92fd0a36df0430e858c6f565bb72cea334e16519485199", - "0x2abcc1d8e79fd235813a09d56b2b6c5a65fc3702b8ab9247a73394b6edebad88", - "0x1d1c7d213a66470ef93ee4adaa5d98697161a250be2154143bec2ae9b6cb7bc1", - "0x2f7d5ceab4c0793d403af064fd635383e38a69f81a3a22bd7630b4764260ec1d", - "0x15c5d8657bbbe03623713514fb2143b0fdb74bad209e37294a89a5fbd2f54257", - "0x26caab41b307fdf322bd878eec0d1f5e4ad73076675f36399303739c802079b2", - "0x1b01ecd10c831a9ae9b5102bc8f52e2d159cb62a5c75e41fa4074107daf13126", - "0x085f7a591a64d1e705cc121a25fdd51bfab03301eda873e90b2d71e8af855cf4", - "0x16905949c8eaa82e3f6bb4d518bb8082c56edda94f9aa495cbb476b544c07244", - "0x2fcdbd43aab00eae16d2ce3c400d33a9b0042aba9205325c18ed7ef808310f1a", - "0x0824b2b6f2d920ca8bfc0bf59a6cc76ef8a6265b14beb1c836b8cf9f27d417ff", - "0x0d46da44fdfb9aa228ea1c02714268e00d534724b6db4c49aa12b80a44056c70", - "0x0a21b7b6457af08165328793f29ab6fb060df9f02a38607ca4ee786cadb44c20", - "0x14a2928de66155cfaa274ae325d2f4a3d41385b81521ee2758e6d81053c1e1be", - "0x067a7f04d128cb1db2276c8b173bdea14eeaa451e61c32ccb5557e3d198a97aa", - "0x0535043293080d0f37b73edf1ee51326722da8adad269eda84a324eaade6f6e1", - "0x0ddfe336d806044cf01c8307e979e1e9a103c06d44758fd4f4f4c7da2de38183", - "0x1e3f77b27d934b61d0030dc04cd68050106c699281d591b2ca5fe64d19312c9d", - "0x1a0f98165afed88b44b7eac15590a84f6b68ad2a21a6863be2255d89566ab2f5", - "0x232cd3e5801dc1473d5772c03a6e1a2ab3444bbd1cc85f22ed050845a89a410e", - "0x29e4b6e3bb7654203cb5d488ed74fca76bd53e5f4b54754b0a213609c705ef04", - "0x22e0a255f853ffaf41423d9298702c702ffd7cfc0ebcf986a59a236a89d6f6ee", - "0x0a2c58e1638d4679ccece49411025240ddc4fed6b807045ce878c912ee969eb6", - "0x0747e1bbc6d1fffba3f2a0b5288a160b3a6621c0a70ed2d10fe2e858368b462a", - "0x262c74363417905a766afa187fb19baf97e0059b01f7aca4d9a23159969d15be", - "0x0592053e3660dc901e22e99de23f5d715d29272917deb519a1ef2a71ed9db8a4", - "0x1e0a84726ad1775bc7daaf4e0d761bc0cefe8f2441e975f832070a4bc5e5fb76", - "0x209f091c9e954be95688fdfd70dcbe279e27f98f640d87fd538d32d1a65e7223", - "0x24f94e6d940698d04f72328b0dbfc30bd53d3ddac9ef986f3b45cb147533b011", - "0x22fbfb71e4f096861ff8ef561c633f6e0f7988b707df97532f60c0979eb17b7c", - "0x049d9a98f4103eb44fd7615ffbf3e09cba1ec72ae6ff62a3e9a8295e8100a026", - "0x1405fd04c7e179e32ac530f5aa92312ee9b65b5d9a984a1a52770ac9f39875a3", - "0x220902163558cdad1947e60baffb3244c57e9af88d4e8d84526ae4b63ff1aefd", - "0x25af4ad297c8ade81fe854c1ec960ca2b1cf0854d11b20f53e96d27679588f3b", - "0x303cee78dfa03fd8f400ae4c42d2f13d7c5e476b41238f5e0e91db9b9c69d71e", - "0x0f92c541bf8cca0f238b5d59fe6245a71469f75d8deda46da51774f01bd274d9", - "0x0d6a94d9f9faaebb0b1b01805362a66955f5da786474e4f42426dc9c82b25d7e", - "0x1d8f04e2c06653f0ef8e0323850eea031e0dfc096ab79dd2ab8c9ea63823988d", - "0x1a8a39d1b20839c456e2b229def5a6079faddf4750d12d3d6f80b275b601fb31", - "0x213e3f5d7b6a5984e112c5bb3c8dc3654bd1379df926be133f4affdcf414ea62", - "0x20f6cdf1563ad356ef385748dec22c87597fddea88136c5c03d891416b943525", - "0x2bc61c9730d5166a2d5a979441a2bca5184efb9fea2ddd5813cc561543ff9879", - "0x26be4d3446240cd2da7109db6b9d1e5f51bd8e43b80d953470dc466b2ffe6843", - "0x074025a83ccbd0daf6819293d8cd8d2a6c1df265ef5cc4d5e227be70e3375214", - "0x283fea29268e5c99ad89d163a33c226d61ad2f91db195f69cc1e4a4e2cab0299", - "0x163a3a239ea9ade3d4b2d614d72e5665438664ac7d8203a762d3074904aea96b", - "0x0df3a73108f6553947a920d2f5a58008db96d562d70b598acc6de0772f8edc53", - "0x1e496bc97c0de923dafc81d0a67ebf667f005303a134d5ab3f65276aafae789f", - "0x2cddc03b93720bf9ed2c9a1a4bc08198c8bb3a113563236bcc3baa97ee1b9584", - "0x06872a732ea9e975bac9fee09a09a0dcf1d8776c089ed3221e868d8611ff1253", - "0x2ac549996ee89faf39ac1aff23cb49fbcba1e96b5f4cb256db26f0e0cc5fd0f4", - "0x01a58e17599a8fda793c85e3f9bce8875914318c249e6e7dcca478c850a7fcb1", - "0x0a8bd4eed6492254e7c031a0ca7b62c1582807d06973e012436929811698fccd", - "0x10819a62d07f6dc56ea2c343acf32d63b20fb9f6a71a3164301c1a7136cd1e1c", - "0x09e33c2adc092ae4b3d117eec10d371572f404f203c62759fa938d6276c94b7d", - "0x2fc88d1a3d4fed163ba70fe3dd4c833e2f58dc1abc1b54ebd69aa7263b1f56d7", - "0x2284012829e036ae902feec472c05c5d2a3a1910dfcecc97b9356d632bb9eeb2", - "0x23130c674787968e9dbba0e2a6aabd0d895a7bcd022b220f3433bc054b68b2ec", - "0x09010785188f5725c8f3b03e0cd5fbe6cdfd404cb8481a5d0359b89a0b6bdde3", - "0x252c56d876f71e4532154cbbedad99482e4b334a169b949a31508e6860070f64", - "0x065ac0b62d6d578aa5dcac2a5cd76b7ddf13c21ff1ce971591e18307328c2bc5", - "0x0b6640dd185b3851d969758cb3ac3cfb1cc2813820e102f526b4a8516f0edfdd", - "0x120b48d6d20e704b8b52de4830974562f117dab7304fff92f0163c5d0cf02bb7", - "0x10fb39fa4655bafbd80c87d2f5f9087b8f46329973850bef2e404964bc49c47b", - "0x2621bbd67c541b026473ab2c89f908d0349e82ba1f41e9687cbe3245e5c39725", - "0x1196c8eb5cfdeeb2ca014c8867a8f912633ba9a322a25e453467ac00043a9464", - "0x2988ebd67ab4c93031fdf0fab2d50da1c97a9528fd4999eb9600c2ffa087a8e4", - "0x1eef3b179f4cbddeebf3cd8e8048047cdf7abc91f419c7828c84da33b86569c0", - "0x1e4f920fe9ec6022ceb5bb655de07cdcb84ed12680a3214094ac5ea8e3bce48b", - "0x0ab83462f68cc1a2e4e3fb09d4b2c47251e77ba6af61b20873aac717944c412c", - "0x0fbd61f9a6c173d08f48b2bfd9bcd5b08b615d2a212102f67143e931674bd2d9", - "0x16f22206cf904a012f12d639ed4ef76d8cd8cfbf7e2378c0bb7fec290e151fc2", - "0x242b213160a82527d37e6c71a1bcdee37d838850602b1c08b310b46a2d393417", - "0x098c5f95a83086131aac1a07e51ead4dac1a9a039a4ff7345c992ac70d893329", - "0x1b1d166edeca11cf8f2c4ece2bceacbf2f22e217e77c83a299e8755155a9ed81", - "0x0eb45b3e4cb32c97d901ba40ef1f794c15f6a3c4448d1ad7efb42b16a8cd2ad0", - "0x0300c40c09869501969fe07913add6da102fcfed3ef2d2f727fc5282c4f856e6", - "0x1cf3b982cda4c60d2d41b3fc440093e95353f81246515936358877b3715681fa", - "0x170d0b24d2a2e0301dccf1c0eab65060b898ac810e31697add066f5228ec1076", - "0x148c9ab8bfdc5152e06e4087d44f1241dc87244d146087d2e36b48ec7e064317", - "0x2f954f2f21ad14887f1ffa28b751017c9fff08f18a179ef677c801061a815a1a", - "0x30370f5b978fe12933ef174e8815497e8d55cd4f9bac51bf70dc1cf8c8db9eb0", - "0x1c0d5adea2595ff74aa51dbac742874fd62ee6b299f1e333587d0d2f98282a95", - "0x22ec4614d98035ab9a55f7837fa7e498ba52a517fcf6bd867221c23317e31ab0", - "0x2feb4b4413399e1a5044502ca850172d8bec65c83264c6b1aad17e42155dcd5a", - "0x2c3d9054de04cd270a1795f52ad96148dfdb2280b1ed1b8d324fffdd1b978c85", - "0x2156117be447b5c4ef7d2ffc74bf11660f0a98fef6365c56a8d91cd6cf31dce4", - "0x22009adf5d5c14c8db5f7a0610f711a79ed55065bf6f3beae27858facf161092", - "0x07fb34198d07054cb124967b86df3c1b4161e38d0bf6c3b61572a94ec2ac621f", - "0x26faa6574a2f305ff1d53b2bc3f4a90082599212fdec8af2916532eba27d23b2", - "0x25249eb91d0d7f85cc5b972afebad6bab2d5f09db77b02807cbddaa071421665", - "0x178a0f46be701596b0f9709c295ccd660b50f78b3885e9ae7677d79df3532b61", - "0x1b8053901ebef7a5140131df6f3dee2aee5fbf738e4f1fbfa1dae74c193ee732", - "0x2ce11a2273bda4cd471557c6d15da706b8d742773f49426ba17d7596a0c4de31", - "0x0b8b4883e55d7a10ccc009a5e4479bd5fc44fc746db807efd4e02b2b8f1693fd", - "0x15374f30142a9e71c141cc415afd8e0a70fcc038b33938130f88de503710a225", - "0x237c6f2073e1f2c3838a55ce65db811bf1fd2a0dc3847138dac2caf3ff86595a", - "0x0eb641c35b13d1fab0c5f253cf7cbd824a5e7d667e826391a39de0b7d24b80f7", - "0x2894fc946fcf7a9264110c3cb259745e03de35e0ba9278817b66e35bafff6aab", - "0x0c3ba7416475828a3afcbda0a4772052f54b45dc927eb67b929794e9cb9cdb1f", - "0x0c81ef15a3cc60a3fb37a157017df6e20686b5bef836251894ad37e36995a666", - "0x20c12a92a10d403585bca551f8f9d4a4a7c86074ccf44130e6b32e5669c157f9", - "0x284b756a1a5c97895023f9859a5d9d044e089f4895aefb67f3d6f0e7bd0f9ee3", - "0x2d30e1ec941c847437b051f5012f9c06f085c703144b75e3af64e28d81be8b3d", - "0x12cffb5765c14eb1c443bc56c713e153250f009202eff22fa0595dbc7eb4f6bd", - "0x1bca61b69799dba23a11cb8770770a50a87597e4791e72a08c853e27b3136359", - "0x0844892e695fa4e1cfc398ebb4bee7e852105dc439acaa9d3b28b48a986d9df7", - "0x20d2905c1b23260b2e972a471c26310fe2147e593b683fac8df4d41c7517a977", - "0x0beb247c0274692a0ea39fc8f502d8dde63172cbd55e00ab6f77d9005cb96c19", - "0x045fbf032da17ba2fdf28cc8658d5f11e4c8f470a7650eb8f08205732234cf08", - "0x0af592df6ce3b6d47842e0476c4a64ef8d091663da34d9667917184cd3f3c0f8", - "0x24db48d56b7aa0aac85ce75c70d249b91c0518ee92db848987c8ceb2f853a155", - "0x1620635e4f824545b84658087e928ced541dea87fc402484be0dd9e92d6f8be6", - "0x0f4b7e08ebeecb3b85a5534b6418ac90659138fe7c62bd722c99f9f768c0ff36", - "0x0154834e88b2ad398b22639e720ac381b44ca7c8c5cea6680bd992a67aa65416", - "0x1166caedb75b280bdfd57fc4a88bdca35919c49cb09e0599c277449b5317f8d6", - "0x1c690e1c667a13064ef70369ad808b30d119ea3dbf22ae7530bf4dcdae384db9", - "0x0dbddfc10a833710ba2e50f6caf605745b339d07c8382beb2e350670f845c485", - "0x1100cc2a78c4299b06a49ef7bf9dc4f112e46aacebdaaa6a3148319416ed6807", - "0x07cca6d9bdccac52a489b91bf875da3dce74909e8e47e5ccabf582a14d2cc75e", - "0x0454ee3fe1fdc343716fd5e7aa82d3eb6fbbf0092e2262d39e3625d698c8d168", - "0x2e40b2af26df8700ff27bb0db4ae7fe190197df0df650335a6bc6ffd2eb2ee45", - "0x04917fcb6a82cd163126b1609f3e0bdf0e9002f31748f1856a0dc1db1213f163", - "0x299a7377d07bb8b19065b1a70d1e6de15d9d9899c334728f99814560eecf97fb", - "0x0db252aeef4831eaa98780431322a2dde4e5abb0f0ce1a3da2a47275c0f0d1f9", - "0x1956f6c3d85e5e6b0f64677d959931298e109ab8ace1e73812911797d4b3e44a", - "0x041bad81e7d11a903c1f4214c75eaf37f738cd1e65bfc504062659890b87fdb1", - "0x0b0be8cbfd03f211611c22e7c198c96eb7993502e43cb9b6b6d175934cb1f72c", - "0x2d7533fb189a1c9a087a64629bff814226bd14731095504a5351be10e5990d5c", - "0x201d57827f47f8048fcbdf271e3dc23458e4099207133dfa031f3fc01c4c8832", - "0x045937fdb75ea736bb9fd08cbca21646ef1e661bb9dce10724d0cd89b22bafd4", - "0x11528c5b3806c694737c71a5f931db993bd5813f0673ac31b1cb3f36f9f4840c", - "0x0998b92b7919d514b529166bce4b951644012763801eabeaf8b73fa1b0253f5c", - "0x21b56b6d80b0dda35d0fd9b67273928662d504def9b12b6b6e855199bcfc9d3e", - "0x05c402ed3e8c44689a1109073218e74215a2a544876c7a02554a728a64ade882", - "0x14411dd6f85d8fa92ae4b2febc1508667927b7476b89afb90b00812fc0623cce", - "0x2dec51a5c338deca03b80ae377a51c1fb3c7f7ac6ebf2ff5070f77936a18b688", - "0x21642c8d9a7993eccb2a19e7860851644d886bdceff667614b66b658e2e978fc", - "0x297d9cf5471d782dbe0f709e8d04ee3877485761121297388746140ca1a4f72b", - "0x1f8bf8bfa056ee2b219bc6bb9f918db62b07cc1da09ec09e07894bc43bb428ee", - "0x26cc5a8578c072f0e7bc0bbd137d859dae72b3d5e406483a6dcc40447f24b7e0", - "0x15b026f27f9cd72dae93f8f8f934dbbd84053a83518efcf3e85fc0f5661a7db0", - "0x2e47baf0391b5a0d22c053d16cacf59775d03aec1f2dbe92578b551011c87dde", - "0x0d381c04758b410dde734db5db0f2fb35d142700739444a38284770c43ddf931", - "0x06e19c4d4cac360dd0d18709842de00d516aa0c017533e268facf47edb64962c", - "0x22e8a9b6196b6a438fd5d80cf280c5f6601d04d01d9751f6c9c9599ec1cc1dfd", - "0x2bb7103defee3097da24ce80b1cc74536e500a277bec2d809f07f12195c83b3a", - "0x28245d9d0600a6385b65494d738c3aa579d8da7c289a993e4c45c17491ce3693", - "0x045a85aea95592ae3f9d666366a42b21cd2b7af3064be9981868815b46594a4b", - "0x1e6c750498f9f906b30be3583533d3ca88e4ad393d9de81f256cfd088b0806f3", - "0x073142e934306e4726ed62a0f4cdbe4362ad33086959494d9f47d70af34618d2", - "0x1f17ad6f9cffe8fdf2297514a0a1900e409e56604f3ff36be7d5141980006202", - "0x12b617b988df020b4a273b062a57d214f8dec653111ebab051f9dac533c6ae05", - "0x25c7fd4f861df765dfb9e0c25bcdcdc9be01996ef046373de4412307df7c66f0", - "0x15ef3b44eadb24389615cfa985ca442743be1857f38ff3475731d67180d13e73", - "0x001f472f6bcac144528903b6dfedbf214932a6003b07001938f9677388fd6693", - "0x10322f4b33b0631430d8c0a082cc941ecaaf6b64f8d5962736bddb6e035f8599", - "0x022c3149ca682f2ef98003d8fd91e18535bb2a8fb03280f47182868670bca3e3", - "0x1a120b707b9b29487a66d1589cc5afba801db92e2b5a86afb3771d1ab05ca088", - "0x071c035eb77821d6f231628a312d13af3d32c99a08434b32411aa045cd86fcd7", - "0x077965dfe1734c6d63d455e18a662baa3c29f286103b7fd6b9d42f1394e37fcc", - "0x10f4ba4b8c91d1747598ec484f5e8d5e34d6f30e5abe42772565081cdee859a0", - "0x0a61f1abec369c8657cdef49c1dbdfd56734a59a0c5fdb358074af7e5d4eb9cd", - "0x2a5824773609627031fdf8697388bd168118295e25b0adcdaa0126c4f0b25dec", - "0x106003844a018bdec7c40a4d28d592452f63a54efe5901648be6779e8e18ea4f", - "0x1976733724b3ab7b906616397c4ca3e04b7292f36330f436b7b3e8c9f6666c38", - "0x132e0eca8df0f4a99cc11ae93cc50970baa3b6bca60f1df6a16230e25b6d9f62", - "0x1a4a3f834bcf2dae3a961942423fd1cad9a9879da70e5ac87d431e8656de1244", - "0x1b022b11099c53e6afbaa5dfa3821a1bfd2315d1fa543067a8174067bb44cb5f", - "0x22370ba3361b0ded540e802edaec32eee61277b931404bc629f78c2ac4a10284", - "0x0e456e78de8f507fcd8fcb147400401863c9aece8a04eaeb2405d83a684a9891", - "0x1410be1eae67ae8f39f75840045c39a699080e72566731d2e0f260b85d9b56cd", - "0x1848358171f30ac01e32c1d3f8c8a86e168d5d5aba948fe8ad37befda9ff2bfa", - "0x10e85e13a1e93a2fb6d58f5f9513bdf95e7553c3621c756b9b1a38590bcf3115", - "0x08bf16c4cb892fbd736c8ff570c7ea12088985014aa6c690dc4ad841d3d40bc8", - "0x14894e523f52299e6d7b079137890bb91017a91e923c08cd097eb7a98dbea654", - "0x1e40f9b891f10e7097907bf8275cb5175d8b0fd837c45aa015473a588f4614a7", - "0x0da55d5897ac7c1378fe78fa720457adef1698b89fa79fa4fd5a72464c22d547", - "0x0517d5458a56a4d3199b433bb717443eec721d13719493f26ae467f26c69e720", - "0x11a51cade1fba5a92a3c3ec09de7063ca1e1253602879fada908e5e9044360e9", - "0x2a957e90ec6e747aa016c3ac4fafa7f6b820681ed8c5ab6856d3b97b91cfad1d", - "0x18ea0301396a1ccef6702ce59021d6bb6f67e49246331a6f456e111452d71b55", - "0x245f3dd312624a0fa37e585c45a844ab24f3280d670688ab01098ac5e28aeccf", - "0x2b7b49782b03b09ef0aef1c3a50bfcf6f5358394037ba8cfac0f93e9deabe041", - "0x09a292f1ff70676b1d27ce4b03327633c1356c214f2b41cb8b9cb46f05113642", - "0x09f54d02dbc2e1c5a6eb64b7b961797945c2cbef30c63f3796993de06f6933e2", - "0x240a48250d4c641d8aed6f74934d2bba1d432c4960cdaa1654f16899d089fefb", - "0x27b3764bf361cbdb77727b71378ddb54095bcdccab4a646384da4bff653a75ff", - "0x08cc01488487c230fc34a3180214286da859217cf8dabd751b80ade1d2adb739", - "0x18d1e1e9c399609d72bc36eebe091775ede959d072e458e14b0507feef991155", - "0x1f4cf8665444fdf0ab73a35494dbf326278e9d631efd2848ff7b2963c910d993", - "0x0781eb8c785a0e0e2aa8d9a8dbd9841dd5690898275bde3882e036bafa56a865", - "0x0f45ed197c7b735cda918372c632a2bfde73ed3990c2e5ac5aca27eb2a72f8f2", - "0x0d565d077d9ea7c98b129a10b41566ec5396bca5adb9c9603d03fef53c9e84a2", - "0x2fe271509c44163e96b93b35134abb23f9bb0595d3c23a47c0efc07803fa830d", - "0x02cd34461d53c5a723f6003a0d8c56a0edf4f117c78e12dcb61d34263f74ee60", - "0x024971bf88c10136c26f68d4bae00d75792a9a22b650eb7e29e88b4a95f482bf", - "0x0c26990b9a608d139a7fc4d0a2b0d8de91fde7dc0a03529a6bce5240e2872f99", - "0x2a40939a46a14ac3e04b2bb265b568df442f5024967355b582663ed549b817dd", - "0x2b78a798715f6c4da4422e9d293eb604421e5a5840f6a8214e531d8618dbbddb", - "0x0779eef5cb2fc16c53d51ddbf471c0ab07501bcef58ddd53b982204e4745dc6d", - "0x2acf1fd3d59f877c96300d2ac6de06bbf78639cd24e7432b861ee8e991641567", - "0x185acf1b00608a14f199b6baa1df5173365bb3d3a8843691a9699a82872ea8fd", - "0x090bf99ea4b2261284a02d96e132e25c02c92e09f8f19538c93faea8767cb583", - "0x21ce8d0fbd69c5ac2b6cb78f68d83f023b061de209cb7bc0df0aa2bf459917e2", - "0x122e88d0446b431f57a79fdb8235b402051ad384ec1057992ec81e9b9f252d04", - "0x0ea8b26ea0561d11d7cca3c00987d69fdb947c7bab10695d02ca9dd1e131e54e", - "0x09bcebbff8f03676ccca2394620bef367aa0745052e7a21780bdc3ee4b916b81", - "0x0c6a5ea0641dd210ed19b206a63ba9502a3f7cc5cc41646b48b707194dafd819", - "0x019376400c51e30d535111f2dc964f5a3172a3b73c806dad8290b9b345bafa8e", - "0x0ce9319018c26a3d44c67fed4627e86f3d6955888ba24fdc48a10b7dfbef4cc0", - "0x0fc5c5c3d3e8a658ea0ea27c3bb93cb06031619b7a1b2363d211aa3726ce0a5f", - "0x26a328fa7426235cbc0a34a3b63cb5c9895da0f83ad1291996c854fabb161ea8", - "0x2cb96e721d703ea580ef001e2844dd2156b2d4f6e3b183e3051f8581b0997104", - "0x2c84c1fa61b47c948d6a06a3e11ce830271fc9186d44091be8516c9c767c5446", - "0x222db825c8b89b8edd414a9b183dabcdad5aef341331c2666eeb43f5a9a58631", - "0x074c3282238e335311c4b537af7850ca2cadba876b7caa5a1e290673f951e0c6", - "0x0e67fc74d7379e4669f6e00e127d7b56979d74f57c81139cafa0aad8bd33830c", - "0x0749a1661bf5ba4ba0646e06a4cbf01677369ec1bee9c8163d90a6ef8b35ba08", - "0x177a870e1779a42634f7484ad9a531af052d7438942a11bf5665aafdd670a1cf", - "0x27604010008c62d5babaf43d081c912082542d90c3668e299c71ef1091ce6198", - "0x0bd73108c6f27319f699b52d5f288edbf1b58cd514f2b0477a00c09f5fb90bd9", - "0x09d369c879b1c38ef34e5529d5bfd8b8d95d9b89a34f8ee3e228ec0094137a3f", - "0x07bbb3928d87358cc0c99331a11b9a4a3f7e7969fb49864d1499bbbf76faae51", - "0x2de9abc055b43c327292a739ad5d5ed8c7b6c13cbf7c7d757864896770449376", - "0x290edfa844b6dd8a772a5b5be589d989b3062b525bfb6e6e0dc3305fe4f432f8", - "0x10cafbcec19c666764af81873f5af2fee5efe09bcc1bb74399e6685e5db5254a", - "0x25d100a72dadef79c6e2b54aa760b0ef1689209be0bc76da4738529ee13a72a5", - "0x1d3a4e6a3e51fcc165a9b091ec416ee39848f8b0572b73c2f5ff031e18bf9627", - "0x10f49cc6fa11faf93e0539473306b3fc2fb1434631e7acb43c5287621e4611f2", - "0x06233aaf7a7db851673ce399d8fe573a387fd06df47f474d88ccdfa2bb30fb39", - "0x24a8006efbed096344804e2a53cfdd36c83986efc1d2b453a881fc6e8cb0393d", - "0x1defc90002ba7b3ea76f3af621165318e17a86e60045374e585a697275800465", - "0x215f9932664eb6fd934fce6b17370f88bc813171abf01ff6ee2c8bf6ab0fbf77", - "0x035a5c3b8e083bfdaef9f3d5151dff308d327319054698699d0926fc2483b753", - "0x198f462e18d192b80ac82d18894d1fe983b39827e27aa6ea4bae677e4ed12e27", - "0x10f760fd79e3fbe4e45d44a972907d262e7305d6258b544f1b5ded844fb19fb5", - "0x0bfc9ee04859d3901b109175bf76c3e0e8874c54e68a9fea17f0213c34105fe7", - "0x09e72e9b59f64e9834b5016233165a06d6cf5e06c4d99b666b759f368be22329", - "0x1fe0cf1d53e60f8966e343a44c5ed8bd06938ed570e88bf42387c2057265c048", - "0x1b2aff2b0d0a257e43ee10ccdf993d8dd8584dba13ebdd8da9aecda32a1ca5f4", - "0x1eb2f6df1d0ea9f558a630927b96535378d7c9d91947705251567e681bcaeac0", - "0x162661bc1f57680368adaadf909389fd8cf45f2cd7c4665ba1814287db0d757e", - "0x2adc1e73916048f5fcd81eb33793a585f167e29022ee2eb437dcd49adf12e09f", - "0x2cabe9febef0394c94a1db08ea7e318c689367a81107fe04ea43f7337e899856", - "0x1d5d95c440fcae65838a0360f76837f0c3710ab274438cda0d6e2ff1e108438f", - "0x298ad75a6a2ba2b95d526d476af5b7d7146327131411b56d5f2916bee90c1f31", - "0x25091a2c5d4c0f01121e2d543cb65ac9042e862def19ccacbabede086dc6a233", - "0x19ba9320fcf4c606d74d3f00f3a8c5cca3775c9cfa2c7458f892f14a9d5ebaa8", - "0x0ead84b09a22c90400596a2f69028c1217bdd716c77cf70e257ed58254edec79", - "0x1949b25ee8daf28f86e10efa60f7d61e76216562b51a5f151dc436ca17a80b67", - "0x1f8f336ead0969bfc0ca103c1e895c39abfd5a1f8182a8941413b392aa264b1c", - "0x292078fbe3e3a73b0645e8547a779d3b4aa3f0070ccafbafb2dce4290aa51c35", - "0x0069a71977489584bb79d39d20c6c28b985692bb17f445aa0b80ae1ec33a485d", - "0x0ff13696da1b6c952a9d4773c57870971c6a31877b34d75eaf3d8a834c56f9a1", - "0x2f29c48c5efa9a84dd519c4813e68fbe4130e306feb147a1a56788fb77ba051a", - "0x2b710e9ddac5d9262fd278748938b8f7e6500089f7850c3be51b1f3d8d34162a", - "0x3053462e263fb9d5d20c12d65f3ec8f14d9567cf45d302e176fce95585535db8", - "0x1c9b2edf1cde25cd63c82d8b1cb05a3b0d96cf698e534f58945bd13697352224", - "0x19698ca77f7f559415d79e0e59c5ff888ae7657ba75f6f2b3b34146d0957ecef", - "0x05393e701e25ed42189b91fb325b60e8f3a93e77739e70286ac8a0d5a0354670", - "0x268e24e2617d001b2e167e37ba14ce9bda7d52f98e4e31271d323499f2f70204", - "0x2bf1e86c365f7b8223d1ef4ed7276468b92b233c7c16e610bad485f02b0436cb", - "0x03258cc6853c7e7e93ef1178ce9ac5541ebe6dbdb1eaf2c54784999ac09c6498", - "0x1d76d3fb39bc2ff62695a9630e5c49f7d53e5a62c3b090987dda23f4ff42e8a4", - "0x2d6d55da26d3235e22902e511597f58451ba8667e2bc62b0775fa2f8d86b3fa0", - "0x1f1650b1a823476e83fcb83ade9356ed3827258a87d034129b2af382ea5f2f5e", - "0x087423c3190caa2311abb3830faf592d0a9437cd5c7fc26fa79767e68f5a57dd", - "0x0e0fdd7aa516258d134d57b105cd5155fb6cc7c42259205355e62cc14b6383ac", - "0x0de3a07ed063708c6509104be3e3876a558b8325d137ecf5c9f95cf0337dcb5c", - "0x1fb7974b7699835c7894c6e545a0900ba91d5a2ac81852ccc1ff7e873f29cb0e", - "0x2dd60a246b3a8f00d5fc8a0591b4d1b382021bacde715ceaecb94c9fe452070b", - "0x145a1e1cfc62819713ea2af43184434cb29a15064dce8a413b1dfa31aa2d1fa0", - "0x06be1df1ba2d62bcf1210f8ddf05261317cbc778d7f93426a86c89a0ef50a3d0", - "0x23983f212c2acec7d7bab45b38f00a7bdeb0066424ed1bf6ece4d06a4f142f56", - "0x22b815d8431ff014334f9e21688daa2229fdc2d7bf227be5c00196f45f0225a3", - "0x00d163ab8955cab2cb41022d06aca1323b74a32b6c0277b56874d88e37fd53d3", - "0x1f977604fa028accb31db59a0e73f5d82409ed60980ebc0ef1ed10924dd1ce98", - "0x18891c75bdb939e7b6bd66944fcf5a7e5312f370bdeb4e3081b0905d14b6120f", - "0x0092581e7362fdd8d4ebf9002f5258ddbab970ee07585ab67518082998a79f20", - "0x05a261c64b98de9970deddcd0cb9759d188c9b493782fe4abb35201e53aac4d0", - "0x0353f3780321b0e3a6c2455fee5424c483292f689cec7a094ca822ecaa9020a6", - "0x0eb5b78e08201b45568db339b1dab2201bde50a1909c460ce6e027cefc671c19", - "0x0b216b2d0801f09519d95a83eaec59c9bf64700ce517dec2254392b5d8d795d0", - "0x1b8ff6e29becd704b4020517bdeb232878bbb651cba448ae761f781f2904435b", - "0x20b8ef379e447e012afc4871e70ac0bf2dbcd492fcb2d928f1d4f54cf13a9280", - "0x1629bb45dcc0ed5b4a29281641c3187ad6a3cc3425698f63753bac8ce90eed7b", - "0x0b216ec6c28cd3c214680cca0630f23135f096fc7fa273f68059b3853eb5a7df", - "0x236aa2ce80c44d1f23a81be32279d44f539667dcd59427b198e0f11b00211543", - "0x12cff8af5640c98a52c65004aaa317a1a8abd6e498163cb84d7f12e391fb3368", - "0x0789d9de8f78cdb74ab330ba9f3ad593215c6f5bf28ef547f7c72712db400412", - "0x0bb3ea1134e0fccae8a5d5f0b1eadb770e9764734dccb615886de4d00786c770", - "0x2b09ba6313ded5c64464c150df22959ab1f1e3bc622e6ab055a326f8acebaed2", - "0x0ed2b456a7c46354bf888f6307efd43fe8eeed5a5fe9e4bf7c9df029f7e381e7", - "0x1dffd04b87ac38531caf28b6e9b662276a81a44b101ed645f3dedc79118c86cb", - "0x17097aef5340278246f367cda98a9d4a78792be199b6cec9ace0bfeb8e871108", - "0x0b5a8e34bfd74581e97e323ac06598507d5baf30e4ccccdfbbc3449eda7d2f78", - "0x2a8a16038fe7e74c8caab01fc25c5011d1febe5a2c43a378ad275d75bf87ee83", - "0x140e811ed1b494fff879e0465458c4e004a65fe9c141e4bc4310269779b540f9", - "0x079c5cb719fcf0e2aa4d532b57b73cec31ff679c768411c170996bdf25a26d47", - "0x1066be2e280b236ea62d3a44063275d62359860185e947550ca55b4d209bf60c", - "0x09476ce98acfd3475961499e3556a88fb9bd001db3051f4de1f6df9cac23938e", - "0x134db4587a65f1b0bea5a0ad12d12aea7319551f6029330869ae5bd9048a206d", - "0x1f5ea47fea3dfa1d43b44550242e1d0786d29248eb16cdbfdf143b234a9abd61", - "0x2d9289f0c738b714297a9bdc2d71b4ec29b6526bfc17e65b69ae21fd52c26ee6", - "0x22d11c7bc6332d5b5359f23ff524e0d23887de81f822ed36363aa50ed59b7ea0", - "0x25b9de628a6e1bde97ec4f26d15880a3faa3fdfb27d6a71ad2454a2b49fe89c6", - "0x2bb82cf92ac7afea8da47680f5c7f76301ab5f5b4055eb85e072deb5f781bc3d", - "0x21fd65d2822d2beb53ccb27d76475220cf73b20a82e988a71829a16b4b7e3993", - "0x1ef41e1ab71c539f5e2a05459a0cf75491e439ad18dde36162774c0d644dcc95", - "0x2ad96cb62b000c7b9b8a055c65100ab89390ea186153e493eb12a21faaf3282b", - "0x1962720382b5a742530fb3d3124a0eed290c90c0ed5f1df6c18bb07b786bf866", - "0x07eadc2c9e98037cfe865011a231f86b7a273f1eee1ce4a4b326504ea2897dd0", - "0x25f083fdadf52a7d8377960d1b9aed90b748e419587819826082686f5dc3d643", - "0x10931d7d2c979d8eb789645efc3bb44a5a68b8fb5fd06789f99f9919d3ea1fe4", - "0x06674e083b5152d543badd78af76325d3c16362c3ef1ddc49c8a423ee0823d65", - "0x1b4de72325b52341e8eb2c2e11f41a944d610e53880b7e575aad9fa24bd7a514", - "0x2180493aa25c55bb7425c99939ee63a585a5bc6589b553945fc02a6821a19be6", - "0x177741d1586fb3e260a72bd4854fd2990dd40a6306369ecf9ce3832903e3801a", - "0x2933ea4d61308143132840cb0dbd680c2c99467e2fcb8019f9659f792bcd24db", - "0x120154c1f1bd842d8e56518e11c585ac38fd82b2f8618d8d9c9d826cbfacc313", - "0x201e25741bf0969d371726f7ea129d2b191a251b8d79e3b20fa74d4dc1a99369", - "0x1e33b9fbfb342942b941bad8a016d3d94530172b9e527d8c33ce75cdca61aa87", - "0x1a6adee42d81c1ca4f78308d761958498bef602001b45bf8f2b8d2da8ae591d3", - "0x09b9d9d4699dc2b53411540cd488f3facd39bfe3552aee00fa8000866dad360a", - "0x2e59b3ea00f1d820b4fe7819b7114262f0e3f8f13af748e56ce3b3b16ebd67b9", - "0x0df60b80980ab1da60769b8b8190f16b557294c5cf78fa53023fb70fe6234f1c", - "0x008704ffda651fc2767f9b7d6a244f9abba8ea02cbcb0982a800d8398e105e7f", - "0x13578f19c3060e965d40f26f8d8991510d0141681c4fab10a390f6e850defedb", - "0x14a13235642b01da0b31c8f0e3c9cf17f5af2024dc2b270109e6bb1745e6b871", - "0x12f5f44b1b62a09cc6f277bf4f32268bd9bfc150b529d87070e3a871bf19468e", - "0x0e3a244bb3fcdc455c50f0db9607648bab0cc11cfed35232cb31e31b7a3e6eb5", - "0x2573413c01b854e1b88a6e0f5a64faa82a5d9f9653b317bab1622e268d7ccd83", - "0x15d7f47b40918efd989e54f4c25c67f3a89d46f1ed37ce8adb14070a32a8a494", - "0x0768fcd06a2c8285257dca6058590b7c55c4e2704c9ae12c18ad90a2334b209c", - "0x08682df9decaa03e9e944691a6acb5d113cb425c80ffd2deb7f7f0f18a8cb46a", - "0x0ed9a684821b4e1864a608a21ad7f20d0938f12c5177609a28b76a3142025343", - "0x300af81b1e56f42d877f7a419f976a0c10ada5c1f0de07ee1a96a6cdbcdbd51b", - "0x2c49fa350c4f6063a5d1bc96a181b6085c82798f8460a581e2f516d528bc3346", - "0x1aa1f14bd8bb4d747396c83d5fca73517c62c92a28a7fccfb6d003bc5cfe40f0", - "0x2dd770ce38e0aa69ddf4c327978ab8d736dd09b55fe8322e49f672ebef0d885b", - "0x119bb16d96c595af1e53ba12bd6a813d070e3617efeda589085a7f2a563883af", - "0x28792165394f468d96fb6e9e53ae036917396c93ef99139aee7a8576d0888585", - "0x01e29e26738e732cb0178dd32251579f5c93165eaabbb72fc6659afd33c4917a", - "0x1764b1a3504e177373cb19f6af1fff4151d645dc5769e124e191383a9321ad36", - "0x2c4b68c846c0db9265986631dad85f7bb86958f97cbeecb5c170395214e5c47d", - "0x0bb20014ec5ae2f72bb1caf868ee4ae935db03fbb53e2fb30448bc6953d1c56f", - "0x0eda91b27bf17fcc3b69665dfc6d103808f871a66eeb7a323ef558447f83b945", - "0x25987170a890d3c2984ae8854b35e0a03676c2111fefedfd642a3b86961d8434", - "0x005d5847fd6c19bff5737b8dd5e280e238a0019974c81661d598c3c4f1344244", - "0x12d08556f55b2ebc755ea85d7434400b7736e0decfc162e665415e72161d49dc", - "0x0af4b190dc8cd51e01d4089fe0910ecf60d827448a504e79e972be113e5e9d81", - "0x027f31469ab2f533d2ec40387fd45592eb2eea1a96917241a0cc4bfc30ba830d", - "0x11b4f17ce5d2fdb4483fb10b70df8896f5875a7fbdf61572195d2150e409d152", - "0x062d03c01e83b86a4c5e82ec92161cbcb8ce300aac2c040eb0c0905914605c6a", - "0x19fdd0536c8174a6f75d899e5dc058255d9c3b65ee5d036e1c2ce6818e2ff9ce", - "0x1e8444c23612f6f8abcaba671be387bb5eb600a4095d48ebf6067d3674c348fa", - "0x227ad2e3e283060210bd9a61ad901669154df498afd524da5a04b2b17c441089", - "0x2ef728c11bdb42f38979a43ec272a7c612b8daa191fb422b1f66974012f480a7", - "0x2b7d2a42aa5d8c6214dfa46551f2fe617bad98d3818614b295bfc0e0f53c05cc", - "0x2436d648021b5a38a5aef4a171fb6913be9ce7bf74af7df1b89481cc8aefbc2d", - "0x192c9cceaec54d979c78088fca215f5f84c659e5d795aea8c4979d482bd3659b", - "0x18d80eef19d039c22ece913c5649b9d1887ed6e1363a7ac2e1ffad6c747d3b2b", - "0x01b05e462d92080c271e72f7951f7d250261db028ba5f3bf5bdd15bda6d3daa3", - "0x1d1c87867ed44786df691f5923c03792d5b3bb4b5af392f96cde634b5c67e564", - "0x0d64add6f3947d5b27c30d972c587eb4159d032da44ba82fa79a962450305f42", - "0x1958e764bf9a7f99d5bbc9466b7561114959faa5f92221b84a37ba1b20051a27", - "0x015069e893666933b5509106b5c1099deee45e5c7e06e362e80c619b7c36ee70", - "0x0ac4c3ee5a5251b8c644dbade0b3828a14f9da53cff293f59704113a893c908b", - "0x14dd72696ba7213fc8328d13464dd585b53d9384f7703a9999355b6aa5ebb24c", - "0x2f752ab6362d181b56ca2796b031f84729364df061400ad7292ffdccd723080c", - "0x0c28715379f6281892dc0564994699010a4bf06bf24cdbe5fb324c94f5ceda03", - "0x21b15e083037619c16b79f12c8b5c6ce84c5dbe321e60d777f56ae1317a3b50d", - "0x07ede9c853e4170fd0440747b96d85ae99ee7e1ceef66d59e92b711ff5fc7aaf", - "0x26a650a116c73670ebb01558ad36c8cba6975478d7badb56297dd6f9f54a27e9", - "0x1f53e48188d28bfffae4b691edd0d90867d8d2f2cc1efebee2de92bc0df3d7a7", - "0x0c95b8afb84cec7af8741a96eafe405cee4809e9677b27dc97409360eed56c95", - "0x05d02891a802d9edd83139688d7fdd18b1cf5c9d00f8a4e678ed0ec35eba35e6", - "0x1bb089be55f3a9268fe2f9e6bccb3f458d7964e5551f64ef4dd6a2d71b23071f", - "0x1a70aa224a5f8b21aab34fb5db37eba7e08eac746f68df8598170539e1aed077", - "0x06eeca38c2451c4483db34d013ba29afc7bf2038bd92c0289a7876f859a78df0", - "0x297412b1001516219b734a1c5eed663c7d5e45ba41b553a8910c14f767898456", - "0x1099ea837637dcbad4480ffd528a98cfc5f600e1fcf98b94be45f72ee6ecc3a8", - "0x1aa844aee869f79eca08ab575d0bc05429ad5c1a8b2101e75e171316aeb45e16", - "0x126e087b09eeb69a1a033f0e45e5de2cfb7cbed446c6733a420ab9d470e66a26", - "0x102cc0c224ba06480cacabb42962fe48baa7f1cbbe03626e1f447f99949d4108", - "0x162e7b5b769afd6219372c22a7c93de2d4c1033de494a24ea03f340b65b460ef", - "0x16d81d5a15839ede96300f9f19d5b383821333729f570d90b025d4fbb54fdacb", - "0x2c6e0bf0b7a458c80e91f840387b7a0f0ab37f18f4f63b1c24df4c731bc0611d", - "0x1b6591e33252c84465d0cbddb0d5fa90c8192c4088d63fd63acdbb21bc65c31a", - "0x2145e2b38feb1810ad36b50d26d4e8aad7560835f437b2998e9c6750cbfaa4ee", - "0x171cceb5940fc2b258df28a7b7394439571fee48f7b1352fc7365964c050f2b2", - "0x2bf6d986ff0d95f1c2ce1228999f48ff9c80fb9889977ae58ce6dbc533a74ad8", - "0x2e25a39514d5488278bbd5a169e64fd11c00dbf3fde35e2c2967063472ab2dd3", - "0x30549e7118b46b9422938fdfc4880f27cecd4df8e299d066546ab1b34cc26e7d", - "0x207de0c1b5f620a4c37d5e65741784f3d75c0ee20857bcf8354aa9a79e4d8a48", - "0x1d50b47a31cdaece423ea535c847fc66cdbe6a170d17d67cf0fa67361bdb6de7", - "0x1787e53ad7f2c63c736d5101944ec27c4c8b01517d7b53d661db800023e52ca0", - "0x2c92290ba9b9ce97f50383d11bd00a9dc7fecb0232b393eacc9381782a335b97", - "0x2906fafedb2ec9a8aee507adc23adccd6f764bddac39d8bf2f5b38e12336e256", - "0x0e9db8283d0784340e56f09925f9468ee08154e14070aa0089f54a28bde96e6d", - "0x06e9abd5c3a1a3162629086801b35147cc93b09ff3ae097d380a5f7cb15dfc98", - "0x000c451182719c9f493cafede9553ccbfc2707e4f6741451065a8b5ba3201686", - "0x2620965622cde31bcb2c212b8b88c30e82a505f9a8e7cc9c37482316944a6da4", - "0x19154d57d45cef9d685003f30dd3e7ecd89d4c5cf4c00215ab76c3f43fc5447f", - "0x23693cd4cfb961087971d23af6e233c8a1095df762441b95dac3a299eac7bf31", - "0x07d3a12104f1d187eeea4e563df006016ff84bc27e4f78272426994017a1572d", - "0x214db7bc02e62733d7b70cadfc24696fabdd316b8e9d925f18dfa9418a50b409", - "0x0cbe1c44a1764834fed79f6772f96839a94ba7f843f2311422bbef0595d0de4e", - "0x1e3e17dee418069e62e8abc30ea190cbcea4958a94afb73e771ed2dca517516f", - "0x2dc73215a94b3a177d0f7408843320d65a2c1f919f915791bb4fb0570425a49a", - "0x0e0ae97acef8162c949d2ad67d0dee6436e353d8c47711bc2fe466b38f709931", - "0x246eb22a5c53ff12475337b007967c5a05f99dc92f2a8f9ba99b8d6e80c61924", - "0x03fe571e7954e8d40dba7a1dbfa0cdf735fe46640e1b4e498471423264a0f7ab", - "0x266f2aef2a55eb2794d24965188a998e30fe05a8a18e1f07498a6437db2fad6d", - "0x0c8b1597ee4b4696dfe73f39d2a3147b45f6b2bf27bfd13f302b68b9747a0fac", - "0x27e03610e0ece2ef25b893093119e8908efac4688603112a0fead4093efdb592", - "0x058a160f77d02ad61a20655592edebdca4d1c06fc93c184e464fc6c6b836e6e9", - "0x04bb3db39e4028c76ed73da94082ce4be61e20c3be1e4b499fc8728430331f73", - "0x0ce3e0c1d936a0ea1c0de9d86e534fb6442a7b8b8e5a5f7a69846af8507ebf6b", - "0x0f7869b2a74f40189af8d2d5b4bdc6c3dcb05425fd55a83bdda8b74c8fed15d0", - "0x241b7fd6323aac49085aa2610bec2f270bcb77239b74281a651aad25d3f9e0c1", - "0x1e20fdcbad2ee8f89f9c5336424256cf5fe49195bdbd079cf7923fbf89a44d32", - "0x1896991e91d2333ebc2a79511be583feff654770261def76e2cb707dc72f1fa6", - "0x0814fbe3e253055bd21bf6c2955111ef5fdfa43fc467449ae5faf31e96b1ae60", - "0x0d0419554a24f45176c4bac3d34f671a4c043e90b03139175b2bcdaf7e13890e", - "0x0bdc11ef0ddcbb96c1d7a31c27f63a429662a7e8310cd75862479dc308b9f835", - "0x19ef1cd67e63d03d86fe55407ab60b6ae4098293214f7b0509ad0f84c6476564", - "0x2c8c8fb761e1a7a9dcb87ff994646f589c83498e8a9110425768350fca10b754", - "0x1fac24aa40251134ca14e0baa471f9d4efe9ae9695ad24762d33ddb541086249", - "0x222a9d1cc07db1d85cc62743d6cb09d7727bca07336f1bb3c8a80d2e105c439f", - "0x0d1bcff01e267dc660c565ef0acad6d07880ae365d7f4c2e10dc08b6db88f52a", - "0x1494ef214c2209ea3a8db33fdff5a07d812765266ae4973efc34e352f34fbf54", - "0x1d396d57f112ac1c6920cd2cb4a4095325cfa1c854eac88338916d7eace272b8", - "0x02b3530c407192d25e2c34d4e969ceaa04dd5f0aae17dc07d6a0d64a83f11e19", - "0x286c4c7cd4ea854eae21ee4711ee0e206851582c458d7d6af2dd8b6baa596f5e", - "0x17fb6b5030512733721a1c420317acfb8c726a4d651eeb35aa44d215860d6c99", - "0x042255c9e84b904ce092ba8ce075eeda4c75c90c73db5d11474ebd0a60c0303c", - "0x07a679995ba33adaf2427b1f69f31e0d70263ec840717f07a1a3909481a51854", - "0x00ee5119c193e257b3ba20f2b72adfd7a1a9b02920c60b6db6bcf5ec952b4f25", - "0x28c7618897f5b2e9a191e716a4e84b0df6b63d66e965ee9063110920680df6df", - "0x174fe93fcbddae635aa9cdd63b6755e715142147ff5f838c7d55191a9df94be7", - "0x2904c982493c75f20ff205a4f29592c6d79e33db364a423aa7a2733e57e80933", - "0x09666743189417b5389ef3e5bb7dee906e8f319eabb397677d8a1b07033395be", - "0x26b1c65c7290ea55578a4204afd4bb6d35d2a6f221451477597d16ecc9507176", - "0x0e1fee794ceb000b7a1fb560df7351ef14be5ca7888634832a5eb8460ae62888", - "0x28793c5b2f893ddd2c6bcfbae09257f3a2b459cd335bd5125ce03dac92663236", - "0x05201d8f122dc2e27b5f4ba07bfe7e418b612c43a9dc7fd0133df3edf0ed0ad5", - "0x1dac2a9f0dcadf60da8249382e1d3ee43c81535ac962f6c8a6f86421f385b47b", - "0x143d92fe9dafa8795c27aa59d8a4193cf765eebcbc6ad2d1a8e3cdb44d4c1ab5", - "0x014ed02219c9f12c6fd5312e02d70f2d5ece5421f86e2cc44cc0014afa493e08", - "0x15ad133d53723c619ec9f81792f4efa5206c3a782b4b8ab257a1d1c8d37311e8", - "0x0f97de8feb3a0dae32421dc77e6a70ca515671ca51defbc73375592b9da1582f", - "0x09aab65ef182ada58514d52f1a11f9aa87545e68f036af7921c043e74b1fa66f", - "0x1cebd0569611c9b4f7915db189215a4525763e501ecdfca882f0ecae443f9547", - "0x009579dc1a4af71c8aab6ecc380c33df4343d69b2088c09e0aba8468b2d69a84", - "0x1bfc0b65735b20b2e43c2a15a8067713e7e2db11042275649942b90aaca7569d", - "0x1111a83506fbf58751d92712e6b56365776eb4ae452f0de38658701658f2cd7f", - "0x22e0196719d1164cc65f79d2341e44d484bf1027890505a6e0f72b8382614c2a", - "0x1e416318eba6b9d5a1592141b493bc768d49ea788d42c7ba29feab30552295b5", - "0x1b8d678c493152b19e7b43516aa02d06f5cdd8d4f01005f7fe3648283ce99466", - "0x10f0cf5d1cdfe356311d55ba2548d6b47e8363b140ef2addffd8af34530e6053", - "0x27b57a922dd8d211520721872f297a7889023381bd17f2e13c81179821a61d81", - "0x1e5256446978b6088ec408c00257725e5c3d8e683020e600b9da1194a0cd62d3", - "0x2e314b212750615336d465b11e9ccde79e09dba9172d7ada0450d03575b1129f", - "0x2b37a6424ad171c1fbfb3a42020b6b52e74421016b7862bd09dff09574c7b456", - "0x1aadcc93a50b2496907a931c574d0d6c63a4e16b615daa330fa1a3470dafbbca", - "0x0bdbc868e18548ac10870836af9652e43ab4889070ca42b1b1c22bdcee9ec994", - "0x1dad584380e3bb18bd78c0dcf7a647e443862b11c76053d671961795e8b1945f", - "0x28e44c18ea8e0a548e00a1a0eda5f969424c51a33bbf758d073e55368e6dfbf7", - "0x21acc50a25b1c850a7a4a4a5c934703d2fddef357a96af025b7545525cd95031", - "0x187689a480961088485c44fed0114dd0a3a80cd9760f541eba3320278220f0eb", - "0x2e60d0dc5f4cc8e1805b47e9e820b6990516510431bcc7200aa108d3df70e70b", - "0x24f167f4899df7babbc3108d80ccc87f95c0f2704383d70ff4b2324543edf5fa", - "0x0f47aceedafda2a4b56c971a93ba1741af9ed25e3ef198c0872f201053b8fc21", - "0x0d0d2d1447ba3c2c3d6f7ddae300137c31eb8247f4d26c52185bf8ebd287f873", - "0x0ff862831147f2770842bbd270ded3b9d6f327c56d31d0be84cf353a4be588dd", - "0x0bb3f7bb34569a1b4433fb483cb0b3e4b3cbcbf49d68f9f6c0aab8346242462d", - "0x115bd2bfa94aca7539624d6a91cae813ac2386724bec3dd1487777e51eb5b520", - "0x0b13122a9bdc8dbaae68a65d7f7fe352eab4510d0f536c5933c4cfc7c7a8c219", - "0x1531b546bbfb7e886bfcaa1cc7a7fb72eefa96b5bcd3bb8080929d5ec4b0b50e", - "0x02f9a7fbae2ad422031ce217db850d1ff2188499547579869cfb3799b350fdc0", - "0x260161b53d8c8c040783a366ccdd3f28dd23b3a39697440acd0050b90ef5203b", - "0x0cb3d21efcfdcae2b2b14e18cffb7335cc8b35587d1be689651c602f75b1aeba", - "0x0083b8a7ace448de4d2d56cbfa22c443d5f87531f1fdb14bdcb4d71cea1578b8", - "0x1dddddd3ae57e0c1c9ae1f186f91680d6e112ad1145a18de3af872e4f5f21375", - "0x1a87f86192c6c527bb91a13e2b9549e284a1717e34d71f88e807d1ddade6413e", - "0x1895f0a4b27a352dbf2490f0e157ed73fd0e9fb2c5aae8c61d7b0f87f8719365", - "0x109c5e02f839484ca5f8cfd5b0b6893c8e2eb3a5184df934f033b5e28711ea24", - "0x274943afb3488eac70106124a61423fb4c77b77faa132a4d9e7371bc76220b65", - "0x12b76c61824d47e715d02bbf1cf15917175a11cca3002b4346e83a31f4055d1c", - "0x255debca684dd47bb169f67c9c89146e5ddcadfbe5080534c17b441cb1da5026", - "0x2a819690a162bae57954a2f534758b249dcbed7bc699ad7e36765b02163ca5c6", - "0x0eb2377135c2dcf1bd1349ac32856d487a311e083431cc83fc42d29d6d11ea62", - "0x13e2047758a09fcf72de1b62aa49000ab10eed6e70c39c1590b923a03bddbbbd", - "0x16fa944f24bcdc9a44c69a864906c93546151019c2f4b94d43721192d9a4a2c0", - "0x09a011254c60a66d6f12a2a4310bbc8ea49f2915589991a862c53449d3fcbfe8", - "0x1a4c3fbc1c4ffec6940905c037a0e6ba0acf568e8320992063ecddf923443195", - "0x2bf8d6acf000882aa0fb7d3dc78a68e41ce1944cebee3527e94574a5a89921cd", - "0x20e5e28e4687134faab3287c3a76eb2fbd6c333cc682a73a95b7f68fe940ad36", - "0x2991fdab083cd2eabf39dbbee91447a44e73d614e8cd27f892957687a1b9b602", - "0x25c4f2f8e6c81d4247a5d715280ffeb83169b38d5d373c581a01c8466cf033ef", - "0x2b1fbb9080b1798fdbbc30b2d8aee689678a58942475fa6dddb06dbbbfd769b1", - "0x24677badc6e2ea77883eff77c39d2b1e17d0dcd6404cc459078c55a5cdaac888", - "0x26a509e55e66ad85919674956722b21340036b4f1976a5c2f34fb76ea07f0fa9", - "0x21d423a370004d725177018f115432e69eba27c3c69511f0baf51d045c1d517b", - "0x2f87580dbbbfe5ebfe42ce27999979e84639febc74e7e1a0b5e846b6729fe440", - "0x27a4d0fd5df80a49ee2453d7ec93b359cc3ad85069a8f877eea48469455644e2", - "0x0e42e1cc2a00a8aab0cbfa5f60c6788676b921d5813b12e29b86ba01c0866e94", - "0x09591d3d65f2be5331e4326ca4b8c7e05c1073cadfa6459f63aacb62915c5aad", - "0x03d8cedc04bfb5b1fdaf8ce07db6348f91dd52699361c726f0dd059d5104f994", - "0x213a4102fca9371660b71e75910dd4677607b7e59bde87e60aff918519c277ba", - "0x102e400d8933e0a2cab3ff94914925814d32bc29f46e1951ca3a4405cdc3b35b", - "0x242a22a397f8359fae10d5466babb3c7fb2be3e56795373e92fb1907d1ba9b84", - "0x12f411508cda12adc1e1449e7b744fc8aecb85f714636d7f6ede6f8be4f97be9", - "0x157b5417d1c473c127e7b3c20824fc9b7b45aa25fc41ff77d80e4ce11edac39c", - "0x10bdbb466d2cea273e19ac9293ad50cc4ff65bed0cfff82600f5071e3be95fec", - "0x2706f3c6014f9b0dfd5a4babb4cb812829e16726dfbbabaedb06f5fa1cfffc64", - "0x100dbf43352da45430d6caf1c50073c739682f2fd7924cb964fe19826839133f", - "0x0e2231da8fa7802bdd543313eeece51ad85e57f08451308a9bb6ee67a339113b", - "0x0c9bd1301537a8f70dae2f94040cd691a347b6ad00f19894b3fc9b7ce9ba925b", - "0x0a15ac3efc6cf7e9943690f06befaab9ffc6a9fd157c620de89e4cea9276e125", - "0x245896eb8737a6b98dd7fca03ce60158f83b98c6aadaf39fa516eedb6b5dffb5", - "0x0254287bae0faed5a2121b1e32a473eb355042364da618603b6baa984ef85615", - "0x0008da3de2c802bcade56bde3d9c57652e71edac8e5433c0999e702b72ca9320", - "0x2be5c646318dc57eb7accf94389bc9ced25553ec35be4dff5aefac1c5209caaf", - "0x2516634ea00711ecb9dbe5049e6a40db766fe3ca91dab84ab183a952a0703558", - "0x2aec63732f64fad91c17a171eaaa659c8064fdba669bb1ae57ab83cc2ce8617a", - "0x2b6b98506e1d57138710f93cf43c960a42d37c71f5df5c88eef94c055582d83b", - "0x248e3c9f2be9f1c72603c5a89afdaa578d6db055982446afde3b2e611f613640", - "0x007c02cea29f36dffdcf01101f7fc664d2044eb2294d7b2c74b8687d20899f43", - "0x14adc656bc3ec60aee15427d35a82c9f4b79a4e98ba3f8d0edcf9b21266cd580", - "0x22817a01447629b7af591e8dd8930bba56077eec640a0d7864227c926fe92093", - "0x2fcd87efc607d086a87f5f2fa7f3fd442d6b5677f07e952403c93da6e165d125", - "0x1c8ad4b51b7d40d37e92bdf17b2c882f4be5cfe2d72f6e3a0660634b748ccf65", - "0x24e61cf8060f8370a989aab9ea832f7f027fa33396b729210ed603ad566c3f77", - "0x0403f1691b8035cd2bd937e95c44994b4c73fddbb78e8f674379eca0583a9a8c", - "0x2154ed96414369ed87171e58c187598f0635d521525deec5b76dc2568b7e1a37", - "0x1142d6613edf8fbc65737c853557702dd15e3f38930eff151a243646607ce7a9", - "0x2dd71d4f058e8f9198b488ce5371b8acbd76d0fddc93cc8ead0e935a9aa2d8db", - "0x06655c1bcdf7d837aeb86acc8c91a9f941fe24792451320ed72a7d1088291f5b", - "0x10f62d5188cf2f4de805f287ed616e69c3cfedb422b3dc5feab414158eaa641a", - "0x166f438b34d9e92f3ae5936d48d48e86a5eb81f27b9bdb0cd770deda85fdb0b1", - "0x2f5ab4c50c83ed67659f918e7c03391c907a524855faeaa52dedcb769da037a2", - "0x1d6210515e95d18271acea85647fecf6fcd7ca88f3ff3bde2a1e2371a1bbb8fb", - "0x0ee411f4d7d093622bc15618116b3d42912f0ccbdf1a2cee80dc0dcec53f08b5", - "0x2b8061f916261efc7cf10cb98065300d7ec375b92095652037bea7846fb55e6e", - "0x25c0cb33c2cf611f117000cac615232c5978fa4f5f66bc9376b707658c253a44", - "0x0732b38b03ee00ac80b8c80da3999a9ace09f83aafe6675145c641d536eab6dd", - "0x1ae60a48525907c98fee3d0216f7004187169b0791babcba631aea9177578070", - "0x144d7f37e3bc81bd7ef1a7da1ee6a558aea55c781983d4052d40ba67d6ef8f7e", - "0x1e25a5918e65c996f94da3dc7ef2a8605e07e7496ef7303d2fb22a37781ced48", - "0x239d5acf0fa3cb15856d387e7fab13f97eafd67ba890282730ad86af12bf31f1", - "0x2182930afcd51e5e78ff7806f460b26d6ed7c970405890f2b8108209bb97b341", - "0x0cc3528605a278306a217fa4a49583063ecbdbb1db819515659c40d089d97dd7", - "0x06b36dcaabe86917f309bc104d0e6b285d47797e1042d2b224c29164de394564", - "0x121caa590e15af8ebd0f0363313910a78f9f8d58d98c1798ec27da21886c87c9", - "0x003fa3afcb143a2879b1b169b1bf46140c856366e1713ddb8e18c02da27a1191", - "0x1c77ddbdb6dd6dd1c4e3bcd19979b913625d2e307f0716395bd0cfad67baab6e", - "0x2e4b0763a1365d0d9f3cfab17ec4acb438d3b4dc865569af7d45955549b3cd5e", - "0x0e94125d0ca47758c479e83c2d9d68405873b522e5c44644795e7d5f32f18b1c", - "0x028a42b0b9b7aa21927f82f1ca940274fb3264c919143ab58550d00cae86361a", - "0x008a75c821c0e1d9c54fd9a14f10bc9ad2cc435aa42a41e531dbca2664d46a61", - "0x11e814a3a0144872d2b04da0e9cdef3400d2d2f2339bc9839737040884f5469e", - "0x20736392c2bc44682fa671faad1009e4cf75f98b96acebe7391c83222b371624", - "0x1e9e066ce8cb8110bdc9fe76ae8f3db1dd0d186520eb549fcecec1c362c30368", - "0x1b41e76df6f4834fdeaba9ce489d992c302dc0131deb02c81b78c1bf6dcd79ff", - "0x2e58478dc6b23c72093dbac0063fe5d8b316ea52612ecf02b2fcf50031b81969", - "0x0518a9763fdf0a803e8b88f1b7b57d1ab24def4c801ba7fca275ffbd95ce0f03", - "0x1f50dfc5f175cd105786f50f3365312ace7c683052ca6748437f53e14c702a39", - "0x212fe45ae3409074a9c96df628d7b33fbfc25bf224f0175a22a692a0ac1d474d", - "0x23c1215c56abe1f521c5901604b1e70821492f4d085ba4f9eff16c4e085f04e9", - "0x0e1c0f627054d3e5d3a0ee5f9aec4ba7426a8d694bcbc0ec638a13c9c99fc182", - "0x192dfcd3322b6f1b2724a4f17876deec54320f2956ee08160bc4320bd9dc2c2c", - "0x1f9808cbc67e2caa3bcf9ff9a2aa0b6bd870ec4a58a33eaba095b267deee90c1", - "0x2af47f3190c50c092694ab3e4b596fa6936524b07a21a63d5990b6cda33185df", - "0x15a489cc7d63c702e41b4fa6f0dee1509beabebb27b91ca3d2e5a48b55d93059", - "0x1a9b1c5d7fa09ed5241a2b37168fc5c050c9e059b6412b07422ac667847ed9e4", - "0x06314b808abbac0727f72ff33c56a99a8b659f8b3f12ae6943595eace01eea6b", - "0x0803f7f7d41dfc7377a590b06c24d6b2059a753983894358c9b6866c395bff84", - "0x073772fbd26715fd697492d27a3e67f2b9e81754d28944c24307fb0b715e911e", - "0x0793a8a5d77c130a46d23519d9971837812d274b5839d89a4b4d65762ee53e39", - "0x1799394469755377ac55eccbb06aab0fedabf664a5e853d34e4a67ada203a86b", - "0x0b58710f73f106dbb10b7885d03fc86d17ae159846d2e9f17edae86778cd74a2", - "0x04a20e94008fcbe004657becf952a819a07df50a2e363aad68ebaeb9a6b079e2", - "0x1a293bf07039899728da0d8877f34e70c1788bd252b1bf6113697831378911c4", - "0x1f4da25fdcdd88e00847934a9580b29fa79b11143ee6137e40edd76405868b27", - "0x0e3049a28b7b44b091bb87eec42a7f632d56bb30add40fd04fdaea912aecb125", - "0x1d64ceceb6ff01383bd188c490d97ca92cec9fe4c340ea93b47cc0f377406ebe", - "0x1bf3419f1d7d40ee3f67f9dcb562680eebfba8afc2d89166c3daf7636f443426", - "0x25f51c0c3433e4a7df4d8cc77c4a449103e9045bb5c6733064320edb458fdb7f", - "0x14b606900a11c6e7ec8a95c4f87584440e2ddb19349596b78608aa2a6f61fb5f", - "0x2be83b83aee4598bfb74895c3e2792807edc5e4b4551ec68b69ac566024919d0", - "0x1ed71427604dfb2879e8c23515c9257cc87636b4e13974e9af5a6f8adba88dde", - "0x0fe1566cb27ce11edb7ac80f9ff35d3a5602923ea2684528603cb83ed6e41c06", - "0x29f7c140897074bb95a0802224432a3f78992107992227e7b0dc9bf1e449466d", - "0x0ad13155cadd586a7aea49144bdaa7700e9642580633f1024a5d5df3e305fe1c", - "0x220259bb2beaffd277884585667733cda266e7338ef00a57027375e86d9237b1", - "0x2e0893727c26656eee7e9d1832d03521fbdf00cb8aa75496d308ae1d574a7b7c", - "0x0a7eacbd642ac184264519f296e9e9632a23e2efd300e1bd3ed6df2a21d3cfd3", - "0x2b8e1d3feb3fa873a167374074db3152720ea13b76503a51b81b385689e04bf8", - "0x173c11a6df176288f43818aa59c67fcee74fb8ab12610439660676e8164cec7d", - "0x03fbba4e00b243dbe9ebe502699617d27035fa948c1c180d529ae5528d06d0d5", - "0x2f4857c8dc6dd8af38f6fa51e7f2cb186f7740ae476e572691c965078e8d8198", - "0x0c1cf8752fd35ef35d0b0f4127666ca6e4d74bfa51d557d67788340f518b1fdf", - "0x23632ae256a0b5110a18ab5a2746aa4c38259acb1964276c74324f11953f1944", - "0x1b3772ef96d45374080df149d1a67a39fd91e6628657ef19c7dacabbdd1fd6f4", - "0x0c93bff8219c7203b318d8ea0d1f2222ceea6f4c4388c1897e4fa49286d7dfd9", - "0x05a58349f6c091c65f491528abe05f14110b52297f0297ea49116f83cc1c37e0", - "0x1f450cd28a38e3c04735e171be450e1c4d5b63fbd856677d331f9c9a61163e2b", - "0x143ca30c770f774bd43e787a88f9e273a91cff1eb21981ba0ab26126e40cf560", - "0x076ece917a20f93e94076623c0bd90ef0c5edc66b15096fe79512e15eebbbefc", - "0x008fa6c467719d53963b3ddd6fe07af409dc381bf800f007b511bb77bb366e7d", - "0x1455d0028cbc87d60fb123b1491c9fac56f7f56171649733d25548dab3612932", - "0x16804da9bae7b512b6a5261c5dd5be517f28b119bdd6b67cfa779cce67d5ddff", - "0x2ef4dd2998086fd4c0c1e6735b14644b606416ed1378a70b1a2a726b1566cf53", - "0x2a5aa07b5b72825acad5137f361703434c678f247daf33edc11ff1a60f17e725", - "0x27e7d4d5b69d4998f02ae628c9ba86b14fcf4bfcbcfe5b063aa2e9d3583af443", - "0x0218cbb4c9aec29681889d110020f0d41f8ad5799ac4cc66a32e4e265c34f404", - "0x188d3a5645b8957fe942fd12a37786d9eb1bb49d8a91a6e1963fe9fcb7bd4678", - "0x01fc992c0eb1c7955f0c2fd62c08708b4c1b382783452e3c55a82e4dfc49022f", - "0x2dbadb12316159b21280e2a31fb69ce2e40059bd7a65ea7909a3d300b64aa95b", - "0x116165d3a9d3ae4ec7834e3dded2b14def482df7c5b626b90aeea87f4f21da28", - "0x060689a44c1563b1f22405494da9ab3abdba2bf608beba8f1f2bb3c3a470b0c1", - "0x24f547c5d2e9ead4084892b8e012183500413b3c7ec4d36f7658c2e89cf98796", - "0x0cd95cd0fd6c8dc4667d51ceea990d41f2ec2d92914eb721c854d87bfecd5b7e", - "0x27bffa77622a2e220d1999514c451601001d315a14d80c7eb09949a4799472f1", - "0x26a4a840aab9ebfba48a54216503b0679aa3d4905c1b6158be1ffcfa96bc17b0", - "0x1dc1883174666cbf27e932471fbc641a620ac3809564e4296a787477f9dd664f", - "0x1b9e7023b4a97751f6be1d20b0fef69b441a9846f87fda8345213d3a6864f5bd", - "0x1eb25775e233d3d153e5e819a050c44158c4a9cd23fc2be5cdf3cc021dcdb98e", - "0x078a4afe52cadadccfc47152f23074c25a49359c3f5903d9e502f15405aa835b", - "0x18144003df759150d7a97adedcd2811bd11853e3352145143fdc948fec4f28aa", - "0x27745175719985a17a7c304a9f1487db69609f7e55d6f1e9909e276c8ae023cf", - "0x1e4ae6258b3136834b9398eb6b29c467fb98764eb41e744ecc16d950f7fe669d", - "0x2d06d75807dad8eeb3860ab7c93b224fb9c92048ccecc3381eaf315b54c67d46", - "0x1f7f303cae4ac62847cdc0c6fc4e33290f329b917206ddfe324cb959daf3a962", - "0x195368353971873214e04dc5719ff0adb7d4f8455b3d99d497d84fb9c79c5c0d", - "0x00ea36180c56e8b357f8a67c54eeb7eadb98a792bda43ef41f93423ccfc9617e", - "0x0f77e10ac952fce0e0b2345de2c2e09070a9e94fd9aafce33ce07ad90c87685e", - "0x11b5d1a27d3bae4f2ecf6381d341eb4db03b2ef21a91fd361eabd28e394f3c97", - "0x1a07e8b8b5df3fec4c89a863f17ead822012a150d3f43cf976022d1daf6f5003", - "0x0275135071339c0fca43c4816d262438075bc4ae974df671b9a4f37eb748e9a9", - "0x1f02a25aa23e45c0757d8a81b2a436a7828e52baa10241485c0fe81bc0dc3611", - "0x18ea4e2ed36941c37d864e125f8d365ce5587ee11624c3067113febf7eda9df3", - "0x2563ebeb545d58b48e78870e7278bef15df096431f2fa0a28c715350a915643c", - "0x08d11234bb0238800a5389e0459049f65c25520fa495339bd40c429104cea09f", - "0x0569d298d36ee57d9586e71942c9857cbdc802c40b22972efca68ab138a10403", - "0x0230343572887abe69c5f319c195246a26530bc4f3f1b61d6e1d60c66595c973", - "0x158110d3e448c040aa9d3da9cbcc8d9877c90df47667619853b7501d7161ae04", - "0x0eb382c884be7764e46414f245ce7217db97dbb9181777c6d319a2fdc7facbba", - "0x072bf9dff7d1030141102aa7696dc7dec57ec782ad92d2e482e5bbaee7958d4c", - "0x1475c0dbad7bfe1df228bf01e80c7bf2447c0289c648d7800d880a7a09f9f1fc", - "0x1e0306265f25f30c50e9f3488b0241e2f71e746361b70574aa4bc371e7b5bb34", - "0x29a974db0885e5a5a784d3d8d838545ea0059b42cd1e527802f395f28a5e65c3", - "0x1d6ec1d5663ed764d8072a9250045c9ad7089c7b2b558af3c464517ae272f1f9", - "0x1a84878c2fd706d28ddbacc3defea5f7d24fde72757a3ca72d6f7c286b797cb9", - "0x220a1a4b50f37a78ffb9dc099f6cc7db8ecd8ec082d495792106a606408a5978", - "0x132bbf6db2da1b6c0a4dbd3cee7d0bf68c50ee31fbfb78d4a381d73bf1f032a7", - "0x055c9029969e3ad1c9f31d98eb6f0d034dfcd32cbdeb55a2c6a4d4ed8231bbc9", - "0x0ed3e339841ce134bfd24ed67c84d2dd2f5b9faf48c35eaec1636935ed0226f0", - "0x186f3219e1e05b75588b8057e00394cf4cbd8a454c70560d685bfe7add02fc11", - "0x2b7f14c446097c788be28e154a57321fe944523ec845a890c18b2e9277c949e6", - "0x052871f0c33c8076e66442208bd82785f42d0d666dbb5b05d0dbeb63f2a3829a", - "0x142b06b64ec54a839073bba5d942811a82b064c95cac88d9a63af6056419dc75", - "0x250701c69815460b3a8d23d548e9b84c62297c7d8a74896f80bc54c114854f09", - "0x2d561b5856c9e80c6954a09cb1470d42b3a192d5a56c34b553ac282487fc8f1a", - "0x043751314431c1bc80210bbeb9d52553edb9e932536301d217cfd1aac005b44b", - "0x2a9fe46c7c7f11ee248ae00753d879f30ec37b782438dc9d823c37a7fc8c9e89", - "0x11b41e2d2a9df69882b2619e297a04a18e23861880f3c7b5111c028caf30531c", - "0x0a18579644d6a0c034a29b6b8601d0428466db20e2f1de445978d2227320c440", - "0x29aaf831930973bb4a9c18542f5def9f2a70fe3271fbf5a633a3dbfe24a6b838", - "0x042b52784a4c108318bf4c60399bf2d028e6bcb966683f9025a8062c7d293025", - "0x2098ceaf5667fcd475c47c340e931d5ab1a4d2e02f2b77caa34792704f89e836", - "0x0951eeb015783775a440297406f0dcb550afdea6ba9878668f87da7299197e21", - "0x2262f3a338a4d2c2ce944115f87c466fdef4684696ecd1212e4197dd022f3549", - "0x25f95a37457dfe8b2458bf332997d220097114dec4a00881fcb85e5dfe39b208", - "0x2811dbbe5f38744f8eab5264b53c8b3bdc2f5a0ad46686e47e55a64b7c31c283", - "0x10bada2cf2eda2d569ab908a1e842a53987d60678f04dcefaafe84c001edf1a7", - "0x143ac8db1bd4260e8c50d010aa9dfa98aecce3600a10bc771243b8c9d56f37be", - "0x1077a5dcbab79ea413c6365802b6606f28802c2d479e33185cf8b7cbd4f88282", - "0x2f9a687ccaf61cac26c76f071aa2320ae30682ff2c50612cdbed3165b2afdcb9", - "0x1bcfb6e062b428b151b935dcc287564dbf12b150c513c7587847384febbf6c74", - "0x1ec7d0a58b9c622ef310f8a7bda3dc51697a0464b1bd53d60a11cce9bc7adeeb", - "0x1cb80087a12c8a75b50e300fc70b279ce06f400ea4b31bf670ea4477dac532fe", - "0x0149518dd33341b9e684ee75e3cd1ec0c2557722ceb56dcd31bfd9433fe1d725", - "0x16019882ada7dfda83a61d8b8c2b49f10a895110d3e164f1db0b36875a3827e5", - "0x2d4b4db5c0b5f284ea19d93e585c175d7307398cd550ef8ec6d839e5c19451a6", - "0x247b11164ad0f182ecacaf9c2ed8758bebf75e09daa61046b473851fc4558d49", - "0x122658b70e58702070dc23dda8535c128a8c6afdff47f2db4600dad4b7506b9e", - "0x17ca38277d8f624d7326535cde656d04be20706f551cbe1e334ca7e08b0949f1", - "0x0b7bc96de4ed5e48e47ad4baeb77bca48f24a0326b9910381361d53c69dd1ace", - "0x2e120668a82cb5ed99f09719469d4010f6da7a119c132114cea046c81f8dee5e", - "0x2aaf9ae52a11606e11cdb05cbcdbbe0e93d46227315784331944f1b11047d864", - "0x1ffaa9689b796980879d01fa8749d66bc665be68dc3e11aca480fa99ec5cf486", - "0x26e4b908e22e51e0ebdc178fe5b0a93e2e18725a471f9ffff49a3b5c8fae95d7", - "0x26159aaf6f22122be9f2746cca0b2adaccfdaa97b05e2e0b6ea4c7f8212cc214", - "0x25efdbf7a25a2a56641abdba4bd79a35edb4b373cf39d8c0859cc08df5ab097f", - "0x05e46255c26b3e096b65de54bb414b0b0efa559f0887cc0f4ad40daa13068635", - "0x0e395864a18656844a68d2679acd2ff557cf76b26641afe438f69ba1bf333a85", - "0x1c5a7d793a95237bbb60fb73847e67eefd022856d12c0939e20b91ca6a93a8da", - "0x19fb52d38df9642683ec4dff8a4f43f6d0c2ab6c0dac507754792da8fc8c5b1f", - "0x196d5a0f802df7b9b2988632541ef43a2d23870b66de9d764486c108367df280", - "0x1454886a489f8902f00e592a91c113a9aca8133679ad1a085bca16e01870c599", - "0x302043edff2677ba986f7402429bf4e3146cf3b8abe613dae08e0600629131a4", - "0x0bc3f9535f46876f6a4047fa02a369e923e64b3a50369b0a832b0bb55c070f73", - "0x0e12a78b128ed779a1fa86e2ccf608dee9116c3f6a9bf54b09023ee42766eced", - "0x2359f942a86f42b1c28ad4b2e048d39af6d39127de5993aa2132137712297a05", - "0x010c481e7f17c817cc335b5d8f14bcb27e08bdda8fe964ad49d6b8a336bcdc96", - "0x0df858a4ac1a29f67cdb94ff317732626cece1e29cf289f646ca5f90c30e0f31", - "0x262449bd838e03a2726da1fbdc4b5b6e532318cb63e01cab64d7f778dd0ceafd", - "0x0d32232d5f20bcc5638ab15f34e61cf62567dd0f91d8bfc8ca2eaf862fa9fd5e", - "0x1746d3d14ee163db51d4ecbd4541724181484c10a10715f120c3fb2fca195d70", - "0x187eba0db39fb35144ae8c1c18b80e1715c3319f357930a5cb9b1671c114708b", - "0x18a3992d5200519098f41f21195748f93f3354a21ae49961b7f07838bc8db92f", - "0x2fcd1e67add5a8da3a84661e2315e5c53a260ed6cb72466753361655c4d8ea84", - "0x3012323e1908c0e38f7ea7cfe9fa16cdadb836932ddcbd87333762647080b1e4", - "0x09b2baf10fff7767d9be15522a86038967c31bf3c8d080e2c16d46890a8f6cd5", - "0x21a87fe592ff7c5c687db54b40c252c3a5db8e0725fd6c89435c0caf689a9161", - "0x17e993ce5d1678a865db5001b3574a489e7ff5e77a2b9bd80680229a867f27ba", - "0x2d2576a0ccdfc31fd250f9d458e9d9ab49ff88b1252ecbff0d040a85ca0402cd", - "0x10fdefe12d6fcc4de45e314ec530db6d05a29dc34843456835277889bcd6bebb", - "0x0c2bb64888ea0dc37f40c81de55bcfd5c571cb049556412e03bc5f14c3543834", - "0x28e640b3163d677583f7d3429cc71a7f314823faac875a2e4244ef950ddfb6ad", - "0x13253615ad59a3dc6506b95b07b62f1eb7a1456bdc269697251b6ea3d495c1dd", - "0x10c6deb55bc34e018dde2aea36c43793f0bb8d69fc89bc28f568b2fda6da77ed", - "0x174001c8936e4999632bc5baf46a976aa6d1a20d2d5e9ccb17fd3ec3cecbb12f", - "0x045a830865cf4dc89121cda8493debb63cb1c9c5071293efdab129df16d31628", - "0x01a92c8aa6c1f1df9754555a06bec84489e17277a5eb18eaae69523578a9d0c6", - "0x0dc05c1dfb7a43dab8dcc26592c1e03e481d01dcc3c53393429f8f2754258ea0", - "0x2ca3a254a38da917c13af90be25b49ba27fac4dcb90b7e62122a6dbe52e1048d", - "0x209f1c9e436c9668a41084a17e27c0c47b70215184ae2b595892f2ed63d5d063", - "0x129f01b2498ef4f0175c2f2c84fe6d9ddc6411162f1daab37d64938abcb7e5ed", - "0x1164bf853c1bc51ae3be47e5d03d7d7c39c2e5615dfebaf8a54623bb4c774f3e", - "0x0ff15b3fe02c10b32b49006b87fda3ed9fc4c039235148a22356f42b099ce453", - "0x21b3241bf9b9b31cafe9ef2ea758f56d29dd21b4e1ceb397ab203bdeffadcab7", - "0x26c5125ca13abf549720d611d41046cf20dea2d1886554b568c95d7d480f549e", - "0x0f7c9edf307e8353848c3d7dda147eb19ded0b11bdff73c6b88dd0566939593d", - "0x036010565376bd348f3e816fa7eed5387ef4cc3ff32002f5997c5e2ee5b476b1", - "0x02fc2cf0d85fca710c87c4ebfa0c77002dd68779233061795ebb62737bd89b16", - "0x1b8fa90ac52f6999f18036ef43ae3bedccf313be8ea67cd8a4ab2cdb0d45c42f", - "0x2f1fded7771c47ef44cc58d5261f5e1ece45003c062a985a76ef2bdfdd6f8aaf" + "0x281408cd85c7983d51117df9612089138a8c17496ed3699987b0388bf432ddcf", + "0x25d4b128b1285d3744a82d6edd3d614dc71c2488b4d8275b09e372e336303124", + "0x062a0457a4549f421bee5d27798717fae3fb2f54d1daea1614a123ae89231402", + "0x095a0c64a25749edd013f7a865299226274897733e17a27e18b3035e87ea4957", + "0x21ae44ab6eae1e5e36efc1fa2da033f1263b4e5f79a933f50a30e29dbe8e7b5c", + "0x0e0b9390da08827794a4ec4ba615cc1b920b0ba7a4d025ecea17dd9ab051673a", + "0x0de738c4713ff4f10f4ae7d95722999d63478ac0e86471665760c9b2a51295ed", + "0x1b2a0e7dadf7c23942e4f48aa6ccf39ab9e2e4da2d39a4b1c53960944f5dd0cc", + "0x035189f395ce16e7ec12e9f0200ec7ce19b47bba556fca994485ebe220643ee3", + "0x25295033df32fe80b3778b67834b66538c78c240552859e7679cc89490878cc1", + "0x144c592e83880f2778c33cc7ef7b5a6f695b9069e31a01822483fdee70e5ad6d", + "0x1bfc597a232cb1d652adc2a4caf160dd225dfdcb44d301960606f706d58616ea", + "0x056dc17b97cd3e63cb6cae8b7a36e3c4208bfa7dd7a67b9cd7ea9140b0a7d6c8", + "0x01076e07931279dd5909b36b0f3de52a9f20225eb7b6cf05e4e75d952f58292d", + "0x20fc54958af34fd1176a8f0d5385152762f6eaaa4afd9d7221de27b5f526973d", + "0x0bba70b104378c678ed5f57d7b39b8be7a3111e6d5d7b3802c4323525d53d8ec", + "0x1094b5695e0f6027cb645e684bca64b85b4fd8b9922114a546a14dd8f0c3d40b", + "0x2b13ed2ae931fac3da30881dd59b75e6b33ebf8d5e36c1dc62098a68bafef160", + "0x2f58443173a695a29d3e344067cda30c9452b0d137a69743a1fea1babb015625", + "0x2425a9b8304bd5080544a97a67d716fde9c78ba06be9370e86ec4a48abb818a4", + "0x0a24576a8630644c6d31ee0efef9e2e01ff4bdd144db69064d244b8172d9966c", + "0x2ff088f8dba5981edc7638da77816105ac2368ccf7b5386a16bb319b8690ac57", + "0x00b4d663a9d5b6a34e9ac54d177c5534dd8ed4ec6c2c901225d15fcd17b313c5", + "0x0afbd38e7fd64199b6321c9d19f7baf8b9f94df15c348531927892b925fd7cdf", + "0x111fd2604770ff3b887373b2513e4bbb76527e21e30ebf1e2d2070365f7ebe00", + "0x272dcedcc156257e42a606b35305107ba4cd1a0a3d9340e98c0e6ce53cd64cc8", + "0x05f8a6c5e9454f4ac5d3ad9f8c20cf42e03504228074353bbf239cd8678ac019", + "0x114891411376ae6ef37f99a52caf8ed5a7f2cb49422b9aa1a142e7f5eae1a39e", + "0x0e0473a4c8fbf7c8c5cd1c43863cee58973eff9c0a15893ca8e21490a0e0e6e3", + "0x0cbd20e758d18c46704beabd49c79f2983404705f443f3629b30d48ed08b8a57", + "0x2f259f8aa8db9dd2e8f28a71dd8dad6dfe5bd16970e3f2413eb8fda967d280d6", + "0x1a9e349e5b2c9afc91e10f8dbc2d2ad7394c4c5f4adeaf5e23969ba6940078da", + "0x11f71d486031ec8298b13051eac6af8db6ab0b33ea80a1671741b967d93ef321", + "0x064a6c5937aef8d524794fe5c37455a48ae88107d4286d05e97ca6f2ea6f0c58", + "0x0fe9a4fb92687591676807ed231b30de74bb267035923779f3a8058bf04f6ed4", + "0x2d1b742167d8c9f878d85c14887f27ab6cebac83622ce3bf0b1f5b54169c9bac", + "0x1b4a8b329a284a1086e6d6051f2747e86419ffb2444d4c51b329ae80885e88cf", + "0x1a6c229504dcb6bc4827e58f8c7adb5f29453f68a4b4f94447fa0662ae76f86e", + "0x1ee634c75d903a0af019ea7bb30eebd66eae32ac4bd973fdf5d3236ef83884ec", + "0x01730e4e61fdc22fd0b8d5fa2e34aff6c843551778ea218843e704b5fb9f757a", + "0x1fcf7b985670f6feec90cdad4f7b75bfb99fc55ba05f040a664fa798f38a4fd5", + "0x18b0a60ba03400e0357c7e53088a35c920c951ce515ae840d1c42658b5c00835", + "0x0f0730d8cfd04259321cda404a301281a50d630540235e5aab177c04464aa7b4", + "0x1229acf6d438ef2f7961bb899474914676310f0d9ce4b8526e5b0ff7164ac4e9", + "0x07e7acf946273ff2e51b261c2bfced63467a2def32addfc787bbf9840b81b7fb", + "0x1bf3cb3b9856de861d23dc102939dd42c4671d9ca9cf555e3b1a41299b4df9e2", + "0x03c667e2c7fffad82f93e1abd587ff78cd22968e25432677b8287265ff2c9a18", + "0x02bbde87f80a1f12e64207a71866bd7ac9f11614cb20bf531fa165687521eccf", + "0x1edbc3c7d2d50a67a04b27201d10c50b47c6ba9f0289359010a24666c3e094bb", + "0x12cf1f3671cca450afb308ee88843090cd82d7925c453978a35ff48cbc91ab1c", + "0x0ee0a38bd0410b84c276f227f5896a8b37bcdc34272e75281b7bf42f8847080f", + "0x2b23ed2856fd353b9a28716d3e22bf33c62701e44f029b59d75a280d15d95d93", + "0x1d18029b4fb787568e1ad78f528bb147df773b9ec942ff60fac7ff392be2d524", + "0x29cfc66dd5455ed37f4b9591908dee3e092a905796290a1b1d0fa719582e748c", + "0x1244c5ab16c6d40d5186b1c4ff51ac31e3585f9a7d529f226336d055016186f4", + "0x272af4812fe73a600d0dfdb2eaaa16f0aa7eea8d6e359e633f1346e41007b931", + "0x1bc0e52b0470b8df2a633f9b62bf650b64ae7193bbeee83247a5c5d4ef01f8f7", + "0x12dd8c77211eafdda80f756ba8494d46350c9c5f8308d3e8c7f8f87f01f87331", + "0x0ff6c4f3f3b87816b2029f2a656f447a3575955e5f42053c1e82acecbdce59b9", + "0x0c1abc3181d2086b7db4754ceef242aa618d7a3e1adb1d1ef37f3736c71e19f1", + "0x10af93210f11c5185985d7d8bb8226689064ece02e6e2dc7c3c0b7d849e3c614", + "0x162dd1e32c0a486f67376a7d8144505db03706d606a8cc52d762b16f07492aee", + "0x3018d5a1ee22ec8ed5f2ab4387e8f1ed7ee94608bee062a273583513a4a1c681", + "0x14a4627b51f9ff7db3c5e1d783703e5bac914c4088cc463e673650c264f2cb7f", + "0x0cbd6d004cb7363f278d3656866f4cb16a2b66d3ca9684985b61b100d6df55c9", + "0x057a8e84e4051b01da213d0dfb391ea6115bffbfb3ac5266cd652cddf6d60dae", + "0x26e330763b0f05787036be2627ed9f357c174fbb666ddf3a6fa233fc2d86a4a3", + "0x1dfa329c2d9d75f0af613bf1751c3f789e57d6db8abd72ae290104a52e7ada38", + "0x1f3beb7558065108dc5633ebef9406b05d24287ad34a9955819b0b9958b6a676", + "0x1231d76c697ab2779ae4d88f149a7cfa5c05b2d2f96d0a0a5e1da1df8d664e35", + "0x28babcdd7c4efbad10034fab57b70d74ebd8a7774c648c5a028410f96f2b6a94", + "0x08eddfb7a5929c26b447e4429047e084c0c8a22c69acac44252dfb183cba4df4", + "0x06b8e2334d453b6d2606374fba5d3926f9eb1e511940bea5d05712db1aa469d1", + "0x2b8c2703f8fb619081a811151378bf9981ed7929eedede8beb0bff874fc04456", + "0x0716c5123a6e36128e43eb337ebd3365339e99ed070d529bbcb832878bd00a41", + "0x234f7e50044be248df81fb34ab5f1825d3ac589834368bae09939f96fe3bf4e2", + "0x0ec83037987055512c786ef04ea9b077124200e53e68e836a32b8b715ea95523", + "0x172f26b50d7df35b0634c4589d00a589eb51a0a5b3e1f13c74a57051066f5723", + "0x1cbfc986f2fbcb94ec3c4a18342f7860d36bc09481282ac0bbc8f282ca187a15", + "0x1b6403c1df3dff5b4b1f580d15eefa7d36179968123c123bc513f3ae883502b6", + "0x21c3d7ece3dacf3ef397832b721e0088162904d875774e2ba33b49f48cc6dda5", + "0x1ca5783c870cc7411a884a6b2d486539635478d8723adcf1b0717080d19709e6", + "0x197976af7ec6c91c634c187679eff089081293721d363a260eb0956ecdfbfbca", + "0x11d5613dd7fe9173147ab8645608f1ed590800c25a2e6a216bd1188b26c2318b", + "0x13b9efb86eac5662c2e48723a70826843596f53d1e236124a1ee479498f37e1f", + "0x131ce245d1b31c6bdca054d4915d63974e0e25f27b358ecaacfc8143567ec4bd", + "0x10fdda2907abecc058ef9e8dcf739a490bd633340a6a5d5ff088db218a3727f4", + "0x004baebf9ebecf1de366b7c9b671bcf2b720e5e87b4583078342241b98b314a5", + "0x0c8dc128405ba1ff08f3dbe5311d10fbc1d057188fb5375771271efa5d40163a", + "0x07369c2a57954a9a8b74146b2e1c45a540e8fcaf1f8096e2c647f7cac2ec7c20", + "0x0bec38c58efa332173602c52b40bb8a9fe21e84413e253881ab9a202d538599b", + "0x06ba44ccfc6e4478617bf5fa3692cf7e352ef175af3d9a11a174e07a12c27f30", + "0x11df6ae28a4aa59af5227ac343aa2af4962164f391d7f0eab4ff4144c098a42d", + "0x06eac546a2c1948b6c508029622f8af145bc86f76af04462e538fbc9fb6d3e0f", + "0x2492e216a2305c96b8ab851aa318a52bdcb6b68df3a20d394cef693641b48430", + "0x117708d0226ea0825cc335506ea3e43d7395a9cde80e35a4b6e9c9c566a8d5b1", + "0x0fc95da569c50faf708a0c7d3dccbe344684600f698f8d28f65b0eec646d2be8", + "0x1d6f1f63af8fc901ba2e2c064d316fe3d21b221ac00eb55a1486b63734c3d19f", + "0x0ae733b00241f19a068d5f5be5311bae9b2bce647bd2d9116d80cd2dd5c0a699", + "0x2702f257081a876c469d515d0cb4b810088ca99c25cc2b2585ad8142bf9127d2", + "0x009d39da7b991e7cd3004fad959ec1dc2fa60f6e1149559d75ca289e8b1b11e6", + "0x14132b8b2b1ad1f052b7f6e290d33de831f83c250cc55d1eb009afe517c78410", + "0x0431b3cc18502cee0575a45853d238d92e178d5ffbb157039b1e6ae63ca4ed7b", + "0x22ea141ebe6d044b6eaa6f010bb3b0f5eb22d2c690015ee532cc01c24f228d26", + "0x0ddfc6d4983bd24d0c6cdf3b7adf3fd371b6b782ddb2448c32af0c6dc18076cf", + "0x23d44bdde1e0dbe1afa34b5d19470b88940bfe47166e3949905e72d17015a956", + "0x0563f67ae2ad667998413a319afe9d2218521d481bad50711bad3a873d88bb21", + "0x019ca6b1685134a44b70c4d237ed5291a60e189ccfecf776819e9335e70a5fb5", + "0x2aecf0a59ef074f07db88f593a4ea15cbe48020b2ea6c04b3e60e577c002e84d", + "0x2c74ed8a7c754d208e18d6889715fc5ddef2c6e7bdc1b8ce48dfa386761deaaf", + "0x1b086fd2e9364c722b902c00c17f9b3e37a7676c8330fbf3ee8ab35c0f1bae05", + "0x22334509e775b43645afb9353a44d9c08bbadb25ecf0adee8a9fe5eda66bd36a", + "0x28fbad26443e1e1475a597a603f7911fe112551b4453d776c894971ebd82507f", + "0x2c47284d41924dd6a229726bdc8f41d15ca92d1831096553f42781966a46c721", + "0x057f7c7a828e906b5e6a1a5328a2b00f9527e883c2d25e2ce238ede25681855f", + "0x18f543d1e50bfdcf634fb6b121885e64a0f0cc0c500f5f2535e2cfe536c4e846", + "0x0081c991802eba3407ed3d80cf97632fe7b2a37b11d012a26bfb290d5be17260", + "0x09448059afe3b30a1a38dd63da3a5b888a138a2d5b87a0badf864d3774499521", + "0x1a46c14de9d7826b431bf5616e8bc8f95688f2301d5999c53eb90e04b3f3edce", + "0x20b1aa9179e4bf3588453714bd8d4fd5ee5886a6155037f0f287b1b233a2f836", + "0x11267153b70919cac018b1e87c35fd1d29c5c969b1b03e4f087bdc9a723a9715", + "0x2c5ae96b58faa89182b9080ff11ebfc0ad5c226bbf55232ae43d79821b3c5fcf", + "0x26846558f81941e03cfe2c24e10393c53eefe4240b87eacd8cb28724e3e9abcf", + "0x05a08ec601d4cf6e383faabc46e8c24e5b6a8c3429857edba7d123352f89ae7d", + "0x059f347fc5c57f33cf45b04033d006c8fd50f36097c793ce76580a335f49b29a", + "0x2536d212ead506bfbe3afb163fee3e4902161f5f46ad85e504eb7ddda109985f", + "0x02b429c04f784ae6d302edc8ae616d505bd427aba45c5f299da792c26d1b85f2", + "0x19a652087cdc53d3c307a746c5ca052c7daea4c45f93d88a5d699ac28607adc7", + "0x120d92d3f84e0b3d91d32c449bc5a408f2dc6bff0657f70e8d4c465e93eadb5a", + "0x164ba009cc078d60ccffff13bd81b23458c042b2ea080bc5ea976c4a6b9d77ab", + "0x056de51ec1d33fce1ac80c2061c424cabbc306dd9de161aae9cdbbc6c1de7317", + "0x1cb24bf4ae22b7da25959f1d304f86eb78672f6bae573cb9d4e149a01444768d", + "0x10a87c04e287a1f5486dd3b8f10b4c7059f86458f87c5324f18f6776027e8abc", + "0x102bb2d0308f2459ccd79f7275b68bcca7c47302b6fb9265343c021fb6aa981a", + "0x0cf09a24245d0cd69cb2f1b43200b89a0c5879f2ea25a718aacb650cabbb09e6", + "0x19b2d81b4e0a9343b14705a85253fbfdc55654afcd816276d7ce3eac093547cb", + "0x19c4e62c4d3d61e9c2fcf2fc983c7349c83fa0c018e889749854dca48c64f7ca", + "0x156ec38ed61dc0a885cd6541e4e0b376e3078393f9b5ec371a9d7bcdafc19ae8", + "0x15a4d187dff08a50e0f4f17d785352cac4fdf1d15304510c377bbe6433fe20c4", + "0x0c11301e1779a0a53bb1d76eed54dced378b81bc102cc87923a0f94ae8dd73ba", + "0x160526f57d8e908bd7c2d6698384115f743dd1834ed08015681c9fe1493890e8", + "0x221242c3329650bd5618fb35f110ba07ff69a6360d719d083cb92debca6fc710", + "0x15d80a44fc374c15f8ed5bf5baef0e9c5bcc094ba9f976f4afe81161efacd6db", + "0x0f8bb8580c71c4763ef3a783c75bae2e82fc72cf1eaa3e9f132dbabd14fa39f6", + "0x13a4eeb5313d0349f6d13175ec615eceb32d5400c31ff4116c50a49468b3f87e", + "0x2ab5d4125fc33b3124bdc6e77cb65ea95f5b1b307cdd43b8995daa146ca91cb6", + "0x13d00ee164a638f47f054a3ff60cb2098c15a3b8cbfd12d68694ee0de8e2d8ad", + "0x000816f775072377917c86f0902a50f16ecd6063a782c3ae2fa6ebee82c5460a", + "0x2e1d9f898f53f3ac08a85f5ed03fcca375df97771b42250423c12ced605fd390", + "0x2f4ac37eed1f495130771124091efb1f943362dc70e9154179d3512a0b69e820", + "0x2b4f7aaa6dedaf80eab448ffa21d6e0a9adf31ce771c5e7c9e71c4bc8d3d0100", + "0x12d6c74301d2c208503d451f0f6a49b89ef6a4bca5325f60e002b0b80e5e1a4d", + "0x2e0067104a0d952d88c8e9c42ea511657596ae686d575698e4156775f469989c", + "0x2c2d370df4363f7bca213287c4f9710ccacc6f3f47971a7a6bccb35ab326d534", + "0x18764d8d9d74d719b9444fb220b27811b36e26c72897e8f89eb1bde314199dbb", + "0x05f2258e1456b39f696ba826519b49169916fade9a09b2f8a388107b50389e3a", + "0x291d8177ccc6d738b7fb9d7ef3fcb3f5f020d417d433fafe71700f0733cb0449", + "0x21ece17e0aa216b2aec651f5705056e3755d4ac55ba1895fe21e154214a574b4", + "0x059ea56d9ac23c8e9a8779d277e5ccc39bf54dfe81b5abd6944191942bc0f0c0", + "0x02a7f5fc300cd60faa28b540071415b06a84873727b4197090e912c39c6d4151", + "0x14eaf92f4c4eb3d0762120ffa177ac85c074fb488618479bd0b097375f23d4ff", + "0x00cbffac4d8e27a6d3dfd2e8e27c2c50672a7b923495988a5e8bce7fb99bf877", + "0x09f1323eeb7758644fdf6b4493a23af417bf746ff93942b481fc078dd9f0b2f4", + "0x023eab0852cf4d49251010dbecd782fea098a3b116006a248f0288188fddc7bc", + "0x21dfc1e10d5bc96c31811a3a74e884176a2eb4f2642a8e95e626572a10918c5e", + "0x1d865831e32e981b1bc4c05d0d088d61d217cdbf0096475690c3afd680adc3c6", + "0x0023564106e298d031f81e3f103368216f50c5c26ce0556039da7e12d88199f9", + "0x2525353fb9c453432694eb95ef28605e02b7b1f688f4ac3a263cb769e72ba2ed", + "0x113f4c4166d3ca2da012ab763dd20be5c29be024e9d76b5fda6cb1001a72cae8", + "0x11fa7ce70b773f9ce1830f02f7e2d13a09aac9085f0ff6d52fc5a102eafdcb66", + "0x0df56c253eaa94c29eb735376e1614f1479c3163fcc793432e41363c7a092bba", + "0x2d71fb10b53abf76fb43b4fdf2a4adefc96b7c0c26d64fd464830d87186c5e74", + "0x1715a2998ef7f884525c2ed6cc8bd69dd9d6987cda155bf145c67ca35a07c33a", + "0x01dee0484d0bfeb5c92fd7ade6a303e1e04e4a13ce5370d4a9732d3cf0da96d1", + "0x2491c8a2930cc8e7fe32edb42011c25313f660871a9203b05eed2a1b6797b786", + "0x062816629784d321546f8ad99ef3049399b7af9a40c016b550428d61da42e889", + "0x11500654644c00a86a6988eb0cd7ae3907f4db7587ef310ce8a8d34588bca0ed", + "0x10bd2d3063982905a355d4c2890f066eca0b2fa891ff85c87f10fceb0fd28dde", + "0x01f3d65a35b83d70709767af41a6cc1e5a11063d1b16c256947174b85f924d0e", + "0x08791d355d596e44cf61eee4f22d604553c2b44ee3895a1266a2addf99392a11", + "0x1ddcc08b15ca2c9c54df40ccfa947cce7629126ae2d25552a4c7425185adfc0a", + "0x00b415777f1d2f603a2cacd954c344c565b2714fc15e992e054b5223e06a9582", + "0x199d514a7e23e05fa8d513cda24857ed872d70c97f9fbd262773e1a13f20fe68", + "0x09ca9df5f9a9137a980876521cc96a81af6cc81868a66b259f9a5ce9e0e00594", + "0x2838180b980cbe9097e785b5345af59c729348c03ed0d1f37ad83a221f9b5a38", + "0x06d6bcfbf9337d0b9388217ebf80e62225a60e8d6d17320aa76c16bd88608173", + "0x08d0855adf5c503f2be0cb82667d9c7cf99adf417268872b9ed13f79c19d5388", + "0x0be0ed3b19c95c65384325c557f39804eed6dc4994c76edfffc34baf133c3235", + "0x102328b1e8e620b29b8027e0c1058afdc4e9a7af153af99fef6a0fde40bb2b0d", + "0x0262a99112e38629d1133b76df356e480aad1b248d61c726374d11a5434243df", + "0x282a26afae908ed3d2a2a79696e264fc9f33b8be6dcc089a676a0a042afe7702", + "0x1a86103f96755af206378682711247650cac1d82d3ec2ac0a9ec421c30dc31bb", + "0x0df3cbdacbe5ce3b3138357c601a6209a244cdb4ac793b9ec66270b2ebfe7cb9", + "0x203608882e3e7f6e2ab7e272c69e2c9c4086ea2d8d922b4578d76aa71232c80e", + "0x2b440babdf0bf0dc6c6666f109e2ca5ca54d4d416a1bca024ad0d8afe0653392", + "0x1d7f914bac811e20ea69a3aa4aa40a92e062ca83499f0650e747baf88c0146a6", + "0x2abae9cc9a794223e0a166dbc1241f69282c89d7c12b2998da564a50f774c777", + "0x07121a54f02e0af994b2cd11d164daeae8104c3cee3684f6546a83e4178652b7", + "0x1ce172770d0247926c9e22069a5cc71ef00a50d439552a084f0f3e0ecb38f083", + "0x035d909afa18da47c73fb016dfb969949b74a6c74f3091aad210923b7e0c07dc", + "0x2b68856f10ac6f33d10f960f20762d16cf711b99b53bf7c522da7a897f04b85e", + "0x28920ea8159bb8c43ef1c408c895b2f56411da10afd1b15eb06569aa2ad840f6", + "0x2156033e7ef9d81e8651cad55db393fd3808578db93bb1e51c3c58e447fa7e7a", + "0x00da34b8ba6d830a755120691d6371726c5862e58fb37a7cd3dcb50e0d7ca46a", + "0x0f2125ba7c37d15f2d2dafb6bfc1f21707c521a610d02e2acea1b79c56caab11", + "0x102cbfe5b8e1a36cd3fff20b94e77857cec81d4d4d8e5654bd8625eef9ffc373", + "0x23eedb36eb34df6db8a9e0576e3c1190f10c19be6ff7ccaad309266708f28e5e", + "0x26e82fce910f6da846cabe93beb7abed12c1035bf4f0feb3282fe376fff460ab", + "0x1648ce7f5434486fae6771cdcd3e1f8afacfe7b0011c29772f36d08f332bc01d", + "0x187fa1a0162d152f0f4913d4ebb20e15f3b014727fcaabc0ccae9b54d7b0cc56", + "0x2d80ed3ae904bd5e62d419e5bb4306407a48ca637ae3e8c5b56041ea390243bd", + "0x1a299c19b08e77fde002ccb64bf4c70726d0402aee8b5ea0394ff49a16faa9ab", + "0x2f571c49772fd505a108de85e87a084288fb55d30d7e878c175169c4f4688cb0", + "0x18bf9ce371baaca4acd0c42596a9a432a2d774452a5de04da08b2b857c12647f", + "0x298663f0aa6fde8353770765c12196b47c8c3d71dd6a76e388a810f7c7252cff", + "0x0580c7ae74507459e23a8df135a35e201c903335463bcf6107796d846b678b2f", + "0x00b56f3f435d8024ac8da35f9bc2cbf3a617f36b6d446e05ed656085017495a0", + "0x25b8728af90c984f3c7316977dec35a3cddabde89da0933616e20b2126c6a8a6", + "0x0f8645feff96d5d231bb426d93851f13c08f79794490204024d5201704e21059", + "0x13c932f7a52c28c4898dda2b45032c04232274c882de1d23c1bdde5d50934645", + "0x1ce153c92899e258a7b3579d9a3f5634b2038cb89f96f19b8c045799c31e971b", + "0x1c5fcd104b42f88870b4137f18421e8cf6c1ac4ef15757d3be066ce640ff0040", + "0x156afbe5885c72856ad656a87bb43f7b21550f89af753a423eab336986ef4d44", + "0x2f6e69ee2b9003394b92883a1c70df4c9181c851465e36d707cee5bbbbb050ed", + "0x06ef6804f1f70d724c050884da209cd89ee9b53724b85e01c37c9d8311906b39", + "0x0487ed8b4d40970e24e01c8510c3c1ce9ddbfb2e7c3a6f7dba40cb2d2c7f8cbe", + "0x090ca8ebd94880f5ac2770a73b6cc5148c68c18a669e8a02c641dafb9b5bf9a6", + "0x2122b1e3b57b3193b0a067918c57ddbecdeedf979217b5dbb5e8413fa53af413", + "0x089aab760e5d58e410f3463001235e6ddc45f72229a650dbb900da16d11efa51", + "0x0f947d31a8816bb0ad8530d17e6ed4707e81efc68588194f8e49f771c281b820", + "0x00d4ec6b7a3ac017eea0d4f40f61e8150b48b7522d3c9ba003f5fc2a297e4aae", + "0x1162b32b85ac00ef6ac78de7b0b587c00c603e25ae4ec77d5c509b804bd147e3", + "0x23b2eb5d029127a791873c594e804cbaf662506fbf775b99c66713a0a772d30a", + "0x21bc9332c4776ea59b36076d768079cc2f69f0c613c64eb73dad154d30c5b491", + "0x171671a206d40169d02bdfa2027bc2e9637b3ffcf072893f3f7a8aceb32dcae1", + "0x0d54cbe15374ce5481eb486f579b0b147bbeed24a6d184f60d703d29e6097d72", + "0x2456db015231c8c20907e27fbbe6bc9cd87bd0561191e10476046f89a9431465", + "0x101d4254c11fa8c3fabcd62ef1b56ebb2b7f089b56aee6344a9ea32e49c7584a", + "0x034f4dbbf4ad08df7b0fcd7eb0ee8d3d800ed136d2363d4a89fe850623e615b1", + "0x1513a8f84954948a7e5514b8b350d2172d80cb12efa818986051beefeb4b9a59", + "0x09b87d7260a4aa2d10468f2800f5a8d259d5f6efc49d3f81369ac4642fa87323", + "0x28488cf74dc70109ba87ebb313c0de3fd0814ff5097db2472c590129a81b5b8b", + "0x104d11128e33ede0c1aca986d024de2a76283ac732dce0c17b1e954b423fe85a", + "0x0488195fa532a3ac2f222194279ccb5db6e4bfaa846419b74a823eed676f8d77", + "0x2ab671b48d5548bd51afd8bfd8f8a4dfc8d32632932fddc948af1f73207c59e6", + "0x2bc0469001dd5d55d2f3cb599ca3adae9ffc9f2917fd787650eb199e3edb97bc", + "0x0055efd28b6ae8c64a6af469c3e2c148dc110a9b5d0bafc928d98ed474896336", + "0x2ea080b8509e50f34641403939ead972f859fe0c9374ce273a23dab9c40b42c0", + "0x28d9e097febfca7fc91b3f74cc09a726842f61ce982025f63a33537f8cb67666", + "0x07f1e8a85bd30a96c37baa0375411c0670b870f45b033376b22d8cf34b5a3395", + "0x031d1c38b64fdcdd0e5eb6a8ad9323f3152abb214bf2585b4e2ea7d0b760fb08", + "0x0423fb165540f45aa51e3134bd701a4c937087791092fd50e3b63ddd50517389", + "0x07673e4921f4bce779c90bb26921ffcd3902b1587d099322232c0258b88d0dd3", + "0x13f6bf8d3e43b9f373a0581ee0e29918ff70e35e40fd3c0a72c145b55478fe50", + "0x215303197d432cf2150ac696c3789b9225f91ab202b1203843385c654830e4f5", + "0x06074ac71423451158fd0ad861448eb51f4ce2944371cbf24f731528482dd2b8", + "0x187c0657a71e6f495f36026384b7d330c2be7fe4d6e88b517dd1e149159f3093", + "0x10cdaf97c77086869c8f12a5c2181b22a472df6c83a203c206a2e10956299017", + "0x1663926fe38dd99ec9a24e052a8594e89a86575e2f50313dd7645abc4c91c7e8", + "0x19721361ad98400af1a5e540f6407a774d0eda05b4c87e947a7877c2c794533b", + "0x0da66d530785f7f58999ebd7471e36298da06f493a1a020ce5b4dddcc0daa7f3", + "0x0da0b02677324f7cacc3ac8b1ac55f6e036cab536ae7cf652b755ad256c5a458", + "0x2ac32b3cb5129dea1899272a73fed8d6c442c5347ba1cca6b1f2a2ef9d02a4bd", + "0x24422772f738b02c41c23f4feec93ffae13d62db5719b28dac580fd7dd81ffe5", + "0x1b9f20224eea7effde74f17f12f6379104ddd1092e5884295460816c08dda5b4", + "0x26e46ef2c9412e35862edecad7545a7fd1abf14a5c142f29ed0213847b64ca29", + "0x2cc1f9379a2a200ac1a0cdca396dff62c4c8708851855513fa9c983dd15522b2", + "0x1795add31890b2dcf64162676d260aad7f6b1ace1a6dcd48524ba5d790aaed70", + "0x12860457834bbf7367066360cdaeaf49340162d7913a6e7aef6cb3521b7ffd4e", + "0x060d4089d190514cf550d1864e99863858128a59b58b19c5982fd2e74b8d73ca", + "0x271c0e3f96fff10c758f6b9264dc7c5ec2501b42eb592e07b2385d89e79c0bcf", + "0x2c117026bec0c21057adb1c5ddf8dece328697072ebe8c24db36f8d54b5741a2", + "0x0f655cc2130efcf1049e3acf6c4f15a0619dc9821a3d61a2416e5186254a0921", + "0x25c43f48e773ebd1039ab769117829dccce96a34c80eba1786811c30a048209d", + "0x18e1dd18e799b7d1b2782f9b34533352ab9dc83459e31f9c354599e63e1c277f", + "0x184538f2d2ac684d9433aa48133dc4189fd6f18d8291ece09299a38f19246d4c", + "0x192a54b45bec166f8ad03f33262603b65b9f17ead93d7ad92eb37eff560dea04", + "0x1d49262a875903c9378b35cb5ee72d234df7767694bba76436aa5d5e5e726a44", + "0x2adcc1218e06cb3cfdf68e86afba5ddb3f192e81e64b961631fca77828321dcc", + "0x2e3517ac0a1f007c23e36f08f796b0a0b463f9fea2c58eb5a1ab379267c5b311", + "0x1cecf634a86c5148424553e3ea8b75261d21b4adbad72d34837c483a7545c03d", + "0x0c080c430327ce636521c8606aafa493f0ae5f91bd09ab73eab2a5c449dd1380", + "0x2895a5c4d89330e432bd0b79ba0886aaba3acf5880dcd084d78f75a6a5350cc6", + "0x1133020249c41dfcc3c13c33304de8ba6c9115e1dd03533ce33e156b281d2443", + "0x082aa197f8ec68ce9985be4bec030c99fe33899e0abe36841e61f3c16c163dd3", + "0x0527bf85deb733e8fc9b9721d2de774dc3bb4762f62adbad14e37c1fae8dc420", + "0x0d3189949fd2fa780fe294ecf5d2bf81e7d2f9d8b49842266838f1a1d70241cb", + "0x2f4e0c7bb4f9365be6b0486aec13fb01a708bbe0db8b3cc8b054ca6f7cdb87a3", + "0x2a519a171abda7d9769c7a8e0f2a7736f352e35af0e48963582fb4304f7d7896", + "0x2c53337ca3a894260fb547269c65911d0201626c38fedefedffcb6eb1aa2e31b", + "0x0732e09417fd881b19a17f0d553f0cb6af20446572e5edfb5c8f57cc6fdf22e5", + "0x1f90a5b3678dbd16d2934e8b91b191e980bdb5f2c729dceb2a1cfdfe6789a001", + "0x1b08349d6707e23cccf4a68413b8d78518f7c7bcd2ca4c552fa7df273e52cf88", + "0x04d993a9d4744f07701630eda5224230ed888f5283f8c0de9fad8f59dfdadb2c", + "0x11e0841d9b1716a0ad7f04273b90f9e55da36d7719bd81cd4ef6d9ae29a7ecab", + "0x15cc99801d286efe5e04d7973c67c1dcbe1cc29cb608a7daf7d20437c07739f7", + "0x0f03ea20acfac63298cbb04b45e2039cc9fd6f9286bc32d7edd8cd1ad4c6efe8", + "0x1f8260b6cc9524177472130533791427950eae782abd960071fa5fe605352c85", + "0x29a64db05fb3ec2392fcf9bf5d2a8f56253cd625207558a719f39d1da4fa3663", + "0x2e40a1c8493c228faca06b8b1765d53244889ec46eb8bc11792207a3072e6f73", + "0x1d77cdd5a298fc5b8d8847da853a8bf43a5827d2656623bbfae13a9528422d4b", + "0x151f21c4e699fefcb4b0540484564b1927b526b1ba3d3dcdc02891d3a7271438", + "0x18c272d223469c487a9c32be5f5ccd97a1dad225069054192458321425eb3532", + "0x089416e13197c2ad6929ad092913cb95411f0a7b0f6efb2b5b3868dbc911c792", + "0x0b6ff627641f3d7a701d3dcaff9a2efb7317db2e42ddcd3c580e87e5e5e4a951", + "0x177c2058cf1193a304f4ed54b86ecd168daf5021cbabd8ec894ddd24ea65bd6f", + "0x2d8b4663a797fe7f989a1116a57c00e2f9dba72d937a8995d116a126db873b67", + "0x0da78279248334175093e4a077e943679adeb3b1fb45701991cf002cf9247b3a", + "0x1e3086d7eb83793b3995371f5d52134909fd31eecbb77875fe220c058b253fd1", + "0x19a0b5ecc925d120d3e3e705ae52b6334830f7b8eb28d8c472a821cacc2af862", + "0x1b8cf73f79efb17a3c22d7a1d96c6deafebaa330d5131aab7fa2bef83bf163cf", + "0x29a837fd8edefacc45ac0fc31056609b042fc0699a8300976e9d7a4ca4eced1a", + "0x1efe3655e7c2c670e25fd5787c47eda5a7612107db3c5dc58a6923ee2b5b6b1e", + "0x19c3b6f8add52a30ac1ed710b72efb261e2e9c323c4a3763fbd443bc9639c4f4", + "0x061717dfafb3ffe55797b115662a811b8001f5024da876ca0c4c7a71c69cca12", + "0x0c192649d53c67b77bd3d362a9896396860bd287fb3ae8fb2322a084e918d4e2", + "0x28175776ea90e5e96301a5ee829eb7bfe9cf344f25b4019462c619bbbc7d25c3", + "0x2c6e948692b37db56204eae12d510449784a631212837172f653d607c1067b19", + "0x2f76d551f20f6ceefb46650abdb94d38e9e20261da282a3e590b1ccaf40c4f87", + "0x27e8d524670190a078be6db74c48252c51bf52c54c143448d951e39fdefa6b7c", + "0x0ebb146681d90e0f802632a255513d4178bbdf1a09a5ae5802a13b2bc2d184f1", + "0x16ca02f0b4e04e582aacda34a9748df9b89172cff9f503c40af9a5baf4324ef3", + "0x108bf315f3b21bdad843318265f40298e401486591e59d0c4f58ce456b9628af", + "0x1a163526f7ca79ed93bad6edba1163c17798b99c82d73caa4fa71141e5ad6c27", + "0x29acebce08cc112b19b5d6794c2dc4c41641635dcc663c6fcc7f2d397679e2d9", + "0x16cac6e4c0d12a34bc81ba609ebf203813f228d3fdf69c569c3c1e0175ca11f7", + "0x21e24c2edacfd0cedd78745e0da0eb7ad2f2edc859269a86c4b36b764cdbfe27", + "0x2eeb82874a3f324c6ba0f4a4f366314da1e1457cc33af8c20176cd8c433f789a", + "0x23624c0e237a4a7f316b342cc00e8b912c04a39f4a2c12b95a6c0d6797407157", + "0x0ee53bc95a9df6f4986c87e4384b0f0367582ebb82d60b5c19b2f7e579b3a1f0", + "0x0464b1142244f86882308dd95795c8962ef561dbfce404f8c8cd7bebebc50039", + "0x27d7277aa89a1ab93651bc833c8b7593b099c84e1313a81c5eac099c9b437e6a", + "0x15089fda7a82cd749c8e09ec4313f66e9cb29f574f9c2dfa790dacd037c1dcb4", + "0x09721b94e036b777f7d1842e8773cac8b9bd13bc223cba9f8941d2e9bce67eca", + "0x0e2696af74d9526ef8647eedb235da509a5a0966f1d430960d462a5d2d7e6cfd", + "0x002fbe958e739ebe9abfad1414884984c19bd00b971c380bcc2964afe8fde2e0", + "0x1534561070d858be11aa1cd1256bfa3f4fd6366e171cc32c129d316dc7452029", + "0x09e678a1e75105c8b753874dbfa63f032c397585f1173e8a0d94ff41df0b64eb", + "0x135ba418bec9426e90b37f53027cacc811a028a8927d4ee38ad0fce92775d111", + "0x01173a81393da50e3f135c6770b051b708fd8bbc775d4a3b29cdddbcddd1eb4d", + "0x1560c4dcf0e3c1df69b2118dc2439629f6e0d12468b287c0d2171dd8c550c24b", + "0x0201defeaf59e8eac3023ecf26f2e77889d0204722cf416cbd66722d5682bc13", + "0x08425a12a73ba5ac1e609486c76a9d5411f32d2e1f24d1070f0d94164c90b2f4", + "0x14580571c7813c1b1d59ec0a29f574a1744869c917b65a3d7ba8d59de88d4a62", + "0x0ba859c0946c459fbe4e3e83093dfc46465288962d032f7f1736463d24240302", + "0x0c3053a7e264a41dca07b2edc31007a8b7b73d141a8967bd5152e91bcc1a6499", + "0x1afff3702235a0d55ff19d60fa991934270a21fb18e6b116bbf4305456ab6372", + "0x2b0ae7de631df818b3345239886cf936e66588153a004df70ec00deb709220f9", + "0x2c924255f82ba990d4c3dfa32aa7add3f8a6ad860830149bba13bf3472d7adca", + "0x2277cf6c13224e9069925e177e7dbc10f53d9cecd2e361b98f1cb3c1ecf59042", + "0x0c9dbda83cb2c8f3cdc8ba1539285eafc34dd2152152075011a0ccd7aef87e7f", + "0x20f2755854c19cb9f2a835618659a316e502986934696afe41c576161023d2cf", + "0x1ff036a3d17d70c4ca16e5672a1d6f8b0005db9e46e9eccc93ec7b3e5f59d7b2", + "0x13dd7ef9ea30984acb4a8604bf6e4270d1f6601be8341eabe83b4218d4df2e56", + "0x22766a0ed11947e49421e5439b33c25b57511ce65c8cf1dea8edada6cd34c232", + "0x2e99690c3e9018404adccd4bcdb571dcbbef088d3ec10baa94bbafa4b5dfa64a", + "0x297cc976ace4ca5cc20aa0eb1989f482d98dec2fec8056c2767db2ebc543cb5a", + "0x01875c98d0f7adcf88e5ebbc3efd0206de78db50e95f4c7c49575642eb903048", + "0x0e268b203cd96bfc0bd3e4d0d21be46783cee3d67d1206d0a9b95e982d235482", + "0x154eab27a2b34e96ede97bb9de5e4cb26c374b4b8bc462adcae9d115e9693d68", + "0x01b508bb88fcea5828bb09ab375debab8efae08b00cdbeb55615f4e6b98128d7", + "0x2418430a0adb11cfa171f4f29285cc0ea816d0fd9bf14542aaef5fd18a0e412a", + "0x0a43a40cfb8e2199c287b6bf4d5845573e1363e1ef5e6748ee78e2aa0f1db8d3", + "0x0cefad6726a042422b9dbd8a310caa2d3185695da91a9af12b3bcae98895c8c3", + "0x2b46ce22401e1a9bcf2a501127df3d4c8ebea5eb0fbe008f416809e8649066fb", + "0x1b4b8de899cc6094e5b43703543b6e8568f4b620d031477ec9d52be655cef853", + "0x1eb399c4af44db774d51507284470065c6e0ecf0989518b808fc2a6fa2fa7fc4", + "0x0effbf2ba28829f63202b71716fc28d773979204e0ad7c44b7d3732c23066a1b", + "0x29dff2cfd21b5f01406482a4da6852fda70581daf4b8ff34897a5490e5d3a9c3", + "0x05e3b0b876e7e7e6281c690ccd7644f398d0e719365efd89b2412d389e4ea724", + "0x1db3c326fbe9fc111e19195c7d99dc332037bddde021380e704868351dab4ed3", + "0x09de2ae1832e9e2a0f88624c51753c2c3d59cb6fb3636efb22fe65131747aa1c", + "0x1d58542239b022bec1d18d01deb4ecef5c5daf841ec48c8f717afe9463eaf38a", + "0x2b8f39ed44ed33096f96ab8df9565b64b3544a3194c8fff94d64f9a22daf5f93", + "0x22b10b7b219c592312b9aeb502162d0476d6a731200108ea3b1fb7424d231cb0", + "0x0e424d5c1019a50d913e69fee8bf8a52449c2f0acb80dc3edaeabe47ac2da5e8", + "0x2d982859b37bbfe79947326bfd6ac08a4b357c219db788a578b5b873dc3ea385", + "0x23225149e8166e2a40551b9415adb417abe8bba4b0b4b039809411ad510b97a3", + "0x214a07daecf4e810754b1163f17d128968e24f7847716a4f90f69be4a8770e85", + "0x25223eae4136e9085672990862d70a2d50d2c09a70b9129259156864fecc0591", + "0x103e069329bea7b1b2e864452c9a2c855d7c25ad3cd6f826dd594785132ab5f3", + "0x05a6e33b87f77d133b000e8153dd5cee74e6eaaa9c364dc2c0c4b8971e807d5b", + "0x18c0dd2030d713e7e131ca06bde4c57e3f76b6ae0c525c955b63ecd9a484bc62", + "0x1e6782f16e6556fe071381f731d1ebac769edd153e212c70844a17c31ceb5721", + "0x2ed9b25b749e6e64e34e6a556868b26e212966ed279f42001f3698f7c72d1535", + "0x188015d19d6d5cf833d829b2130023d58436f06548f6fd6e5e4d4b169218bd60", + "0x09312b00b9fb2c68327064bf5bab0337369bb7e2bb11c6c5f4b01c2732004f09", + "0x04c69b6116715c812c9296ce089ef6e388aefd7d4390e740df4ebdd4ea3051a5", + "0x0d542d2b7cf3ec1a0adcfac0799909997a342c675793c30da1ddedea36433180", + "0x162758edca99dc265126eabf3de67e40457cfdc2c313e32e65e922f9b3e67a35", + "0x0313043deae5c9e7e80bca1f465d0e2f8b8571e09efab0be14b74e37508f28ec", + "0x2a6498c412abe267b432509d7b1cc5017fe56b43fb1b5377d536ee76d6f49733", + "0x0ccca75b1deed179e521e44088b8e6663ccc111225a27a5ee35364fecd5ad4c8", + "0x25e55e65fb598339caca016ffa25bc62a656aaccc0ea849a7a4891423aff39f1", + "0x2bb175b8725e07a10bf7f0d979a1a20d541adbe45247e7e8140b0d756fe4ecbb", + "0x2998007c41ec5b61392bafa7e66b519a29c4d65ff4a23a5fa33352bf18b04ede", + "0x0e0d4a3b19a92fe0d92a26b49fb62337dd5f287c3b9ef5808cfe912bba4af209", + "0x07c38fd6b04d8ab75c204501c6782f6a3a887e717200c8025318ba30f43948ab", + "0x15b9751086952d6c9b97d013082dc1ba13c30abafec2d2c22dcea9a3e731401b", + "0x16ee4e2ce7d30be690942e4ec7cc5c54893c1cfb222768108476c91dbff9e001", + "0x1a2d01a38829664ca769d979c013c88d8cb2b36f0f54ffbabd8384421fa2a40f", + "0x143dce631e577df73d727396b7e301814d67dddd117176368bab375604878551", + "0x2d528572e74339a1d42bc18832d30c6e36a5b50f2b07c497fc1e677ba0b22fe5", + "0x2d79dc34bfc51f4cede695d388a13814e701ca55b85162a89aa2a66b72c3e19b", + "0x0f2d5d2ae572870ac492cdcbfb1fcb765a7da218f425f1fa4fff00947289aff0", + "0x097c1932c417ecc0d9306ea7a9d28467e1ce0f917177c16793135d55c9e2d20a", + "0x0dd9d9fc6acbfcc4b57484fe0f695eaab45fd1ee1f7d81b6e7ee56abf099ef31", + "0x17ed64560034ed8995a536edefb076117777397ced0d1d297da776e74ddaa94f", + "0x16b368ce8cd3ac1cb36a8524681748635735f5dea3785afd03f33970bcf2ab63", + "0x2d27d0c90b0430d5344e3335050bb8e9ff92e6252c1b39ed9ebabdb333f1e68c", + "0x01b1a7b5d047688871fd986d3b0abab5ee72b572c4563b1fe553fc4e365a0e29", + "0x137844862c62fee106baf83c25525e2ad0f3b47bfe1334eb2186aeae2331904f", + "0x23bbcdd53b01b33ab0e4531f8a1832c89638c3d60cea1bbd767ed857fe8eca49", + "0x1050a40e625054b9a8f4482ba3fbaf2ddf057d1d0cf106920316357e3f2d69bc", + "0x2b7f56baa6dddaf4020da2b8ffae03ed8027c526472f9606c9fcf341c02283af", + "0x088e60a69b4ff66ba3541f8a000a40a3837ad55e5b4e6edb334da09b96018567", + "0x1a8ef8e1463570fc2322ae96d0e14cf89b300caad6b610d06eba7d7931c7076f", + "0x24df8c18bd79806897404632e87733fdcac865118941ee481b18ffbd50e9d09d", + "0x0e2ff33e273c06857786d168be0f98dc16ab609e8fdda2c4ea00c84971cbf273", + "0x0b9bbded9f737d2e77ca0546cb43461bad72bdcf6161d21267fb3f291415e9f3", + "0x03d3d33e3856a7f8f4d024e68cca0537b6e9f71a1c9d8aed752df237590629ca", + "0x233bb32238d8acfbc8264860a2f98d0dc09120f9a37a32f7b7120dd80fcaf885", + "0x301aa8d9c39af563f3e1b39e6bdc7c5763f7951b5e7072312d327df49a580a5a", + "0x0bfee3b61bbfb8d10623205d690e8035d348c3c24ed54d95c6c10e6843dd1aae", + "0x2aaff61cc09179d1676c52c8f93cbec6605f4e6d966d1190208c47236d3ebce2", + "0x0a71553536e817abdf45c9a0d8054dac27ed0bb55832ca38bdb3b45ce704c222", + "0x0aa2de569e2427c0d365cb407732c4bd453872ef371a693975c4f29695109124", + "0x0fcf3a83ddd105342ba5f0d73660b235911f82ae6d76cd024c80e00a23c31e26", + "0x2d9bc7c5015c4dce9ba502dec0c61b47db74e4ea5e3b892cde7719cc3c9c5169", + "0x246a4b3828bf4d787a7887ac06cd7a26db1a29c770813a9c287605ebcdc98b4f", + "0x2d62bcfa7610d0b0a69a38425596562a53f0d256a6007f975407daae3880d34a", + "0x2b6e1189db5f7f0ef243b965839ec71a6e48aedba0143506a927fb60704103f1", + "0x01ee02a774b48f7dc169fc4ed593ac43465a0a1a0c7d3ccbf832a6687d1857a7", + "0x093660373f1b5e76182163f603d64999dfb582d40c18e62728090408c737ac14", + "0x2033d9f2fee3fe8796a148e75ef65ba207f501be76e6e2a81522a8dd77a9620d", + "0x0f0c939f8b7cb3494b9b97fef2af46976e077138917b9d064645cf8f6ba24a5d", + "0x060b88541011a9a3f7c7282c397ac73b9f703cc16375fc73fd502ad43fe37138", + "0x25ef1b17f98d30ba8d0ff0d05a4307c85a4e92aa992240814aa09e9693ba26e6", + "0x2c3725a3097067c29c1000111f3fa9b3af03e87cc541f85bb99d7cc2a3cb17e4", + "0x1932e91399758e5adc99bf828e22943bc7dc03a7299eda49b4915770bbd724bb", + "0x262213adefd4e67205c0f270a4df0a0f2dbca7fb91d7af21e5f3619adf15e8dc", + "0x0ad31475e770000c3d4f0c50ed1b153bd1abaa39444c4c93064cb4182d2a4ebb", + "0x2e96d8e7c3834c13bffc12c0d38e0e57d40da31a5af064d2d451f044bb7983c9", + "0x0e221f5b29726abbf50095c4e358ec21b6e0ecd2c1f718e9a6ba567f2e8d6181", + "0x252c0be0243a652371d10a791f5ebe12755b619d28e55b671676a9c357347021", + "0x28079e470a8ae7fe54cfeccd4e61a4ea0a344a49fb7119c10b4fce6878844c4e", + "0x1593a22ef2fb8826030cd81218fd89172709ee2db40d9a4ecf9465d19852e64f", + "0x1ad66bfa0ad7e427f8cc5e6335aea843377a879ff55fade0f4424bfa3ac8dfe4", + "0x2980f6ff9c2307a879d47e9ea19eb24d16cc4da3bad3392748c7593ddd759f48", + "0x1ea3e0098a91228448e75fc2ac6e9c9d56ed182dc68e70303f5d1877bfe5778f", + "0x290e456dad3766d8d563af091099f26f2e734870b652887901ce58dca7d8098e", + "0x0c66caebfb7e468f810a08b813aa347a2a2867ed236737e44fe45b544047dab0", + "0x09da4d7456c4a6d9522ea7e168dc5cc6fe5c3d15aa6af23483fca5624375204c", + "0x2af3c4ecac5a32aed4b7882f7a0a9d11ab7d98b9f60248f71b4c42dc26bb9b3f", + "0x2bcee81d6ddbb4bef6ab899340a7956cad928708f3d83f3ebc031b0e05e1f18d", + "0x13a3a730e7a49ad4480b74455c265c1eb19836fe1621185f1a5760d5d4866ace", + "0x15f90cdaa89380853fc5377f437e35c5fc99ea8527c47a6d624630bf264674df", + "0x263b11f4b4bd81785ac97c787ec3f5bd786599a5aa60d5187586b9acd1c9f3f1", + "0x0ad023c0dd8bd0ad31c168f910be3ec092f0d1af9293f7a839725180a9745c85", + "0x22bf9ba49204c46065783f35dcd4ab6402f46b0956d7aae5eb9fe6b1edb19667", + "0x1a32433bfc2e2d68f7b0955ab1f1e355d87452714761ff74afe54eb5ce52c5e6", + "0x20b44a95478b8e3d23a26df7faa157bdf3ed285f61648cdc7255e7ed75368f06", + "0x2e5ca8b0a722bf8661819f5a1766b94a2bfaa936868f6d6c18f592e0e7c41af5", + "0x2f7e28bd9c49f95f66131e824812cb21294823fd28fda93fea46ce2e4aefcca6", + "0x24bdf98a4e78cc193ad7cce0fd6e825598fb6c2764a944d594787f7da623bdac", + "0x2eaa6fda05ee65610268f8744914f431cff73ec380c5a999121ebe500969a711", + "0x0d06fb79fd4bd70a6b5ad57cd8259ad498d5d5f478d7507625348409e1b8045e", + "0x0d3b8a83461c63e03d7a6789a66685f2c26153d6c4ead48adf10d22e88ba8a53", + "0x20268da3b8f588f5c815843c92e19cca92c3f018484e011fbbae4603ff5d0788", + "0x1219899f9ebd16f3734cf6b644e72f209a5eb3e7dcd767923647fc993aa83af5", + "0x15f9166dbfc151868301e9334a3b0c135cd160d2d426050f7ea9f88353cecbba", + "0x0846f48766632527afb1af42bb49aaa516043d99c5945776afcf0507db76d89b", + "0x007a404c3095e888a9a444d7f6bd2f1bdc2a58fae0ce7396ab635923a7b15e98", + "0x06f1f3c49c454dcff0b483e64942482c1e3e089e8c418be4d214c29920482ea6", + "0x065fef6076c5d6a5b9135f4560ea78ea0352d6fa495637a28f3794d40dc4db42", + "0x0c15abe30eb7f0e163c7da559d96b8dacfe7f76921ef9237d8ddf72bcf20df9e", + "0x2fd1aeedd14e6df937826c7b0cc515d185eeb43b69c39ff56979dccee9964c8c", + "0x08b0179280d57a99227cd4a3388f4717e3fbea259ef047a7745e5d70f1b321e9", + "0x0c7a1adfb87ea4300d3804788b4b98be29e8719adb2b022c1c4545c55fb8bd7a", + "0x213b0458e2d31fc58896e4bf233064ffb09f94036c01cd0ec4627a27db7b7a14", + "0x00b35def1d67c849ed58a5f76e4c6ee4228cd4082bf200237f72fcf364d7989b", + "0x2ec78168287d120b8fddaa52f5c6e2401c4f5162c43b721386f551b72d4f1a1d", + "0x1767c0fa2fffda4d26de7998d9c480a6b1f6eff1741196a79fe431c0c018e273", + "0x09c51e46bdbeb75bbb0b3cc28ee18ad5903f716030a219344214faeebc201431", + "0x0ab20a1ca9ad360d6b1013766c57d014f4b26ca43151855107698c7ccac3d0aa", + "0x28ba2657084b5fbd33477d1e756ad4a2e308f7d50be641402bca92774a2cc764", + "0x0c649582578ae61a6855e939717d8acb8f01ad630065d7e95e6596981732b0ff", + "0x01916a24e631fcf4e6efe1494baede0d08ed50ce8a7541c9620a77d6893f906f", + "0x28c13f61789149e79b36f3613b47178037ec0332069202cf7d93ac87e6812268", + "0x1be4d602271ad4452d0a1a12e5fbfea76b19298e7c480a1ffa2c05e20bc1e49e", + "0x11c877bd5de7b889f6039c1151434b1729f0b57ef6f4242b41aa28e17e4df719", + "0x1185a6dfd6e399af63122c6b848e005ab7b0ba0f916f3ccb316124c02efc0617", + "0x1bab98b69a9edbe1d650dd8a9eab52e020e3de1369e2c93bea94eb653abc54e1", + "0x06c34a1c3bde10d0c1745be88bbbee47450b36eee2a7e399961382f28eaff0d7", + "0x10decbaa788aa7975f515429bfc88f6e26465c7f15c065e1d15efe875c27b5e3", + "0x09d2c161c06d0a706646967a073ad3812bdb9bd14ead850cc751f1dceea4e12c", + "0x04afd2898486d8480c48bac123abb56cfac009345ee5f93ce7bec60413a84a4f", + "0x0ee2f504953498db174fbb2a9fbaab99a38168a81e66a14f6f4e345a2b5cdc3d", + "0x0921582d6614ae9847cb7446c2f7a867b031b168397e570d730802daf5437287", + "0x1ae769404ccb6f8d0a968d846c7c090f4de8829561118e617387569f330c4afd", + "0x0eda644a3c95a0d681c2d409ed9a3a742126b1d4afe38a4b3f2b669d59acafaf", + "0x1b2a541bace6720e0762267e3893672c7825fd70e78895621531af454d8e4a35", + "0x0881eb41d132571d17f95ef420eaf0b3078be94bdfd91d28c52bdab30f191274", + "0x296dfcb0abc2a3d8a183801dd6d62108c91461666aec78bf58a11faed793092c", + "0x14ec0da507c429cc5935535bc1f38d99bcaee85b2e455cf13c2b415c94e5af0c", + "0x1461a60320d154ed083d6f3d6b7b221f1f32a2f3278b6ecd3162b1481b79cca8", + "0x0f3ba4063b804057962cec0b1fe8956802c5df49a665d30d08e446c3f67fe5b7", + "0x197c071afc8071414f662e7b1cbdc3cb7b29329e6a33c94cf30be2615b8ee00d", + "0x038098a84070c5dcdb04b6141bd569ce48b5d4a90a80e597a59bc11d251c37b7", + "0x0cd5edfd23f12027515609a3f91d00ab92d972055740a8cf4192d285bd640ee7", + "0x0130d2fabf2a897f77bcdde3d328d2d711da54049ca57360daac1d5349b352be", + "0x0d72552b471dfd009be7ece8e37d75e2649f412d359643170e0961e0c56aa122", + "0x09af1fd0b8601a6fe952fdb483e767cd73bc654493d12a25b54c8da76e859493", + "0x19fc747127c8f3c613bd60e4f26681724b6003393fd995009baab79084dd9278", + "0x18aaee924be18d0391e71b95d1ba028760c6fe9e1b277b66c2d8bd833658952f", + "0x2cbd5474e217fc94f4bd98b186e82daa2cf18d6c8edf00db6eac89e7263a1ea7", + "0x3046d5930d416902dfe1e55f8f79b1cdebd22ab137fa1811a810e3ca41a6b2f6", + "0x1916d79e6b898ee96f91163c9e222c5eeb47c1d9916f88a0e2c1d130c1f82475", + "0x2943b82a170057d158f75418697cdbd5ce9ceca4d90066d9ebc6bbcc07030b20", + "0x28c16a6b2aa237c3a5e37f33f0363888b5701978b4f992bdbdc64870bba7e497", + "0x1da10a805af4765b35a0a4be707c719991a361aa92e7c544d3599711bd9030c5", + "0x03fb811eea1651723db294ab0a78f998ad4f08d173cf592cd540b579a633fbe1", + "0x0ec364102eb82119ff9c0f8f11b466a5e82da7edc2282434a2e5911e785e15f0", + "0x12ef271ee387350c80983da6f803808b7389b600fbcb0ebcdc864e489baeb673", + "0x2255a3b137fb7ba0988c1c7b3d578d20341cc8651922ba2601e06f79d472e215", + "0x200b8cb176ea4eda07e21d47931c912337912497adbb830e6aae9d9cde0cf7a9", + "0x272c65dd76f4c0cbf6c60a2bde98be0b716c4a2aaf68e7cc043ef72537ebd414", + "0x1025ba8a7bdeea16adf9a87433089d25e3ff5ea2ff507be3b103ef15635bd80f", + "0x131d5bbbf765dfdb3df06a2a60d519e203116e86572e204048fba47a6dfa211b", + "0x09aa9e42aab7a9091f6853b0a10daf66ec413886f98c5b2016e1dbfaa514b07b", + "0x20d995a974876a236d2b7e765ea4e4c57357e3741f5e2f896f12ac7a8c0dd5cb", + "0x0cea8c19045add27e63d1648874dfc4df605689f42e3ff30a097ad8706d86aed", + "0x2c58470d93ef12a157db8f152b27735e3bddf356812fd829bc33d3ad738db8e4", + "0x1375e418d45d8e9d8126d67f0d881aa8c0092080bb17bca91d543be8e2322dc4", + "0x126302dff4bf0b3188129890214299e73d2b614900e7aa91fb28c4ec63ffbdaa", + "0x19565d3edc48218fbb94208a03fb883c4e46eeebbb28de4eba8448db64bfd6db", + "0x071d76b059fe6bcd449dd1defbfc91b2cb68420b7002b08ebb1cb75eb38bfa99", + "0x24a2e46237e4a63d7dafd43eed4393375f6aae8b00b09b7e147c892505335530", + "0x0875bf97487a8a6f8322301ef81ccec061292d7a4296c9731ccd335d73bf84b7", + "0x251656f37355bd2b9d6e2f1742a61a037448290f114f28e689cfadb0775275e4", + "0x13cc27d442e324544cb79bd69b89ce6f7a06a3cf704e6cb6a1af7acb62d96093", + "0x191199abed73972efbbf1bc558af3e7d465cef4a015240ca815061ae3ddab6f9", + "0x2b9a6eea94429a3658235fa5ece75f0c8fdeb33902d92587277be984c3981c64", + "0x182df384e3c7042bc70891ad1d84bffdb9ed3896654d4d435ac646ff92fafed9", + "0x0b1ae31269f8c1a76b34fda26c976c0eb8464e2e16f7f40872cc28e792978dca", + "0x05495f9939bd314422eb869834893a3e1bba194bf3979835449b353928d0c5f0", + "0x2b61e53b949981cdc1bee9dfe64d56917987f791228abe578b7d229a43d73aca", + "0x14dde852bde8859a9e5e49a64552eeec028c91c3376b35ae57e782c0b644deff", + "0x2508186596895a83e89eaee3e66522c5292be704d7ba4b7da558245475174414", + "0x2714a4828dde22701b7d0058c8f5aa2f98d52134b3dc492b7a373504ee3795b9", + "0x2394973afd4437881c2d512b4a7c5668814329bab17ade19ea29883115203857", + "0x2e978b6b71bf9939386aeca293e712660d8ef69a35a0c07cf40a7300da105d5f", + "0x03378dd21b3bf387698a9d2da65b00eafb5db93184af50805a4c03b54736b48d", + "0x1d1fed096cf0273d1b7b1acc7ea8a538c7ce00f4ef77cdc9bcda1fcf7a3176dc", + "0x24e5163740f492b549a1ae56ff43baf9e5d7292d344249a3fa984e71925ff500", + "0x264239dd60dc6c171a47f701df60a542c0f68f26c609fae24366d2cfe12b031b", + "0x1b5ad4657d8fd881406fdff972926c01a8a7bc6d2889fe9cc0beada73b3c7a24", + "0x1886f465bee73a27b95ca281fd9182042d65ed5b2a993a93c77387db1d66250e", + "0x2d2a64306aa1d3880c54521cf2a3bd71a7c158ab5323f981a873f84a294c0d58", + "0x1b0181418c907a0e2532ca0ab1f5f874a46e5dabc21ed5a16b3e065a703c591a", + "0x2fbe44f46842b49801ca9628a630503d6f0385bd4bd617b2851f11a9da12c1fe", + "0x0018b086f1c727d96520e37a63aa33f56185a02965906705fee719687171ec72", + "0x0dd0f3b663e9f2d28a384f6e257909f95f38692f50ef80d278a5425be3e3fdcb", + "0x035fbef60e38cde0e4bf545c4455cfa66ef2ba0d2ce44e2f9b6aa905eae26a29", + "0x00110392094ef87b93ec83c4d222e677357829e48a7a92c664521b0461337c20", + "0x2755d96aa7161f512937db7ed5af83adf11a659b5e75d24a5f0b29e2eabf87eb", + "0x1f1211fbfb0919bec6ad3135111448ce7af2cc1512ec5de37267ca645dbb1413", + "0x05c0b1f74bcec9a64e35f34e423116df6258c07bbd89417a662e537826b372df", + "0x2784567d71097db76dfba322a0a9d1ff311f74c97972509a565988da63c96c57", + "0x18cc9605ff6c4ce55d9dee619bf45976c914198a0541c2b732f7b71a7baa6ee4", + "0x1aca24340fbe963d7f8a67ab4ddc74fb85faa1da47354031fb8eceaff81f18ca", + "0x202173c33c4f43aee899eae6460d77b70c372e2387a8f617dbef20153c250ebc", + "0x2dc3553aa4bb733f22208265a207c2a3a1ae8d520eb6cbe2bb108a7243261607", + "0x152b48bce55f3fe17c5e85edad988210d07ed7e4f6b4a09660d056f1d209e537", + "0x269f5506f4dfee6f1c0824ebf133fb51d1328976c5e20a7ad694757cb02e486e", + "0x29bece303f1321a4edfb52306e8e94f586987046f26043fd4b3fe877d9c5af12", + "0x277348d35460efa464d048d6738b3ec98e208544099de2898491914b14adbae6", + "0x1f996211801cf402f4b3dd4dc8fdcdc99dc0a10314402e7424447212492bf7d5", + "0x2e4c091bd12ca0000db6e1132faff7d2b9a90c2ef79c1bb06f3bdc19fbbb0e91", + "0x28567beb3a2d50673d1ff8e2f0a2e132ea25bd17c2f2107ff560172c3b9fd31c", + "0x00d6cbe97b40b1468fb071765856115eeb9f4f1991ca7485d40c7f0b084c0efe", + "0x1e9b3ab827b6db147b055af3689d50b5e4eff59408b91bdaedccc291d06e3e05", + "0x0aa094eb10a03f8ba5e5836eb9486940d7a37b5879738faa88a09dc970ccf6fa", + "0x1b3666a2996bae98ce8ee5dd748cc592685bcfcfb2df1d2e2712a9b18123a75c", + "0x2de627c851dcf714ff75cf4c7073bf493b22cd3064cae195f5c5f966ab81af0b", + "0x04975e8ec35151bf65cc0594343f9c06a7764946489c6879be5d25d061d309ad", + "0x1e539ee479cd8c322c1a44c0fa27994014c9ffd4e60c58683c1107b3aa04069d", + "0x08e322dc6f454dcc4ca3f508d021e4b1ff3cef54d6ca7b15a6b9acabbb4083fa", + "0x1f47d147b4b1d8c042e8403f180b00dadec42a037597aac9affe1c9e1077eba8", + "0x1cfd33df4b26bc96cbb3b1862c210fa2a3b18b052501ad16edbde5a13cac557a", + "0x1f6159d7d53b5b72c8cb2dde8600d4f667acefcc32f4b35b02101ae75f7b0148", + "0x20c67a3cd9689aeede2e09c567728c403a13c05bcf96c960bd61dd603223d340", + "0x005a29c69925ea14d86a64a9909ba45c9fd16a68ddd77586832263cedf1bd67e", + "0x29174bd852c67af4460eec3c4b4c47d505884ce3e3afe98600e998a635f40a2d", + "0x018a0492cf255b532244ed1a74c88adb5abe241ec45b02e90f4a9d69113ad255", + "0x17907efc3dfca67f5b7884ba29a9913ea6c4b4953e8a0b2781cfb5e76d0692d2", + "0x2cfe3ba9efbed781078381c3e2a96adb4b5f5fff61d2aac0d59cbe1188e9c11c", + "0x178f5b832f1b3c3c5e8e4284e171ec9303ca62e1c00ba72c4a94a1eacaaa8e36", + "0x0d2dbfea0e1397947f51db6ab7a51a021cd5eb2865cdad3df4163b5436aff5e5", + "0x0e4a4105f23c5e8adc28db5de7aea4aab8bb6c8a7ff75965c9eb196351971146", + "0x262592f376a69e28ada7b5445069abdcfb507defa9f2a2c9dbdba90ab6943b7f", + "0x1a175156f8326def52117ac744aa40b8d44555ec59b40a8cf142ada4fa6ebbaf", + "0x060afa012d2225a7f8814e0cf595b2a85c50fbd157963d36d197d5a8305f2b64", + "0x1fbc084c5197037744bedf797de030229873c346d8a69653d45a0e88e0fa1592", + "0x29d56cd50882dac885fbb32dfcd79ea12df8316fe41f63c0a4c8208fef1c11fe", + "0x2c4d0cf60ee123e96fbff80f6068ba8b083b3275d7a6b81d4d21c55cf2967c93", + "0x2a21c1a3102a6a06610d82732335e78436b246ee50ff6a1f32e88bbf136dc2ed", + "0x0e2eb51659c2b1dbab5786d3e4f7df22931a00e66a44aefa35d8e583069bdfe0", + "0x205c57eba486119831c9dc81229fcfefa43e95a8b227ce0d23eef87eade1c44e", + "0x04afff43be34e52b610e27996caf39292f07de88a1485537ab21236e5b98061d", + "0x09ae49a5a95c232dfaee6af2ba85bb3031ff7a31e93691f4d92ca85c87d17fe5", + "0x2ec37eefc8f3405ee6f2d4c5d569231c9037d837e445b7086945a2cd43fe8afe", + "0x286ae5cee4f814be1dc8ecd2b57182c40bbca9d6c23067a5c1f05dbdc377fda7", + "0x2009b61d76835e31a7a439bd56542bd03d69e52f9a361c7dc5a69d90f091d5dd", + "0x081f812daf968e30e57726c9e3adde94d5c3910b1d3681c4d8fe25cb24e2571d", + "0x11f29f88f62753092c6aeaf617e7b45a71847061e945b07f0469ca413f157b32", + "0x1eed89ba1860cd6c04326ebe4bf93f25fe31aa79a06f1a92847f7ff490c44b18", + "0x115f5d16ee0c60d4c0e502b0f2544312d3543ce6f299574a65b217c451a8fb61", + "0x2aae77bb3fb7194864686392f3b56ab9668dfce0ba79fb221d1fab5c5fdc2c95", + "0x2795d67ec1edc0afa396245aa6b1a8724ad2b7fba4b0761e0611dfe116371bd3", + "0x03b9325d6d405858f76f4b70f819ce83f985f7b2b9ed36b484445e3d89aee0d2", + "0x038f91efb999589f460bd80139ff8ce26f94c5215336f176129ac5fade015b87", + "0x082edaaf52df13ae671767079473f688f84a4bb533ac9ff4cbc95c923e3bdb4b", + "0x09043f9ef0b4e2b206197b564b9c17f3051db1c8057b60b855a1d50576525549", + "0x20a09af55aeedc3ecd100c6fc146491cf648b3324212026d92f35498fa4f285f", + "0x088e79734f97877480d7fbd5d4232d2f97f6bcabebf077768367c8e5da80c748", + "0x122f2da6639945bee60946882bc1acf41a7994bdfd4194c8fa3412681a13538e", + "0x170c64d8ff1c63d06a015a580118993f663a0e38ba56905eecc9c7132d2e2a5d", + "0x1dc90b48a85987700c3f2732298f92ae143882d5381165997b31d4eea3a2a3aa", + "0x24a310ec1ee0cd74d5545b35926c23dce8ed7570a294d85dc53cb935c00188d8", + "0x067303269e4455190d6a62935e0c7ffb8d3fd781df25e69ecd91864adece7f0e", + "0x1ee21a5236598a762dd279790afab63cb257088eccc3d94c5e36aa127300f262", + "0x1bc21c445429922a78dce8a7966cab0837d4eb100ac1f85ffca1630ee2ec5553", + "0x27882a69f602b935573b328956c7c3448287d65db4d0a1e4f2bb4b3776bcf0b1", + "0x29fc44b235530b3317419c6c5ab57c1863e0b755b9f78378c2f937cc02f454fb", + "0x0a4942646f5a64244fe4c417f61be041cd3728f5fb41cb04613e75faa4b89ba6", + "0x1ebc9fed16d03aa7e9690216605be9386fe8b71ec1531606381825b41a450fe9", + "0x11bb1ad841575f7c49332fa7bd521b4dd53461a7850ffdd962669642841cf05f", + "0x022886e65b8bf12966910bc9f06e687d6be1522be34288ea5fd7a4caa4064541", + "0x14e836dccff0566ef7a643c5474d0cf53c54b5a515e960c0577045b65d8928bc", + "0x030d9d8376b56ce613e382f548da535715d7dc1a7bb906fdb2a9a97cf78ebd06", + "0x0a4e9ea3693a5ff359f13672829d7e000434213121cea1de9e932f5eb9dfa5c6", + "0x1f6c557e15ed2bf806e37173f26fd1f5945781b73ac91ea2ffabafaf0fabf8f2", + "0x1f10c2c61b9aeeb11a934c035667a815437cc1b09a932fb0bf76ccb818f7396e", + "0x1bdf80c7888a20a9dd8140ee9fa385cda204276b0d79f12bd98c7be671f112f3", + "0x2c45fab3c8e9f3152a3dacec95c73c58c9184d09ac496dc6e632f06dede2366b", + "0x0e91fa1d207a14121c9e32a07932eecd902fcad89d14be15263fff8245321a46", + "0x2bcdde93338272a815b62b7b26fda101d3d2a315164173a9fb86ee6863d6fe3f", + "0x260f1efd8a90c5f3a3fe1ebfa5c0f07c3d008ffda7ebf0fe2dd6bca7a1260400", + "0x2f85461b3de18ea3558357d4580b258d64462fc047577bcf4ed9e7a8fbc993aa", + "0x18cd484cf35918b5a82257b79247342dcb1fdeb1f0d6217289cb516c18c3e7a2", + "0x2b58265fe043e27740876a55dff4f7049b5bf677ced94085289f8b0c5bfc7bbd", + "0x1e5c0cfa5206b78b9bc7dabd54b7a0384e150f23329cdabeea8b8e899ffa65cc", + "0x28823ca9a390e0e00741722155419aace75ce4881121a72669d846545e8cd106", + "0x27a999ba134a19725643e18121f04b51b9486efdc96c11ad3e207f6eb543dcc4", + "0x2c031b67d86b1b1fe94ca8eebf448a336c920548c9561994bb00d21c8859ca79", + "0x1c1d95c441d230aea64578ece179d8955c4eb10205829a5a8dd5e156cec739ff", + "0x2f785328575fc589b6ee45d6adcde6cdc1198902eabef0982ac21643fac94204", + "0x232f4683c0925c4fed1ea5a43fec2e9eb2339290684b0a969d77d6f170e12970", + "0x1811e064ec145a539c94115b69994437cd5c91fb5992e22cd71e8f435b498967", + "0x1bbcdd41ddee7fa9ed0d9fbd0ecbd2424b94e15a868e3c7b6537d767346388f6", + "0x208c007923c91cd35195ad0a459782a03eab5378c8cf2e8c881e37e658789391", + "0x22c75d8c3deb8073862d7015200426a511f533abd430d4bbc33a8dffa7511983", + "0x28ce9d9decf513ebc36d01e7b98ee53665a9da08de0744cec6687db8f3320caf", + "0x0a4fbbef0fdd7bc5e758619f8ca2f9c8f8cfc6e2ea12da1c7205143e41d1b586", + "0x25ad19c0e30a7e4884bce33cc4aa7da15804f7da8d8f89311c7887ec623063a2", + "0x1a1fefc08886364a6fc4777191156bb851bc4556ce86b0c4506934989c7d9b75", + "0x1ef7aa2fd42cdbbb0ca135df745398721d8c5f21dda36224c8a57dd22c586e2e", + "0x134419968daed3a15c3887a4ebab431a3daffcbab4664a74d12b379e321df8b8", + "0x262e110369a4d6c5bfe9e30f11b3bf1e7809a18b316e602a0df927e4c35b37eb", + "0x1a6c398726e011ac3a9f0c9e28024de749fbb69a4e46d5fb1944f7fbf6c3baae", + "0x0ad1237c632939f558acc42356681bb445cd74b6292f78b13cdec3c8c6498768", + "0x006b10d328e3053ce43b7ea1864ee3d2fbf8ee18e5ec76223bbab0447cd3e1c3", + "0x194114c0dd4dae90fad5bfcc28c5662efff22e1bd0e3e364dbf9326d55d98c39", + "0x2d96525cb81e594500654885193db0b72ede7c02799b7e20be042c9ed6f6fcfd", + "0x246135f1add46b50d7dfeabcfa6ce0aef555de796c2b75a1cd4958ce45b09c44", + "0x0cf81828931b52d03894d4dca8fb463b2aa59e3fdfeb12970109a5f82aa2e57f", + "0x075f62fc3b8f667f213aa502cc46aea3926a023e7edf211e81e62a5aa7b5fc61", + "0x04f5d7dce5e3b817bc961e059ae3edc2222627b1e32cc87b51789d3337faa205", + "0x08e0eba324444a82c55322ea33b682a67d38e4b58fd45544648f3627f529debd", + "0x3046505b6bea13578db2a89abfb6bb9fd39069ff9db9d5f145625c25ae45bc55", + "0x0dd6b1a51cb46754241655c972d492811d6d29b76b0d54a2942c5607b2a159b5", + "0x2a9fbeaf9400f3f4d944e2c60bb21ff48a8fa01a0292eedb5e85f6981864cc4f", + "0x18231042f3816cc7830634d8b513f1ea1b0a9c452211189413dd3420607acbf2", + "0x13fb6050cb2c14403cdd3c6b0259d9d20324d8dd5a09d7e42e4059e6122e1e7c", + "0x06e59891d46448e0c17301d40e0ca00846265fca352a1aec0f2be657dab45485", + "0x02a80364855f51ef14b26f737a92aea7a3e7809b25f58ddf25a41a209ea913f0", + "0x2d05d48a5f1da2a2a302b2d4c2ce9e91b9b26ed3eac1c0a4f006bce002b34bed", + "0x2a8f09c96334ed26aa04709323ea2376098ea910197b48a335bba46b8d87eea9", + "0x2d8f68f3138d2e84af80a3c0b35177f25fc8275988109eb20c82dad9c72fa393", + "0x1aa463ecb606648107d515b3efb52408b95e9388ed7d4ae2efaa54f0cbf76e5f", + "0x08ff044d28012a4a5575fffa30c28022b08d4284e37d039f335923bd6fedfc22", + "0x29e998ec338feeee1ae9feabb205f25bee5edd9d127e6d85be08a2562381a91a", + "0x1fa21fa2e3893dccce5f743a0a36ec52a9107662d869e1f0c563e57eeab9d51b", + "0x0b1cfc7a6095f53202500f943b856177ae3d8b34e9ce5742f7616c100443cf89", + "0x1d488c85a8e3142027f57e3ef2ae9f7a6f176e8b0f9bff911793b65dfb6e352a", + "0x210c1cd67361b155979408da92a43fa3aeda797e3a82426c27147a3017fff4c8", + "0x1c644c87c9a3c33479a4004b09c93d6621bda25333ee49e388392560589e64f0", + "0x17a79658a94acb7babe6975f8819c25fccb8e70442e681e1e496885fca08f03c", + "0x26111981f234e92cf17037206a481b055a5a5e68b4dd97ba980033d43858d80b", + "0x17f0d47a5f937cb22d1c5b9fce116a5fb2e29256ae54a6f403827dd8664a3eca", + "0x0169a7e80821bc87fef6f76216897e1357fe8a80df4ba512ce64be343890dd10", + "0x1a2cf8e0f521859121e1f65c0972b501b48e793a7c0e5e102a238afa7204a4ac", + "0x1bedcdf56d2611a7a01c9dbc4d2f221dd88330d810d8633f6414c10a1db45881", + "0x2d5834ad14805f2074883a637ffbecf0f76381f015d50352095a74c82a11fcf6", + "0x0d2b04c2e064a274f6df1357c03445c74db753bfd139dc09cff29cddcd0d978e", + "0x1f33136e0fc58508b7d16e0880bb9df115ed1fae4b26866caa07186d818cf637", + "0x2eebdec8944de47f49724bcdb74a3cf20b04b3493ea908c70a6ae20b35c9d608", + "0x17886d4f4f45a935ffbf6a40f4c756641969d5480923e82103ac22ed4be1df72", + "0x1e150f9cc72836c1cdb04fdbd34d42b5b63c36799cbb85568c3e24c6e9f80e09", + "0x2a6c44a139957e539514bd3ae387645634a543f9a96f1c3239e38d7d967ae64c", + "0x016a7d0d46aa7b7d5843a68ae8f15ff7813a134f0f2f7ccdea19bbccb11c6bf3", + "0x2d08a696fa923e15075f1d2acb7293326230c0a204e1fee9c06fcc418d1a6b39", + "0x1bebde918b7da439dde09d5ed50978120a9acdc5fd397a3d2f05f16fdcdb45a2", + "0x2bb04ea0794f1524b4f0ca4ecb14497875dd9067fb4eaed9361c6a6da45230ba", + "0x0e972c721eb40253aad78c1593264b266e320659d7fd88a58051f3a58d552979", + "0x0c85a8a1916925465e86e31bb50dd9080553b533369f5cecd98bf361bf8b21d6", + "0x08fd5ce70d1dbeea3165b9a8a524cf1a890092b8c57f35dfb5ac0bfd197dbbc2", + "0x1cb6a72793e895e63369b2ffb8189aa2424a4c2a57d18310d2bf1b4ec7ca4560", + "0x23e1e355987def69918eab7c87f43c3d68407e1918763d98b1ad1d557a3a76fb", + "0x200d8864547a6a51f915e1d0d62a86fd0d08c9ddea324d073f025267a5ba722a", + "0x226b956e650f1cac6e9a9c48fa17807c7722598619d2fe2702b07f7ebfd2664c", + "0x0284b41be9100451723113068b4fadf6a5dad7854d9b94fffea2b92eb691b1dc", + "0x0f8bd5a3499a4f39ae587f4eb042a0826338bfda0fea290b5a7f0e71d09ffee4", + "0x2da47712ef8efbdf09c1ae57e50419e69cb7311bf9a005052b4bd55bac7c8a79", + "0x1e038eec153a9d89c3416d6745d4c89618f2c8f5f8c06345869f7f33c4bef268", + "0x264ce71c1498ef31aa2cb60cbeddc36098017c10b133468dc6f9d892e6f3c5e2", + "0x048a20b907f5033d5ef2c29062b48106086312e93141eae4e356d31382931630", + "0x218f57eb8b2c40db627bfc690a3dc491dd3b98c4c0f769be3bbfa8a14b23a511", + "0x00c3466ea35cb96546e1f3ce4591128ef3ba27f7929100f829cdc5d4a2f79373", + "0x01e60a8384dd33e6b17d3488a825baf1a6d52fdf9e02dd48f63269cd600443e8", + "0x0d4be0c9e332774e75baef700fbda35626ea69f042b0867e7b0308001efda86b", + "0x1c03f7d271305e2066b11e1fcb7d4d08bc5b682c9cfcf2b40208efcb7d11ac95", + "0x15974f3471c3b18f3b3614dd3ed7969b4b170a09c89eef07f4beba549123ba35", + "0x27bb3940873366bde4d87edab54947491233e0394db7c3645189f2ba7cd06b72", + "0x110c4c6cf9320c3c652791e22046ebfd7719df32287c37671940968cd124adba", + "0x1263d064d13ee8b1b941d67f3a9168e3cda3e7156e6f2df4e96216f2b8b0641d", + "0x111422c632a35cce58629f4f3ba73c19cbce3968d7fb2602f0d2ddcd7a1d2fec", + "0x0db9cadaf75b3a84c38f3d03ff390181aba4a944d5e53835315a2e5e14b31edb", + "0x1e8da07a6ef38a5ce8ec226ad37b666b86090878480fb22478906daa1d0ffa7d", + "0x1db7fe4f28d7e02d4ff8d686f8478ba4d4e31b78a82ad9b93c132df68d0829a6", + "0x2af7a118ee98fbb68c2c22a84ee79345a712c1fe86ed0e883987f475f7665a5b", + "0x2230ff70408a78cd1cb229584d582b1f0fe5157db19952e2aa3f9ddfb8095181", + "0x1f28707aa2346ee18fd261814f0dd4bfa1bcfd53871be681108fd1f0fd0d18d2", + "0x2b7b5fc992f637b5f392092a9ef585aeaa13f373f90cd35c63d6f8072bf14b1b", + "0x0d45d594565978144ea87de3f21b968cc3bc4f13260bfbaf13a9148c82f3189b", + "0x0e768f1e3ad9b12417ef8f143494523007c2fb6af5aa84db322916febe1c67ec", + "0x16ff46763e4413beeafc7a2cb08936ee14a0ce826d2dd5ccea46a56a8644877e", + "0x05c1bccf15aa46ebb74c6280af97b69da4aa40ecc4d1c6d3fd6aa49a321c2e3e", + "0x0375e9fca676a9c8d77ab2f395fbbc58be3643c453ba6fda0a2ff1675028e280", + "0x07278606d19fa3e589fe97dc91345fc68d634f9d0ebeae87cece1955d97ac780", + "0x1d90336719d21724fe9fb14f3ff74a5da63462b80cfadcabcd755a9ddfaebb31", + "0x27dd3e2f847313ca3a82e370b59b22943bb82f0371f1ddb2fb5a879199a1dc11", + "0x2e0f5cdc063387a1fbd73fb65e9ec751e3623916d18070459057f1e8485dfe4e", + "0x1c77d791a95abf0d85726766773de44f3e2484c3911668bf743b3ade19894273", + "0x171cecd18be9dcf9dbe7a413682161e8b516108bae115c0127789702fb91e3ca", + "0x153576c5686feb79a8878b858d09461ddcf78e97b2801392eab139934423aa8e", + "0x0837987c4778c44052968878614d86fb1af02d656db0c8b609a8d0a2ec57d63d", + "0x199e26b6f458f047156ab244f8d25ad2be2b124f67d8dfd61070171694c7c632", + "0x0d9c99f136344d51e723a3ac6bd3798481075c5953fcc2516465aad2dd41e46d", + "0x1509744eed4857a7a75a911650b655bde0f9f1334eee9289c1686a0b737723b5", + "0x2c1eef377dee6d6b96d8d1d47067f9e6c60fc4164e5d3d1f96ed37e040720c8c", + "0x1f6df42b52d27d8b3181bf310061af5a6beedfeb4e0b12a038f3dbefb8a1c33a", + "0x159b3c832ea89a5f0d3725b4f18d59fe1e3f0a814fff4e72e9086c087ba999cc", + "0x1c5c261d5fb3baa40ca5aaba419edf2e59adf2744ca7f5e7f7fd13a39ecb3c8a", + "0x1db84dfdabba9e8ac353052dda535f869cf5741c61c8015737d133818d2e000a", + "0x27c048e75b7dfce8abf2ea3e8428dd377ce979088d3b212a3afc1700938d3470", + "0x0d23730a8794d83fe1e01dcaf7520fa265ed97fe6f963b418f79a77a62d69185", + "0x215b7bebe0b98c98c872add19e6e9def1a7f817334ed87c174ff94151b2a5fff", + "0x0d3581a02291ea7031788e9879279ef810dfee774c90d25916c3e9e8039fa49a", + "0x18b678632642863888eb0c31afc0de231e105f67d98c1ada71f413756b82dca2", + "0x0e49ac0c2e1863f7c623b9ff4a6f953b74c25b255e9648bd6f17b5c3de0a6325", + "0x20b30dd2485dbe7dff29f9af77f5f2c4f9dcf5e8ab45cfff6615d17daddb1ffa", + "0x0c1ab1f32e4b601ed91b6f1111ba279cda4a618057dd2e662ad7b48a78a0d624", + "0x2888fd24f3ccf97fc9c043c2b8075164a04a865428c8199b06b354aff005bd0f", + "0x0f26b6bab2eaa38fa36a57b5830acaf7632ede8a0a377ada705ea6bbcaeeaf06", + "0x14f19b12687552afafe5c119fc7b9ffaade3cdbfee7f9a8dd79b747b2ddca2c1", + "0x0fb8d94fe4592344c939c43027f6928561513d8848f4b34613084e4598daa62e", + "0x0e6b0e98bac0426d637b69686f1a89cbc54d3c8dfb92bee4532ea0d7b8ce0cb2", + "0x2690771b293792b250e3be2204ae657246f799f5ec622447cdfa5e6961d81403", + "0x0ce46722617d0dd7022f4aa09449b3bfcf10b91c4255c033da58e084d294d026", + "0x2b4f1dfd5ffa106530522dec3caafafe3aeb8b984b0ac016c98d16765aec1d31", + "0x2d9a5d0728a92ad4fb2338f57c78c6fec64de10b9804b0e7ccc4dbd1836a528a", + "0x236c5f4368aaef8bf2f4b9e5c06f781fe41448913b5d6cb4e79555302ad43be6", + "0x0f7cb3d5d5ed43b7f6494503c7577912aee571b2d32911e3535abc3ddd72ecaa", + "0x1e5242f2abb113a786ed902f58872a7600547b627f5611e2a03f0b991be1de48", + "0x2208c88c617da0dce05b70dd6609a2e4696a3927a26e108b8fb250fe25c2908a", + "0x03b94b7ac3e4ee6c73414a60fdf0739ec6156accba576771bc2cf041c98127fd", + "0x0afcd49e64c019eaed6e50e04a5f365af0280cd6e9078dd9faf16e503c453cab", + "0x18b2e57d2fdcfaf5947aaa0798139b183ba711891295651b8cd351caeb43574f", + "0x04c3d11656ac3e9cc2a83ca2db541b3f4b430bab39850b3a465b2f6848a5ddd1", + "0x0864bb3922109e3686c7ae3ea95a0e037a1950c97edd9ab62a6f7ddc66dc6af6", + "0x1532e90086b49ef46000c88835727fe47f29385e69f01087b7dbe4928702472f", + "0x19d82c788cd29ff2f7b7f232c80736a7bcde8539befe54cbefe0c49ba58282a4", + "0x1b05f8cbb4c0c75508d48f52b268628c543112532b7dcb9516eb43acef3c7a6b", + "0x280f7b46de972463d93fae1b161dc2ab1b15760b566ecad963c6294f14716edd", + "0x2b4902d4598f6e5835e8af59e8d103cdb5a212685cf623a25611ea3899a84354", + "0x246b98d399b723a22f6dfe1c185235d8e42a25ae1645b5c772f4c54b60374b01", + "0x2b0cde85b7c04c857c5c15484a2782ea56fa7b1cf04ff55d8f9be415019d15f6", + "0x19324f862c7b0562d9af144923f49189387282f5464811a8dd31e940d35e7816", + "0x0e766a7d63ea99ae897b66288c29a5ac842c524c4e7b55a854ef545472d72ee1", + "0x276b08f3442c224a8993beeaee646e3337136dfc8fade09f472f9444fe1cfc54", + "0x128e93c6f24cd98937dfa2f775731b3675065f0a0e2f81e4e20c728747e47811", + "0x00b097b8ae4b5079c252e0ea1ab9e88d36a249667d837af2ac087d5b440f8d2f", + "0x2f0a6263cac13c2183f6dc33f6af60bc53d5d05c19018cd23ce77de1647187ec", + "0x06b2419992096c290ad74eeee31553015e8baded5eda52250c2d8598b4875234", + "0x0815f9974a94991c8a2b1a8961d55cce9c12ea3d55912e89a0a171f7cb36ac2f", + "0x0f7149ea5ab6dc32728a6112bacb615d8bfccb418e56501543719f282dbe6e46", + "0x019e0b5070dedf9187fcfdb9884f2795b96781b92bdc409625a2a3cdd6750fbe", + "0x03e7f6b798a27ce9ac3325574495d1cd4439a1b77635838cd78bfd216a11ddcd", + "0x17884047e6cd01ae5e9b03efd6485006794ee18f43248b58875cd2dd990f6448", + "0x0ac97f86398e5d15a1363fa8f6069bed31edbe824b4e5b99a2778d3ef1b42eca", + "0x08e8feadd2406e1341803e9dfd5875d5c5f0911f8232e86d17805a1aaafcddef", + "0x05f469d69badfaac7ba870ce448f53bac7fe25efd26ee03a9995597c3ba41ed3", + "0x2171527068bd0fe7715f5512e1f5be38cb5d6ea1fb44abc03b1d5dc8ce6b03ee", + "0x2ce611a9e1756a4b51887195486845a5c183c7b38e86d6d8544e96382f0e436e", + "0x1c92e0ac07a38c5cd6ff66d501f3b733edd61f3199e1d6cad6600d906f9e6301", + "0x24abedead98264926b6978508b466e7ea4e9d202e6b111945cf39a9b62ef59ac", + "0x0ceceaceb5f0440a6f5bc3654075360ca1eb47bd38f34d716526392d367c56e0", + "0x25d2b6325254920a9becb5ef46e9e09c19ea5b972ecb320636b6ac4e6ffafd31", + "0x01a8ac156992e20f57c1d09c31b5fd42c18c8f722ffdbf52c13d8a43f82d207f", + "0x278f70b6bf8c45ce952b3df19b4046de4dda1dbb47081c06de2c8a4536efd4d5", + "0x2269c39cf7826803b4c87f00d944043c6b58f60369268a18b36aba247c89fbc0", + "0x1709befab7bf718ceb14e5821ded1af6282d15535f6847f617d50fe5269eda28", + "0x0fe0ba4a64342982e5cc4b78baf03e3edbad8c5f5f3e626ecb65e561a8adf8de", + "0x1d7893f907087eb8a151125a512f503654963b58733399962dcf24a8076689e1", + "0x291a9157f50cb34a12d2b4a2a91962b889212c197a7d15f8b7792be742a63afe", + "0x2f693b8c96f1cd91676b318d77fa2130c88843519f8fe8cb165640ac2de02853", + "0x1f3ed34471cef4bc739647687f831deadfa42c2592b9b79228b24ae9b2ed6c5d", + "0x1f49ca1fae49034b44996ad114cab88bfd22af48d27c8224e0dcc771d573e2d9", + "0x022bc551ae96168fc53e684576abd37ed0b0bd3f6222ce49ccc6cacecee6bf6f", + "0x0facec75b685d72393acff5637578409d7f2bb9a83bfd0e97cee7cd7191be277", + "0x2dfef01283adfcd7c9b9d88ba95bca4ff5439f82c9cf2ab6b1d48735415b4352", + "0x1133de5a197aa7abff5d4ab3fba00b6be894cd68e021af44859d757830516180", + "0x0640dbf6f1d7f6cc7ef1ae1a5730eb180d010480a8222ed40727270868c269b1", + "0x05b52861b03c596ca711c51875dbe9dbe86df71e25e3b390c4f6fd42fdcf8a19", + "0x00560ad4738fc6e3e9d603e3e09bdd3e3a879e47ba649871454b63098bd3bd8f", + "0x20a17ce4957f18396e256e5a648a56de265b2c8eae91d3561a98c52c1823caf8", + "0x17998e28998d4b48b308a7789251e576d1cb751f4cec280fe7534c6224d6989e", + "0x24e910cb0c0664a4134abcf76f7300f29065516288ab5e30b090d040002e0b55", + "0x0bcf3acca075d2633048ab0f76bd5764e098a7c787d62b6d6ffec1b27dd5dbf5", + "0x23d88c366d77c7f21802676c6a344beb6c2e9b8016317a127e3618e794e0195c", + "0x2002d2531b03e2a18bcb8f81c4f770eefce3f758b61f11c61d4c938c314dbd6f", + "0x108053e37ef73d9ab049815d9e47198f1ccb86b4e5e962bc00a6334a2818d69b", + "0x039adc04f041c4321d25cb0f057179a0d7a3dbd39df4f3877c7e89850d9b8b12", + "0x21da6efcb653db1ab1b37f242199012e04d2588cf1e015bb9e57bf10c81c65c2", + "0x1c77c144211d43e493715b53e7b89591d02e9f10d0f8f727850453921160a34b", + "0x2ca9d3200deca22e00b6709ff22fd354ed7b6e99d994d897fee84dfb827c556a", + "0x23ec19b7ac122f8f8ba7fe0309d8dcdb2fc9db3de401e6266e72f9cea6ee56d6", + "0x095825c6b8242954f6dea9e6e475f360c8e9fb191792a1ee69bd24a5074ed82d", + "0x0293594dfc27730c1085ec82195a1b6002688c294a844c669e2b205cd3875589", + "0x2536641cdad665bacce2447f80243f09827efb7e2cd82c88e0180d7c468a36ee", + "0x08129aa94f6c3cf283f36cdf8b81234674d63261b9d0936194932bcd07134eba", + "0x2218c96bef24564de314d3d7368c4da876d98acc096d812783805280df879c2b", + "0x295737ffe0ad7b16a45dda3b97d591d1fc4a6188667f5f7d6a0f50a746b45e3c", + "0x0fa9411f4e4593ea3301624ab25e25c60b94527c0b20292ae867f076b8a06e85", + "0x1be01a175f439f06a49d61deae4cb7fb57b2864ed98d27129844e8fb27e5e5c3", + "0x2b422e1fc631280f68fb68c738a7bb31bd56536ad12f22252999d83bd2ed4782", + "0x11a173874b145ed9942c5563467d3729edb01d96f651c6b78938e7d43dbe0e79", + "0x0339d71aaf1970008637fe4b0b59dfd35236ef7dcf77661a5269489d7b97ba9a", + "0x02a595dc6e712760e5fca41e246383503fa264d579dbdc5c19d8990787ea9663", + "0x0d53d8ccc1f400600cb3c914dbfe1b34a3922c043b96973aa52b5a8f7516f30d", + "0x100ba4df230c044528649e18b4039d97a090a1818c1fb212bc82a083fa88be56", + "0x0202b58e59944294194a4433f6a6f165d87da1f324321c44d2ce259cbab37d40", + "0x213e76557ffca1b352fe1c8566585314adbbbfe6584bd29e939882275d864425", + "0x2a101c5eca6a1555edf54ae0986eae92e78bc98d7cf8d527f828dab42ecd3469", + "0x2406283134bb583852206221fda22c189383f38fd699219159ecd68d7b06c74f", + "0x0a9676b0541b979af744f7bb5bfd569b7f421e185a52952bd3ad9cdd0cdf7652", + "0x0fba86f857bff013b328431a8529c71066f18a4328744d99e6b2ab1606e6df2d", + "0x2534cf605c87c08969d6fbfedf55931d4cd7e96df004625c051b39b08c3a92f8", + "0x114d7799b61ec342f5ce590d0da8d293f724d437cd71a35e4f7dc8cb73261be3", + "0x095a0dfa886503cfe0a20a97eed07bb74a0f3d51ab1723d0cf277908e58f9b3a", + "0x249655b112b424ada246cc6b4d2d112d2f3ab6d20cf0d9603d54587ffa997151", + "0x228c2c6c944b269c09e664f6c25e1b7409cd2c454d6fa7ccb4ed872fe36e5c66", + "0x2a2edf20b8bf54554d33a1a523cdc9e0797880efd17d11a34dcf4b5f23c44303", + "0x278de90f93ef1db4611664b01dcf369f5956900bb5cb31fc6103fa215ab64a6c", + "0x237f0d92f52421609bb599ceef9ed49133abc3408a83aa681bf1c2a57d0a9ae9", + "0x1939875ef26fdbd49baa837f8831b10cf42706846ceca2cdad588c2fe037e849", + "0x099a03ee439befaf47a2a0b61c31b83f8cb6c34e727aa33dc9928bec97a3d202", + "0x0cc7c91756f6fd7e343265e346e52d6a11ce85ce1f430767bd78abb92af9860a", + "0x0b91e38e171b5cab42c3ad28b7cc9fdc23a79e4ef60ca934207cbb729740301f", + "0x1b9efc2854a712d42e689ae16d0512e1749a4a653d48438d69bc5b78dbd9759f", + "0x00e57ee2218d035a8c924f511e6b67656db5bdf0eb539e1adb0f542e7cc713a9", + "0x017e969adeece9bdf9d9689cff0c45e0ad67ed7d6d570e5ba04f29a29a769625", + "0x10a0089c2e1221be862fc7af12c43353e4a69b8ba961e1bd9a189722f3d3c87b", + "0x2b8019192b340fec4cb030f9dbb2f9be886d1cc26f1c55c5ed0ceeb1f86e6e82", + "0x19e3e76072fec678c67e28a05fa970456eec1fea9eaafe7f7b1ceae9fc7dd4d7", + "0x18b1e4d0fe7c08d19b93c68b6fc248de040208d90c152006b70c8b845f09cb40", + "0x2f2a7312cb6c327e09f5d28616c61161f35c6fc297b79526d25baddd226ca958", + "0x194a7aca8da112650693918f3bd245ba0cc09812ae375712924c8f1dcb769c3a", + "0x1424fdca07e180d1c741fdd3f6a01456b2a2a51d3df4a8dfb466ca1a443f72fc", + "0x25775e778ae5c61ff22370569ba377b01fa2c37024c9c10849d1db7ee3a8ba9e", + "0x014480f350b137c8fceebc398f80e78fa030fa1ff1a1ab5cd3096f0fed20514f", + "0x110b3aede0d9a5c60667c506ed0099a152c8212a8df536d01f9e73f7540595a4", + "0x0ad7c73c5a034b01eb6cc2974149bffb4a2c3db07e5094e27a63d4c1318f8e8d", + "0x12a27d77dd17318cf467b8de508169e032661e296269e5c8759beea1e376b2d6", + "0x18d10d008a78ece5688afe150fc161128dec1642303cebe3b136c051f78794f2", + "0x0671748d05e803202309caab2cf14d98188fdb27b8147d262b5a0cfe58a690a2", + "0x1c10b168a168caba40cf90bab445d302e0d8c55020d0045c781a0cda579e43d1", + "0x2272efae1a5fe6564b7342f754a0cc3d6ba2ef7142b5b3b8d36f143412a4c4de", + "0x1a3d292fc3e54817c961f6160c8c00f63b99dbee89ca781f13740d9ee9fe9e4d", + "0x078dd1f0a5b35e27afb6389675d8a8059d8c8e7260f7ae30ee22ccd820cc28cd", + "0x20b6d7d4d036a71950d6ccbd9e7d543feadca4f9f060058f85e423653f920835", + "0x201a93f50c89d6630740e66093d77c2b8623cd0bf3940fc9fd755966c5680755", + "0x1f4b8447f8d791ff991fa010c45ae064b2186a4a74bf8daf167a5cb777ac0966", + "0x26f2fdf93754d4ad0de1783f8a89f20c6c95de7a8382c5671804e54c59966189", + "0x2c4bb555663668b6964aab0ca0f42b32c7581159533a2d07c673385b1f741455", + "0x0b3749a0437924d844195f5eb1e4c463efd4def4bcfd71609410a04a0752ced7", + "0x00fef5c6ab76ee7fb5a4945aaa97bcc66fe537457f300bd0c0183fc8108b6e7a", + "0x0ab433a83cbbb2aa97b1b8819ee0182bf4e752fede58dbe35c756f6195e0291c", + "0x2608ac0e4e39386c69acdcad3cea667e008694de53a380426b75d863b4aca1eb", + "0x0ac955672fa840734a01d937fb6a338bb4d3d574b606e534ac2034029d0f782a", + "0x01ebbee51aa701d8beb4fb399477e07a4d3903e949182e642d4e2b1b29353299", + "0x2cf20763a3c7576e9d75b214be89310cad1ccfe18591f56dbe2c5f5dba231e80", + "0x18ea42190b301f1b1eb8cefbf9409c2070a7d05d8703187f6fc624c996e98394", + "0x2b22544ad2b2a62975c4ef45338f945cc711bcb54deedcd397b34a6743bb8538", + "0x2546067f3bc8e5041f29624178987ca722a3ae0bff15d5c86a31a5bb4f8ab5ee", + "0x1835d11e57e8d4cf3a70774405afabe6cedadee06f3df15c270307e0a043e661", + "0x004e56ce8eff084f059dc0e9539ca93924406fb0c3963a89fe47bd6808cc58d5", + "0x08da8ed82b9c0b46b2ee579b5e0a4f2aa50bafb5372deed98a66f98ec5e486a2", + "0x031ca0ad12ad52b979b1f4e9888a1e23991ebd44004b4f22a6c9ed42093f2f96", + "0x0fa3c664183b9c4fda0744204105e8c28f3f44c331ed8e723a9c16ca65ea23fd", + "0x13472f2c4d9b9df699bf0f12d45f5174e633ffeb1447c82fa6ae897ee68e587d", + "0x293f8db166079e3d790dc2e905072778d76f1145a37b5a01a89059f31f3c4b4e", + "0x14fae66384fa6b8d2ecd4a83e7d12e7d74e63b1ef708c6af2107025aeffb2b28", + "0x10227651bd1d821ad7feb56882be6727c7106811076bed755a81d07badad31ea", + "0x1f8152c550c56bea67b761d261c8a554c85c3a793f6ee333ecb292a8922f2448", + "0x22cff89b1253b6c8ffe7fd198b316dd6710e7184c839dace6b486d72ef0c5ff5", + "0x16d2540dff22e53a1d965219e791fbdd049c01ca7810fb36dce90ee4b11df81f", + "0x0e372775b24a7a8b42730df8a195e68248b853d21cbf46d6d8382941553dfc14", + "0x192df71acaff132e729e3bf4d6d4e19c0196254600b8a47f0b4625481250b850", + "0x2274213cf5ab570909fc127ee56bd3a63e90e047ea340860db0e5626daffdc50", + "0x1bfd4d9ebba78c8fb86e9184fb2e45f23401aa98926802c0248046f1919c54b5", + "0x18d7383dbd1ed2453e27d0367abec86ca356994ba2a2ad9d4dbb73b3c81dc5de", + "0x14a74eb6703686fa1203f9ef7e2a391dace49f1168c2bce5b8fd51432025a5ab", + "0x0f474e26813c0d5a0592abc4b3b7f28a854b04db6f1ca2c1ee1d33ad71bfa337", + "0x2d0125d1ee9ee4b074a21da81a56bf8ea12d22fd427b9b2867437646a73e96d1", + "0x101877295d4034cef8aa76469416f71fe5d38d85ba4c972cec57bdf6a4f91acb", + "0x0eae498ed06686b7737cda811e7785aeda23f21f38f0656f7957181e1b8bd54d", + "0x00fda1276e579226e5e937b5b6e48281ee1827ab2dd9a3912ddf0f88e9ab178d", + "0x2661bdd227905fc4097bd6a28714e0ee8569ba0596bf7c0b08ccee5a85f31808", + "0x231407789d50ebd3bd96a0da810850b38624e46d3ea3ebf87e4f8c3e8669e343", + "0x0dd9bf0c8f9235d1a208e10cac466c387d5b007da039f3e87c86a3616ac70a32", + "0x1e74514553a2f81253769726b5521f6f3febff9bb8955e68947d9c3e87f05263", + "0x08da66f1a2048ae708d9b5ff4a314e4f65b8381f3dd2607bf173e646a68bd8e5", + "0x04a97efb8e46c81fee9f81924cfb9175acf933a987d917fefad3f56efb393e70", + "0x2440214f4b3042a5db006b77fc6c2deda8d0bede89d4074fccb59de610a4482d", + "0x21e39c08dcf195905f19092472c830857c5655f46488bd3264245418a7434d5c", + "0x023e489021a66653f2a3311d6517bbab4272045571dfc75c1050a0554a615139", + "0x050a73ab9e5f00db4bf1e6dbfb7f2f91bbf45e226a8b5243586687eef0140e3e", + "0x2e7f2db656e41fec39afb3ab2725b345114186d27df61ae8cd72e3dccebff147", + "0x01aa654ddc652be2b2aa35d8207fa12a53dbe47ce6b8df5dcc47e243f7327b01", + "0x26a51c8a60afbe211d147700a4cdf49f5a57b2b1c3e45a2fbc4d38eac4629b76", + "0x0c81a19108b66a0fb98a0f29509b0d8d6b2ee3e6ec2ff7275f8fbd50be5b47ac", + "0x133e0349f50711455d357af8b2654826a620bb0a65ce34fd635d52cf9627c875", + "0x079ed611a706d85815a588632fe090814a91a65f46cf4c1c2020329bfa6f6628", + "0x018defecc747dd65465014e7a38e9a844cbb87116ca0e39b7acf3259026868af", + "0x1a84de5ee8019fcaf294e228c377ea1bb66e9912d8f3c3989e14e2165ec3bc06", + "0x08cee0715edad556decfb36674f3a256beca5785d299f7ff617682cab9884286", + "0x1909daf780d34d66025061e18ddf37fd3fe6617636bd62185849b61d58296e0a", + "0x3058603c3fdaf9cf76a245fc8a0710e5b5fc555867a748e7db1284d95a952ac6", + "0x1d9906cd6058a85ef43b706d66f568674ec22d055637dbac7cdf4a31a77161b7", + "0x2411ef8a9823a6c82a34ece75213a69a2d6967377cd320af4c0bb60c337465c8", + "0x0e1093a7126247beb7132db93b44356e0976c82aff402323f69b652485e93691", + "0x242004341d93b616678c3b084df2b00700d551d45d3b046f065c29b0f48edd7b", + "0x1a01914d26b4d409e47c1f7631d49cebe76ed0ec3e36077e5ce7c1b2d7d75fad", + "0x17a353420a23a0f0e1d6ef5c9b1a1b88f97a6d21a06c3ac88c000e93967fb39b", + "0x26abd57d0206420b80c0f67721c24447f1aaec3fb017134dcf487957d6d46704", + "0x1ed5ae7417b74c26b1fbfb102ee77c33260cc38aeb7831f92542132aa884f1e1", + "0x2c7ec7153a9627ee8eb4d8eecdb1ca07011d8e2b7d0073ad93fbce147f00c977", + "0x083b40d6666fc1b1d2d8e9c88c5ff502f9b8b55ed81a0b013322904d3c3e7908", + "0x063b5e2710789a1d3761eb5cacb0dbd071eb6a1bb6838aecb1de7f3ddba3adde", + "0x04f6b25899988f28029a0b363d09ecaa7dbf1128382de359fb03d33df4d5a0b5", + "0x1861b846bafdc91db869fd2ffa972b7478ac5f8f723195c3597998ec2e0e2166", + "0x297d13f883d8d67de656d5058ba676194989635c89c9a81f3650218910c6c641", + "0x260546df7d03fb569fb012770a60137516e93a29b9daf59d4ca3b464c65cc81b", + "0x197df9d6f6e8af209ea1d89ce4ed030769f346f38cba10c5491f8d7fecc449f7", + "0x098f450696a7c11eee7663155c94d314ed2f0234029b6cde2406813d5318582f", + "0x1bfec7ea35912fb6b2069196543f6af1067a0153a56d761e822c25454bfd20da", + "0x27b7f76e15803af8a9426c0bf8f41bbe7389d3c98ebedd1a4fa4e8f1639242f4", + "0x0e3cc9d619886236a053c09b213e1b23d32c4b9da921844c5554927aac557ab8", + "0x25f3f6d1a306734401936aac379922e1f68871b789debdb4e49d490622e69f14", + "0x2945a13e670654dcfbccf5d856e45b37074fbf8994aaffad627b5f64d3074878", + "0x0653d0ea66e70aa06a64891037e502b0769adbab3ef85314994d428d95d30131", + "0x210cfdaaa146fd11996dd032cba5e7af0fdb30fdd4bc6a38c2145131ef69374b", + "0x12d2b465cf23c3708d8cca68c743006766a22f3f0821180829396759584f8f90", + "0x04c793de23073664ac681a67dcc44f2709576c52ae22ce526df41d1e908d33b2", + "0x220ab1e0b465bb58d5332fbcf174f2190adcff248115f262fcb7795bfab4d451", + "0x0a6a721f7cff2df930312b9f8eb8334dcde74673f9fbac3c4468b739471057c7", + "0x0d1e7ff460c0ba66df0eb8512f9f2069e987e2795b2d290e85852a9d7eddf000", + "0x03d01ef4f92c699239200f4d956ee0a5d8afb41fea31c5a9d707f9d3ae20ca77", + "0x2558e9ca782dc8ac5d7cb6233a1bc53eb27e43dea87060252367a09316718b7b", + "0x263cb83633f1d135444ba3841285ac51d20efeb6073eb62569cc52dbf7a7c832", + "0x2906e483e826858a1ab4a46eea19a4b018c389bb5f68ad3f279c26c8a3873336", + "0x2de80f61a18fe389439e1fa4617842045c72fc4f89dfdfd413ef78f1070e5022", + "0x1db0e8b0061cec001824237697ea8aa0319034f1befa936a704db659023117d5", + "0x2bc1f633029311ae743ef46257d5bb2e3f01fd05b1b5d31affa70aa2fa8bfee2", + "0x01c0a3a3a24bb3d985a1f6401eba73e5c8f16e110cbcd5a8522e58d5aea1e7b2", + "0x14cc50306a14437e81acabf5addc4088a9cffc4bd0d35a95e57967f2234f3ef1", + "0x13800fb600bc85bdc09b9eb5ddb54ffec79c251f4b8611d04bba58b27888925b" ] - hash = "0x03fae8d27215bde0892408629ef7f0d17f59ec493553ede7ee9a8dcb6364e7e5" + hash = "0x2d0a59d075428f6b6898d24d766dfb51950fa83f7cc4336ee9ad23b9af046c6a" [inputs.start_sponge_blob] fields = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -29209,16 +29209,16 @@ sibling_path = [ squeeze_mode = false [inputs.last_archive] - root = "0x2d7b19c2a88dc2e85d0c656d773be16fd884bd201005dc1115133c4e356edab8" - next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" + root = "0x18e9774f809b764075cb3470ad9e8d5fd9544ed4ae875958d890ff9910440407" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.archive_root_membership_witness] - leaf_index = "8" + leaf_index = "6" sibling_path = [ - "0x0e99bf2b719928d754a8a1ab7c2274d5378dbe7f3841fb5e4613de0b374c73e6", - "0x276db4822357ff2a32c3f6386f8027a138f9875be52ffb4c8fa1d9c684fddb9d", - "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x2b64da585d5a389f9d3f87e7bb6ab787de09c7dc0e51472f743c7b069a14a6e4", + "0x266def062e5347141abf10d811f6fee5592b1e33496d14b364d5368fe7ad81d1", + "0x109ecbaee18adc4a36816ecd8c11fa149136077e6b104f6c128d783a9d6e2e6d", + "0x2cbfc522aab3db2a4dbc23bbed382b9711eab6cdd1d8d4d6d71611f8dcaeda7b", + "0x06613509bf483116bbe462eab2210de0584e3a77fe30168c927a65f8fb0fe521", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", 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 1131a77d624a..504dd231117c 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 @@ -2,7 +2,7 @@ [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs] out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" proposed_block_header_hashes = [ - "0x009dde93c9081ba3573e209a8d5a3cd4edd6bc25fdff9f2a702f6fe852215e11", + "0x008e666a0896eb91ec1bb2556ef22fcb7dd7cff25632dd11ce355eb7a69f080a", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -53,57 +53,57 @@ proposed_block_header_hashes = [ ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.constants] - vk_tree_root = "0x1f8cde81e0c5165be68b2c47089d558a335abff180d3369d351ad6aac4e73ecd" - protocol_contract_tree_root = "0x18eb72d449788231796808c5a8c66b8611b36598807bc2b42c8f554d397b1052" + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" + protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.previous_archive] - root = "0x3041291318fe407738df7576699fd4afe4553834293e9655a79da498230994d8" + root = "0x1cc6ac2ba9b54c98d9d90b4dc003fb7398fb91b0f35ac5c11380e7d46c4e6660" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.new_archive] - root = "0x11ec690ae2d1a79033acbde89cb053a6bfeb7713fdc47a18b28fde85057afb4d" + root = "0x12498e332d57f0de3b86eb72c1bd98d08267e07d671919591a00bb0d07ebf0a3" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000007" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000021" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c6007" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff8c4" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000960" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000007" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000021" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c6007" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff8c4" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000960" [[inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.fees]] - value = "0x000000000000000000000000000000000000000000000000000000000c14f47c" + value = "0x0000000000000000000000000000000000000000000000000000000001168a40" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.fees.recipient] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [[inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -426,15 +426,15 @@ gamma_acc = "0x0000000000000000000000000000000000000000000000000000000000000000" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator] -blob_commitments_hash_acc = "0x005406f05bbc148ad142b7ab275bf2ff05a287dbce737a704110d1020eba8ecb" -z_acc = "0x2323e5a877a3f6c41476aa04dd001cb673823e238db3342cd8337d9f2800355f" -gamma_acc = "0x0bf9796fe56bf1da93aebe1cee68df925c5377f5abe9ff2e04575dfc9276eb31" +blob_commitments_hash_acc = "0x00873887c07f0b9feb1b3343feeaa8d40f875b23de758adecbafeb329c4b59fc" +z_acc = "0x221b36e063c86419543223ec9e439987034c6bc9030907edc066162a7be2564a" +gamma_acc = "0x25fbbf6b0a34b095382e8e24289b5a95c411643b8ee8c990651368c2e6a43bdb" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0x482401563195d2a37570a1b93be964", - "0x8a521c747fce34b89bfa1c252203d0", - "0x433b" + "0x94f407e93ee6065ba3499fecad6944", + "0x1a2aa6787277bc14e08a02782e06f3", + "0x098c" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.c_acc] @@ -442,35 +442,35 @@ gamma_acc = "0x0bf9796fe56bf1da93aebe1cee68df925c5377f5abe9ff2e04575dfc9276eb31" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0x468e92f188e33b3b15a578c0e964f9", - "0xbe2d35530e934d306016f970ac2193", - "0x07ad130e4ef040a16b082e39c6b347", - "0x145aaa" + "0x3e46d78f4736eca0ef675514116288", + "0x257d90b0c2cd4f2d4b2c807b553828", + "0x16b542aaf9dbeaf70f528a51c57fd5", + "0x0f75f0" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0x6b0848d52df65dbdc087dae69cde41", - "0x4bfd042007303b8fcdb31e910bd3d0", - "0x91f61af7790137e5d9e57f494123c6", - "0x0487b9" + "0x4d117abb041d24bd3e722d574acd32", + "0x93efea676717312925bcfde5ef516a", + "0x42885b40caa28ff2a3f12d07c6dc7c", + "0x1488af" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0x85007a5e009822dcd4aeca118f7c86", - "0x30b1ea19fad58fd38a267ab9643db0", - "0x0b03" + "0xa7a37450b9f22a2966cb7c4cff4281", + "0xd53e870aae716f5dc79344956d1752", + "0x207b" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.final_blob_challenges] -z = "0x1ab46cbe6f46cf755545f6961caf8bd4b4c1d136beb0acffdac5cc9817a17837" +z = "0x0a42b8b65e888ddc5a838bd20048d8d961c74c4e66a43ec847aa6cd9e3946630" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.final_blob_challenges.gamma] limbs = [ - "0x85007a5e009822dcd4aeca118f7c86", - "0x30b1ea19fad58fd38a267ab9643db0", - "0x0b03" + "0xa7a37450b9f22a2966cb7c4cff4281", + "0xd53e870aae716f5dc79344956d1752", + "0x207b" ] [inputs.previous_rollup_data.proof] @@ -1015,12 +1015,12 @@ fields = [ [inputs.previous_rollup_data.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000d" sibling_path = [ - "0x2ded3ae984e9a6f7437b3054c5ef7c57b7ca516b3ea2e0c8482b6851cf2debc8", - "0x27ad5ec4728a5caf10841114f6da59081261dd265790c6b5bd15f19fb888dcab", - "0x01f56fa966168d32b058bfd6decd2d196e5955ee21db926f93136181d7c7622b", - "0x1e666d9cdf70e3f69df41e43b2bf64c3b82da16d6960159969bf63a06bb8a930", - "0x2ceb8c9f55a85f4b5c8c7795bf162b303e2ce1d86bba80ef5a37f045df17273f", - "0x2ac35a585f37cd8b1e9ab4423155da6325d6a2406f6ed8d4fff29af478a2783c" + "0x09291aae80836bbb6f6d6fb9e4a7b92a10e5bc394f818f46089578b76f8989db", + "0x2b7d6de30e0db38f67303550749911660581191fcfc9aa4bc5e8e14fff9ab35b", + "0x21689739720b4da70916ca6d44e282a2eb64d62ca08de1418dd980ba90a77756", + "0x12c49ef7f7f08c55efc7e39b04e211b63667eaa18ba622a01ee645ba2ce79842", + "0x2e4e5b7e23ac6533333c43f70db2a3c699240ba4adc372b2a3d13a000b41199c", + "0x1cb36c900588afc3a59d2d9c4b45ae89b78611c0b8ae393f0f3776887d40ce60" ] [inputs.previous_rollup_data.vk_data.vk] @@ -1028,94 +1028,94 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000017", "0x00000000000000000000000000000000000000000000000000000000000000ec", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000e5f480a6e341b4d58c8756ba3fc041fbd7", - "0x000000000000000000000000000000000024c768ace511f952888ebbe96fa907", - "0x00000000000000000000000000000049a6b1cc0ecc7315d5fb358631ee93c591", - "0x000000000000000000000000000000000015e731ca69d9275944739adc6baa29", - "0x0000000000000000000000000000009a34283840b85f8ae530e083fd75f6002f", - "0x000000000000000000000000000000000007909901f293648706b98d64d5fd9e", - "0x00000000000000000000000000000038c3bf024882046d4ff28da7546df6fd38", - "0x000000000000000000000000000000000015a38e95c4821bbf3b60442499c4cd", - "0x000000000000000000000000000000fdf307fc2b4164f53c3338bd86e6356120", - "0x000000000000000000000000000000000008deb60220432778c49e02cc14f093", - "0x00000000000000000000000000000075e137b809482b86187b41e897e9758e25", - "0x00000000000000000000000000000000001c1764508ccc742930c4bb9dd2b174", - "0x00000000000000000000000000000090478f42d5fc9de9db03c4263ca8c76af4", - "0x000000000000000000000000000000000025aaf6660c5741b9958dff0ecc7f3c", - "0x000000000000000000000000000000ad04655475eca1cb6a67253f1177384a62", - "0x00000000000000000000000000000000001b3411a736140ae5056006e4083d01", - "0x00000000000000000000000000000099336bd026a839ed77ffd1d365309a8287", - "0x00000000000000000000000000000000001284c9b5c8ffd8426a86ce90b5ab82", - "0x000000000000000000000000000000a10d5416122b7d92affe0c3cbd5c133385", - "0x00000000000000000000000000000000001d64a1b42f3632b08b0f8a813171a5", - "0x0000000000000000000000000000002de0abc597b22deab8cf94f506f42edbf9", - "0x0000000000000000000000000000000000121802d95e73daa9c59fe2d40f089e", - "0x000000000000000000000000000000365d1c2cade054253132791f7e5eb8fb5d", - "0x00000000000000000000000000000000002305b0c61e6ebd16ff09d3d842509b", + "0x000000000000000000000000000000ce953c2c6c27d6ea173ca2770ba29f466d", + "0x00000000000000000000000000000000000e58006b5c09620064ce4a0bc24026", + "0x0000000000000000000000000000005cc4fa8b2c64e41665d33824b6235fe655", + "0x000000000000000000000000000000000006507658a3277734f23e6ecc314568", + "0x000000000000000000000000000000d93732a58245e86c3bbfa1e4afc4dc0ea8", + "0x00000000000000000000000000000000000b6f45074decd97571bb9e41c56549", + "0x000000000000000000000000000000c62dc92c89504ef90ce88b3820f046f740", + "0x00000000000000000000000000000000002e9ffba962190bcd9525da35570bea", + "0x000000000000000000000000000000c515ad4ab569331ce867a5465b3ca5c103", + "0x00000000000000000000000000000000002ef5bd2cb4c45a843d9379094b0ca3", + "0x00000000000000000000000000000094e3b59ed3ee6f8586a60de732dd39262d", + "0x00000000000000000000000000000000002dc261ecdd1de726cc6a47c08db593", + "0x000000000000000000000000000000d95867159c0e9c3c14d5a08d6c136de64f", + "0x00000000000000000000000000000000001b38c6921279778b84ecd4ac71b39e", + "0x0000000000000000000000000000005c0f6c861c102813182040f5d292ed9e63", + "0x000000000000000000000000000000000017251f6cd4fa9c54e8be4b26c69d2c", + "0x0000000000000000000000000000001764b61dea29eefd5127114b698523aaa3", + "0x00000000000000000000000000000000001a18cef09a506d376003f72ce87d4e", + "0x00000000000000000000000000000011a02370f2993d7481858559b93a7883d9", + "0x000000000000000000000000000000000011bec741c4be04ba60b9b323b01492", + "0x000000000000000000000000000000e095cc3d704ab4e43d65c0fbc8460b653b", + "0x0000000000000000000000000000000000057de488b37efbc532170d220e5481", + "0x00000000000000000000000000000073365617f431fccb44d943ed79ee1911bf", + "0x0000000000000000000000000000000000131d1a2aa58d9f65637f026da54b7b", "0x00000000000000000000000000000010a38f556c223974b85eb494776b4e81d7", "0x00000000000000000000000000000000000508564e99b0877ed37f27bd3373f7", "0x00000000000000000000000000000051a6b286a85912fdcb9af58508f980999c", "0x0000000000000000000000000000000000204c34d7bfb08b882df66b9a80090e", - "0x0000000000000000000000000000007881cc37065b70ac9f8a393e0e4addcf3a", - "0x00000000000000000000000000000000000c7b20454f33e2104e687182b03cae", - "0x0000000000000000000000000000001f635f96023cce29a8b49a0e8bb98d3246", - "0x000000000000000000000000000000000001dc59eec55ae2547941504007be39", - "0x000000000000000000000000000000cee154c718a918626b8014a4442999217f", - "0x00000000000000000000000000000000001e750e46f50d47168836943895dc0c", - "0x000000000000000000000000000000aec5f6a9e7eabfe8cedc7d8c7bc014413e", - "0x000000000000000000000000000000000015c87dbd81d4dc34a9e01f19d3a682", - "0x000000000000000000000000000000ef445dd8eafde7efe0e6e039e9afd45abe", - "0x00000000000000000000000000000000002876df499d899699f45d3c234299c0", - "0x000000000000000000000000000000cba663e2d2750057905c34820a2640bd23", - "0x000000000000000000000000000000000019686da394c88e904689ed89920b46", - "0x00000000000000000000000000000073a68925dbd23e1d0a8d9584185ddbb061", - "0x000000000000000000000000000000000025b1831b47d9357638ed975604c796", - "0x000000000000000000000000000000b236cecc882646187d2fb6273c0efeeabc", - "0x00000000000000000000000000000000001a433d7c2fa31350e1d5dcf4242bc3", - "0x000000000000000000000000000000f56d7587f899db5181bc3465929133ef20", - "0x0000000000000000000000000000000000260f78b710cbc9f555d2d7c2efec15", - "0x0000000000000000000000000000000ad9399f291a670f7ea255e9919b4eed5f", - "0x0000000000000000000000000000000000051c26a847c5c4bf6056aada468acd", - "0x000000000000000000000000000000dbfab8d6b4a1c323a455e4d353d640ec78", - "0x000000000000000000000000000000000001fb42717469da6ba0105a0c2150eb", - "0x00000000000000000000000000000037f35418fa43dc56323151da92fa05e22c", - "0x000000000000000000000000000000000024e2ca5a0f16bf4bcf8bfea0f25d65", - "0x0000000000000000000000000000004ca766cc716cf7283cb4abdbc37845e44d", - "0x000000000000000000000000000000000010559fa6a69951ead0d7a82df7abbb", - "0x000000000000000000000000000000ccbaefba28dc892cb21801f36096ed72bf", - "0x0000000000000000000000000000000000289c6f1b54d47cfdf9717bbb137645", - "0x0000000000000000000000000000006fb5c18ac259a913bf9e3886199225e57a", - "0x000000000000000000000000000000000026a188f618208ef845ad0b9b1b1582", - "0x0000000000000000000000000000008ac8a1006129d6337b610ef3ca8e869594", - "0x00000000000000000000000000000000001638b7300a6bfcb83b1b48fb62c07b", - "0x000000000000000000000000000000e1e1ab111e9774c4a8f69fb6a65c61cf1e", - "0x00000000000000000000000000000000000ede2a35bfa2281f31b7f195e2db26", - "0x0000000000000000000000000000008d6283d01af4b2f04000512a4a11ceb568", - "0x000000000000000000000000000000000013986d7079cd184d9775f5c4fa321d", - "0x000000000000000000000000000000976c43e988b40255474580317301be7d39", - "0x0000000000000000000000000000000000052af2b6a325a85a83fd679a069b0a", - "0x00000000000000000000000000000050ad8b1b932c549116f12e173ebcef9fcc", - "0x000000000000000000000000000000000018e60fe2c26b01e121468bb96642cb", - "0x00000000000000000000000000000008ceece221aa4411ba5b9ddb8a9a00c28d", - "0x00000000000000000000000000000000000e82e1613d0cfdefb9f6abab8ea418", - "0x00000000000000000000000000000007bced6d51556745fa9152831c39fa3331", - "0x00000000000000000000000000000000002280b4f37ece9e78026c5b44ed9d87", - "0x000000000000000000000000000000ce31ef0fffc91a4912e4ea90fcc151f453", - "0x00000000000000000000000000000000002858477e905b31c6472394c0af7458", - "0x000000000000000000000000000000e79248523235e192aa0a5fc1e0cee3da0f", - "0x0000000000000000000000000000000000260cb2625cf848c59b67ab76c54f22", - "0x000000000000000000000000000000cda2d14b05e8fc8af3150bf3121580c2eb", - "0x000000000000000000000000000000000015731f778f67e6e34049bd0791ea69", - "0x000000000000000000000000000000b815a574abe9975cddc9c2fcbd4ab4d16b", - "0x00000000000000000000000000000000002c9d5b2cdb66298506c6a1c486ac16", - "0x0000000000000000000000000000001ee720fde9bbfe46d8e679ccfe6581f364", - "0x00000000000000000000000000000000001575b937789c8c3c2a5396f1888d85", - "0x0000000000000000000000000000000f4a304b1fc59757264f18826341cd4ca5", - "0x000000000000000000000000000000000015dabab98917bd2a1e354cb7c04772", - "0x0000000000000000000000000000005d6400a060de46af779982af6cd262b877", - "0x000000000000000000000000000000000024cfda1b0f60d0a5f19135f4b3882c", - "0x000000000000000000000000000000b2978bfc925cbbea4b2b418fa51af49a83", - "0x000000000000000000000000000000000016bc8538916eb30157dabc323b0506", + "0x000000000000000000000000000000831dfea3e79bc30462396a51feeb205708", + "0x0000000000000000000000000000000000147736a1a19e8d0677fc0b758d694c", + "0x0000000000000000000000000000005a5f659e7f9a7c5de4329c586643e534b8", + "0x000000000000000000000000000000000008dcd31dd2d8bdd6c8f6d5b8191ee4", + "0x000000000000000000000000000000975ec7659b2a38090ad6560b9ef2702e9b", + "0x00000000000000000000000000000000000e861f2356b9a85ad70cad41dbeda4", + "0x000000000000000000000000000000793f23cad0391b44df43e3a1b175c7bd73", + "0x00000000000000000000000000000000002fe5e66805e4e869fedd14d3e52458", + "0x0000000000000000000000000000007a4007af367d2fc3690bb8759c34d7c900", + "0x00000000000000000000000000000000002b74d4f5c48bfb6acb0a3f47fd4fd8", + "0x0000000000000000000000000000009166e15e6f0b30dc44aa4f72469aad65e0", + "0x00000000000000000000000000000000000fcfb9218af24af9cc49644b01d91c", + "0x0000000000000000000000000000009e7b7fddcf667207ec7059b3965c007bed", + "0x00000000000000000000000000000000002ee45dcd0e01fcba7160dcf8129be5", + "0x0000000000000000000000000000003588dc99e0f32408189178e39461d78711", + "0x0000000000000000000000000000000000183fd7f6152262613daafd2e8b7745", + "0x0000000000000000000000000000000b8e37ec105951c77f0c9eb3a1aaa93f68", + "0x00000000000000000000000000000000001910a426c12319313699030e8476b3", + "0x0000000000000000000000000000007beeb4b55f3f2dd36c2be707e706bbe935", + "0x00000000000000000000000000000000001ad29d5680781cfa06afb6e70a1547", + "0x00000000000000000000000000000072bd5664ac175f61fe7e92787714ffb7c5", + "0x000000000000000000000000000000000016cb5d47b1a42fc8f4eaa7ed35c71e", + "0x00000000000000000000000000000028f36a97eda3ac358269d98fd0f2b83f14", + "0x00000000000000000000000000000000002ec5cea0b897f9c1fa3394d1146dd1", + "0x000000000000000000000000000000f3ed7c0104ff80f1cbeec4b97dd8f1883f", + "0x00000000000000000000000000000000002c15258c0e493bab9f05783520d48a", + "0x000000000000000000000000000000f32ae3ad739949edf908e762063dc33a1a", + "0x0000000000000000000000000000000000040b739fb999174e4f080418e3d223", + "0x000000000000000000000000000000614596530951b14d72c10af8304571aed1", + "0x00000000000000000000000000000000002ac0a08035e89da3869d8509e749f1", + "0x0000000000000000000000000000007cb6f9ba0d9a2b8abb5a306c113587620e", + "0x00000000000000000000000000000000000615fe40206e3c0dae6a4882fd366d", + "0x000000000000000000000000000000f0fe3641387a437561b266f5c470e8be27", + "0x0000000000000000000000000000000000201b4839eeb8ec301b3517239e2f9d", + "0x000000000000000000000000000000b41f9be00225b9b1645ab1924e5cc2990e", + "0x000000000000000000000000000000000013c2fd69fdca4fa007ed88d8fb5796", + "0x00000000000000000000000000000036ab18b0d02f84b96232fb3e0e9c2009e6", + "0x00000000000000000000000000000000001ba20246bdb41962a42abac207fa5f", + "0x0000000000000000000000000000001f1bbe050cf66186ac48a21c16da881e63", + "0x0000000000000000000000000000000000245b8e82c4519c1b86998ec3910558", + "0x0000000000000000000000000000002540538015a260ed4f921d871ef1eeb558", + "0x0000000000000000000000000000000000054cbfda1fde5254c452de1353c5c4", + "0x0000000000000000000000000000003ba68d5ac627c41adf7a1255ba0930e9f6", + "0x000000000000000000000000000000000009b96ec1684410824d43eb93d6d4e1", + "0x0000000000000000000000000000000b323204216df4637ce74e4b36497f38d1", + "0x000000000000000000000000000000000000cf66df33d13ac17980d3de06322c", + "0x0000000000000000000000000000007f14651468fae63a5220a7539f1072e8f6", + "0x0000000000000000000000000000000000019ea3ff22d09a2e52f386a3d59474", + "0x000000000000000000000000000000ca4f747133bc9f746818db2807f11f2444", + "0x000000000000000000000000000000000024a509f1d9bcd9b44b4cf9735c246d", + "0x000000000000000000000000000000f663150ac8f7fee372893af17f3aa02923", + "0x00000000000000000000000000000000002c0eb8b5ac49b4574d7d3f227ebe52", + "0x000000000000000000000000000000c00da98036e27ebb3b12e99201143e0d7b", + "0x00000000000000000000000000000000000450e568852aab85ea82184bab52d8", + "0x000000000000000000000000000000931d31d8bbc24d79bc96afe80f64f756f4", + "0x00000000000000000000000000000000000f5bdee746341c5f1a5d366e6634af", + "0x0000000000000000000000000000005f44298aa4fccf4c8b6bda6a2aeb0d5dd9", + "0x00000000000000000000000000000000001d3f49af3573e59cc54ce18c654488", + "0x000000000000000000000000000000574eed43be74f67557fbbac1dc1872633b", + "0x00000000000000000000000000000000000e0808c8739e24ba462ce01ea31383", "0x0000000000000000000000000000002efaca4d96d128cd16f053120bc300398c", "0x000000000000000000000000000000000018b4165f92668f57edfc78be6db828", "0x000000000000000000000000000000a312930706e419ed9153f698f593f95349", @@ -1136,18 +1136,18 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000007338096232242abe040e1ae02bb9408b40", - "0x00000000000000000000000000000000000710131ad0ac2ca9d365fafcebf796", - "0x000000000000000000000000000000ace48317998096284f98ad48154136542e", - "0x000000000000000000000000000000000011fc28b11937e7adaa0efbb9b229c5" + "0x000000000000000000000000000000e6861749a0bb4373b06da39c231e32a84f", + "0x00000000000000000000000000000000000f16f04e1c5379f39602451edf640d", + "0x000000000000000000000000000000ffe57011db17ec8c05ea4be7b92ca8cfee", + "0x00000000000000000000000000000000002c3cd60f62b879666220dfff536beb" ] - hash = "0x2ef36a9f2fe0b7a82703d5483fb14ba51dad7e47660b8ecbcb1127e82438e250" + hash = "0x06e5bbb65122dbf65663c498be2437d466225d6059d13f8f2fe086a528fe4122" [[inputs.previous_rollup_data]] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs] out_hash = "0x00db4f24d6eff7983ec163d02c230d6a44237feabd8a2da284edce08afc71435" proposed_block_header_hashes = [ - "0x0013678033aa88fb313bd4046a49bc89e1a7deeaf2a77b0eb2bebfcd9c574088", + "0x005c03421a202e860aa4dc341db3a92e3bdff4324f574d6e3db68fc333a9132b", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1198,57 +1198,57 @@ proposed_block_header_hashes = [ ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.constants] - vk_tree_root = "0x1f8cde81e0c5165be68b2c47089d558a335abff180d3369d351ad6aac4e73ecd" - protocol_contract_tree_root = "0x18eb72d449788231796808c5a8c66b8611b36598807bc2b42c8f554d397b1052" + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" + protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.previous_archive] - root = "0x11ec690ae2d1a79033acbde89cb053a6bfeb7713fdc47a18b28fde85057afb4d" + root = "0x12498e332d57f0de3b86eb72c1bd98d08267e07d671919591a00bb0d07ebf0a3" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.new_archive] - root = "0x26e8797213e16b2afdb8b989dc4ec4ea6651bd26796f560d178bc749af7c34d9" + root = "0x18e9774f809b764075cb3470ad9e8d5fd9544ed4ae875958d890ff9910440407" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c602b" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff8e8" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000960" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c602b" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff8e8" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000960" [[inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.fees]] - value = "0x000000000000000000000000000000000000000000000000000000008a839840" + value = "0x000000000000000000000000000000000000000000000000000000000c4da240" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.fees.recipient] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [[inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1533,15 +1533,15 @@ proposed_block_header_hashes = [ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.start_blob_accumulator] -blob_commitments_hash_acc = "0x005406f05bbc148ad142b7ab275bf2ff05a287dbce737a704110d1020eba8ecb" -z_acc = "0x2323e5a877a3f6c41476aa04dd001cb673823e238db3342cd8337d9f2800355f" -gamma_acc = "0x0bf9796fe56bf1da93aebe1cee68df925c5377f5abe9ff2e04575dfc9276eb31" +blob_commitments_hash_acc = "0x00873887c07f0b9feb1b3343feeaa8d40f875b23de758adecbafeb329c4b59fc" +z_acc = "0x221b36e063c86419543223ec9e439987034c6bc9030907edc066162a7be2564a" +gamma_acc = "0x25fbbf6b0a34b095382e8e24289b5a95c411643b8ee8c990651368c2e6a43bdb" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.start_blob_accumulator.y_acc] limbs = [ - "0x482401563195d2a37570a1b93be964", - "0x8a521c747fce34b89bfa1c252203d0", - "0x433b" + "0x94f407e93ee6065ba3499fecad6944", + "0x1a2aa6787277bc14e08a02782e06f3", + "0x098c" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.start_blob_accumulator.c_acc] @@ -1549,37 +1549,37 @@ gamma_acc = "0x0bf9796fe56bf1da93aebe1cee68df925c5377f5abe9ff2e04575dfc9276eb31" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.start_blob_accumulator.c_acc.x] limbs = [ - "0x468e92f188e33b3b15a578c0e964f9", - "0xbe2d35530e934d306016f970ac2193", - "0x07ad130e4ef040a16b082e39c6b347", - "0x145aaa" + "0x3e46d78f4736eca0ef675514116288", + "0x257d90b0c2cd4f2d4b2c807b553828", + "0x16b542aaf9dbeaf70f528a51c57fd5", + "0x0f75f0" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.start_blob_accumulator.c_acc.y] limbs = [ - "0x6b0848d52df65dbdc087dae69cde41", - "0x4bfd042007303b8fcdb31e910bd3d0", - "0x91f61af7790137e5d9e57f494123c6", - "0x0487b9" + "0x4d117abb041d24bd3e722d574acd32", + "0x93efea676717312925bcfde5ef516a", + "0x42885b40caa28ff2a3f12d07c6dc7c", + "0x1488af" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0x85007a5e009822dcd4aeca118f7c86", - "0x30b1ea19fad58fd38a267ab9643db0", - "0x0b03" + "0xa7a37450b9f22a2966cb7c4cff4281", + "0xd53e870aae716f5dc79344956d1752", + "0x207b" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator] -blob_commitments_hash_acc = "0x006aa43b3baa44db9956a51e6ddea239a5acb011adfc45140eed499324c80a87" -z_acc = "0x1e1b1319aee8541c2c7ad6bef33b881b263dfdcf00f76305b5610f74199d9abe" -gamma_acc = "0x2de26cee52742c48e9ab064a1b3a75756417aa5cbedae75517e3405651791783" +blob_commitments_hash_acc = "0x0016546635a952b8af7a5bc8e7b75d38784929448b464aa214d2384a97fce669" +z_acc = "0x2dc064ebccf5fff833eaba1c775e616842510fff0758ef91e35cccadb6a2e4a4" +gamma_acc = "0x0d8eeebfef84bb15d60340c36556fc3e441e9f75af6665fa5d842f7b010533b2" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0x3aa85542704fb084140861d792abb5", - "0x9883500373bdc09d2bac6293fcfefd", - "0x5e18" + "0xb8b63da08e3915f3f0b6494dc8f26b", + "0x8d3860221d12229a7ae1ba4df1425f", + "0x1359" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.c_acc] @@ -1587,35 +1587,35 @@ gamma_acc = "0x2de26cee52742c48e9ab064a1b3a75756417aa5cbedae75517e3405651791783" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0x5296121a634a219995cde35e6435e0", - "0x2d19ed893d84cbd37eb7c473bcfa86", - "0x461ee695ad131a1d4dc01f35533316", - "0x132059" + "0xbc86538fa0fba5bd03e594230395e7", + "0x2a5ed273bfcf097373081ed630b0cf", + "0x37d26b0862c3c00f9a2f260623a702", + "0x04c247" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0x5befde6b67af7e07baa1b540a635c2", - "0xc5e457d1d21f67c0681123c3ad1676", - "0xf7ac39bc1cb7d9dd4cd775d807cda2", - "0x175ca1" + "0xa47ce87a994f4e7e4f34bd49fb8d45", + "0xe7b7e6fb1ad2fd88fa508265c7ea0e", + "0x2d002d6db1a781f208b8a581981bbc", + "0x1856e4" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0x7eeb1ffd87e0080a99843111237d57", - "0xf5820dc489508265646cbf21b08a47", - "0x0c66" + "0x638a90b7ce12e5d9663647e561ea45", + "0xc5c0d3d0fc7deb11a408fc7fdf5c95", + "0x662e" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.final_blob_challenges] -z = "0x1ab46cbe6f46cf755545f6961caf8bd4b4c1d136beb0acffdac5cc9817a17837" +z = "0x0a42b8b65e888ddc5a838bd20048d8d961c74c4e66a43ec847aa6cd9e3946630" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.final_blob_challenges.gamma] limbs = [ - "0x85007a5e009822dcd4aeca118f7c86", - "0x30b1ea19fad58fd38a267ab9643db0", - "0x0b03" + "0xa7a37450b9f22a2966cb7c4cff4281", + "0xd53e870aae716f5dc79344956d1752", + "0x207b" ] [inputs.previous_rollup_data.proof] @@ -2160,12 +2160,12 @@ fields = [ [inputs.previous_rollup_data.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000c" sibling_path = [ - "0x2ef36a9f2fe0b7a82703d5483fb14ba51dad7e47660b8ecbcb1127e82438e250", - "0x27ad5ec4728a5caf10841114f6da59081261dd265790c6b5bd15f19fb888dcab", - "0x01f56fa966168d32b058bfd6decd2d196e5955ee21db926f93136181d7c7622b", - "0x1e666d9cdf70e3f69df41e43b2bf64c3b82da16d6960159969bf63a06bb8a930", - "0x2ceb8c9f55a85f4b5c8c7795bf162b303e2ce1d86bba80ef5a37f045df17273f", - "0x2ac35a585f37cd8b1e9ab4423155da6325d6a2406f6ed8d4fff29af478a2783c" + "0x06e5bbb65122dbf65663c498be2437d466225d6059d13f8f2fe086a528fe4122", + "0x2b7d6de30e0db38f67303550749911660581191fcfc9aa4bc5e8e14fff9ab35b", + "0x21689739720b4da70916ca6d44e282a2eb64d62ca08de1418dd980ba90a77756", + "0x12c49ef7f7f08c55efc7e39b04e211b63667eaa18ba622a01ee645ba2ce79842", + "0x2e4e5b7e23ac6533333c43f70db2a3c699240ba4adc372b2a3d13a000b41199c", + "0x1cb36c900588afc3a59d2d9c4b45ae89b78611c0b8ae393f0f3776887d40ce60" ] [inputs.previous_rollup_data.vk_data.vk] @@ -2173,94 +2173,94 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000017", "0x00000000000000000000000000000000000000000000000000000000000000ec", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000001d7050621b193e55c139a36b2958ede40e", - "0x0000000000000000000000000000000000258d5a9a2ecc33cc56f2aa4af9f14e", - "0x00000000000000000000000000000072fc6f52cd6c30b94b1d49e1e31cdedbbc", - "0x00000000000000000000000000000000002a852b4547754fe7ad2ce36196667d", - "0x0000000000000000000000000000001b5603c5bb7fbe4b89d9c34b27be1d4a9e", - "0x00000000000000000000000000000000000193cb3d87d9a333e552aa625118b2", - "0x0000000000000000000000000000005e33cdc84c6056d9476d0929090b961bd1", - "0x00000000000000000000000000000000002724c36e60feb0ed89da49c255e5f5", - "0x000000000000000000000000000000c53d98978ea0c2bab6b0ec03fe9fc57735", - "0x0000000000000000000000000000000000233cf1f907e3b6de4b4fa772c63f3e", - "0x0000000000000000000000000000001504e4d3e09257eb71fb3d4328e755d7b0", - "0x00000000000000000000000000000000002b189d1e31b7a42f54a186812ae853", - "0x0000000000000000000000000000000b67c3e1d1f27c7dc040670089ae6c6f0e", - "0x000000000000000000000000000000000026f22b8dd64751f1f01658f34f56e7", - "0x00000000000000000000000000000020469935abf3e9a61b0723d261770a73ce", - "0x0000000000000000000000000000000000166dd57877a0ad08b7b44484b124f5", - "0x00000000000000000000000000000075c9bb540648dd40b01746bef95a70cb0a", - "0x000000000000000000000000000000000009d90db877bcd5c400756c088b96b7", - "0x000000000000000000000000000000a6b6a7d877d517d608a7de53268834abb1", - "0x00000000000000000000000000000000000033f14653e0e0af1617e504bb5f62", - "0x0000000000000000000000000000003428580d27866f9aa5c16cf5df812cec3a", - "0x000000000000000000000000000000000018918a09bb56db97a78e207136b850", - "0x000000000000000000000000000000093c0fbf282fc3cbfe7b89e761286ace78", - "0x000000000000000000000000000000000004ee572fc939f8e1879f952e4fb7e9", + "0x00000000000000000000000000000048f4ae8b23e46b1ceccfb4744b5dac0a61", + "0x000000000000000000000000000000000016601ee4143892c79aa7f7ea7b9abb", + "0x000000000000000000000000000000bca8ef3b266bbfca2815f725a080d2b739", + "0x00000000000000000000000000000000001b4a9bd10d9e3c02e7af94aa4f67bd", + "0x000000000000000000000000000000720eb06dc558200461b21ae0ebff7acbf3", + "0x00000000000000000000000000000000001e06cf16fad386a008892737edde35", + "0x00000000000000000000000000000056f0b431b18ac83d32c0968c9b795eeafb", + "0x00000000000000000000000000000000002b73a1b6b57d0669d70e8fe0e899b7", + "0x000000000000000000000000000000e36d0906961cf206c4c3c017596433565f", + "0x00000000000000000000000000000000001985377689e25a231e78794f2c2e09", + "0x0000000000000000000000000000009646fe224c1a5d8ecc70cdcf7655b09599", + "0x000000000000000000000000000000000004f7d5d691e82c7a2a74f6fce5065f", + "0x0000000000000000000000000000002972fcc22f887a85aa236a0765bf24aab8", + "0x00000000000000000000000000000000001b952c92eef3163d768dc12ed65ba9", + "0x000000000000000000000000000000d4b6d9dddeb700ae9692e9135187ebb378", + "0x000000000000000000000000000000000003614b7cd6eda3c31c72dbd9978852", + "0x0000000000000000000000000000001409c9a3772ff5dba842a9936b54a8cb9f", + "0x000000000000000000000000000000000000731a60cd0b2ac034b6458d51e40c", + "0x000000000000000000000000000000be54e77b1a60bef2b060bc917783609a6f", + "0x000000000000000000000000000000000008d1b5ad011e4ed274365e785f76fa", + "0x000000000000000000000000000000e1ee4829443b347674f9f9878e2f1ddce5", + "0x00000000000000000000000000000000001bafbfc6442e3c98141462ecbaf3a5", + "0x000000000000000000000000000000d1e1e1eab3e0945a92f8a15744fcb8748e", + "0x00000000000000000000000000000000002586e9199523c6bec03d02fb56a07a", "0x000000000000000000000000000000b88e5836389faef5f76c41c436f9bc9c38", "0x0000000000000000000000000000000000104e034a6cbefc8d71915b48b43ca2", "0x00000000000000000000000000000071689a0ca0278a1bc958a17cf6cd111438", "0x00000000000000000000000000000000001986a6940c4ae6ca4e7edae497db83", - "0x000000000000000000000000000000adff7c53c5f7700b7173805293a59e4629", - "0x0000000000000000000000000000000000066f6fd0767bab555916c5cf7baf00", - "0x0000000000000000000000000000005a45d1dbd244a89933596550449dd3bab9", - "0x00000000000000000000000000000000001b636e6cfcd572f0b8287f75d16b0b", - "0x000000000000000000000000000000b519a81c25170da8b1c572245c8aab1553", - "0x000000000000000000000000000000000003e079707946e5a422d9e0041ba4b7", - "0x000000000000000000000000000000752e24347f8a229a1edf8f5f6107d8c3dc", - "0x00000000000000000000000000000000001e21307cecddd1ac0bc1ee918fe77f", - "0x0000000000000000000000000000006fecd4dd8386842329c949719f5ad9f6a2", - "0x000000000000000000000000000000000006b8dccd1b8011a73f63fa9197347f", - "0x000000000000000000000000000000b15512856e8dd3cd2434354562de37cce4", - "0x00000000000000000000000000000000000997c7909b995bb4b2c09131cba6ed", - "0x00000000000000000000000000000025e45f4e3cc392c27933d332a924dd6e46", - "0x00000000000000000000000000000000002ce83bc5a2ab0990d516f964804cac", - "0x000000000000000000000000000000e640687c5a6ea3ed59c27c20fa2c517275", - "0x0000000000000000000000000000000000276cf0a8bbd618110774b9596294bf", - "0x0000000000000000000000000000004b9b1ba277f072c98f87b86af9846b33f1", - "0x00000000000000000000000000000000001c327996f9b029002b45e2fbee24a0", - "0x0000000000000000000000000000007a21a6445b07d15305d99a2a3d6effcc92", - "0x0000000000000000000000000000000000113e9b8bb06e6637576c4a09fffc1b", - "0x000000000000000000000000000000ab83c0c084d3f6400351a05984db7f5d89", - "0x00000000000000000000000000000000002c4ee3edf8bf7baa5b5cfbc87d0ec2", - "0x000000000000000000000000000000a03d477ea86df0c2e129ffd230eedd77e1", - "0x00000000000000000000000000000000002a2fcaaf05635cee142076d84ee21c", - "0x0000000000000000000000000000002803f80f05f287cb2110a33359459642f8", - "0x000000000000000000000000000000000014a9e9e401fb2db7953cfff498335c", - "0x00000000000000000000000000000057ead009e0c2fd23e9802624b20cbe8868", - "0x00000000000000000000000000000000001eab51346ce31cdb44e67cb365a6ab", - "0x0000000000000000000000000000009ee976a02e0dc1d86cb5ff2f8d9e705596", - "0x000000000000000000000000000000000007ebcd63a01e9740ca14edd2293d12", - "0x0000000000000000000000000000004420fb147988de560005e7ef7be001dad6", - "0x00000000000000000000000000000000001ba8400ed387d3ed77abdb5e9f0152", - "0x000000000000000000000000000000a8f311ceeecf7b66c85fafd63f55098b33", - "0x000000000000000000000000000000000008c95409f0a329a5327098528d2d35", - "0x0000000000000000000000000000004b0b121760f756d3b1b0837cdf15c2cdbc", - "0x000000000000000000000000000000000017c746cd2020e8937e391aeba2d11a", - "0x00000000000000000000000000000058aee2ba4016a5bf1f3fec7295227189e3", - "0x00000000000000000000000000000000002b2b6efa86ed99ea0ff0a1bad97be5", - "0x000000000000000000000000000000781d6ba909430aefe8b5d7f81eef073d49", - "0x00000000000000000000000000000000000750ad1b1f24957a2d7843002222de", - "0x000000000000000000000000000000978d0466007a37b87df69f0fa0d7bbfb06", - "0x00000000000000000000000000000000000ec66d5959924839f4ba47b3ae3cef", - "0x0000000000000000000000000000003a973c2ced754c54d8061153ac4e955a33", - "0x000000000000000000000000000000000014080dfa80faf1b457d982dc9d7ec6", - "0x0000000000000000000000000000005cfb946229deb50052ed34e96d8188b5dd", - "0x000000000000000000000000000000000027fb0e5f2639b58c662bc3be9a51a1", - "0x000000000000000000000000000000b8027dbb78a1da5a22045075a76773c10b", - "0x0000000000000000000000000000000000295c07fcb3122d477515fe5531aa27", - "0x000000000000000000000000000000b6f03be6120a10c32fb5a6168f76562e70", - "0x00000000000000000000000000000000000220755f7820729ad03eb30d5fadf9", - "0x000000000000000000000000000000bf93b422d526f5be08ff5ad54c2ccd6da9", - "0x00000000000000000000000000000000000f3f4dd04e7aa339d2ddad9e882ece", - "0x000000000000000000000000000000e2bcc637321301ba05298acf85881877b3", - "0x000000000000000000000000000000000019b8be857b8ca6a18ef2a30dded825", - "0x000000000000000000000000000000a847679a151768ea29dc4b0120fd358da8", - "0x00000000000000000000000000000000002d338990de77e27e46057d42a62c8b", - "0x000000000000000000000000000000af786bea41c3b86acbcaf2ae2129a7ee0e", - "0x000000000000000000000000000000000001b5002267783fb175fdd4e92ca13a", - "0x00000000000000000000000000000065a6a45ca86415f3242b4ed9f9265a37aa", - "0x000000000000000000000000000000000003798adb68a4b6628a110a7a8ff8e9", + "0x0000000000000000000000000000001a55f064c114ec40f42867e7f318ddcdb1", + "0x0000000000000000000000000000000000255db9701cc474c462ca340645be99", + "0x00000000000000000000000000000045b8b93c9723cede58b905284fa669eecd", + "0x000000000000000000000000000000000028c9f68ee03e5d4762db746fcfc92e", + "0x00000000000000000000000000000053f953878d107f47cfab4134900953a134", + "0x00000000000000000000000000000000000925167c6e5b8a1a046bcc8f27aad3", + "0x0000000000000000000000000000009a2954e3b9fb5e9c5b7346f21fa96f5f5b", + "0x0000000000000000000000000000000000142120ee1b04b2d59ded3a6ce1306f", + "0x000000000000000000000000000000319575e65708ca63007eb7e364799b83b6", + "0x0000000000000000000000000000000000034d31d4ca98fb703104de4ccad5b7", + "0x000000000000000000000000000000abe0eeb1abe6795e0e03867ccb572da196", + "0x000000000000000000000000000000000016855b8e7f1edf09c4aa1287b2ed04", + "0x000000000000000000000000000000d1bc765a6ec724a297082025c824837332", + "0x00000000000000000000000000000000002f6f8a674d67cb67ec4cdc721463e4", + "0x0000000000000000000000000000005efd8bf29088af45d28e78321816690634", + "0x000000000000000000000000000000000015085fd15daf4abc96f43badb6d13f", + "0x000000000000000000000000000000721cab0591ccaeb6de9dfb0838a0b16fa5", + "0x00000000000000000000000000000000000c5b2bc398b2e2933a874d7cb2c82c", + "0x0000000000000000000000000000006f1c0c63a3b0750853e70951184283ae28", + "0x00000000000000000000000000000000002bd5a56c6f4fe6f4bf658e81398b4e", + "0x000000000000000000000000000000ffdeedafa5dfc45abdfdfd1b27e13be1df", + "0x000000000000000000000000000000000018078957b5d3d0617ccbb880278c04", + "0x000000000000000000000000000000ac1997fbc1f37d2b38cd0811d63d672239", + "0x000000000000000000000000000000000002dba6a97726b132fdcf6243a390a1", + "0x000000000000000000000000000000e52054d75fc7d1cbdae837f19060386402", + "0x00000000000000000000000000000000001dade955958cbf9cbbbb2fde0e7d1b", + "0x0000000000000000000000000000004be7c18af058733179e604e447b755802d", + "0x000000000000000000000000000000000007ca8014c84978307a810cf8b1f288", + "0x0000000000000000000000000000003692ee72e8b56eaeb425b80b23ec0fef0e", + "0x000000000000000000000000000000000020d2690a6f1413da472b903a73f8cf", + "0x000000000000000000000000000000048ed4c8fb9addf11917295630dc78bbbe", + "0x000000000000000000000000000000000016e4741e65db8fac0e849fc1cbf016", + "0x000000000000000000000000000000ac57880eba4b0b709717c705a11d3b0248", + "0x00000000000000000000000000000000000a0576eff5ba10af41ea38d61da004", + "0x0000000000000000000000000000009f5c9676ed6ef3c991ad0e8ec8992b01eb", + "0x00000000000000000000000000000000001d46500e1e67cf86c79ef549daaeb6", + "0x00000000000000000000000000000068404cafa7812bd0151c07082faa004895", + "0x00000000000000000000000000000000000a386c90bbe31e2ab0c0311b91d222", + "0x0000000000000000000000000000003804c9d401a1f0623ff183fa31af90d849", + "0x00000000000000000000000000000000002a9480658985d8253fd914cc38895d", + "0x000000000000000000000000000000f656ba6763a508d5508c544e07b75be918", + "0x000000000000000000000000000000000006ff4e324da50874f26112d2c09c43", + "0x0000000000000000000000000000004687ab1a53d2f8351418be9f8e9e82ade0", + "0x00000000000000000000000000000000001d7841a1f7d28aee40f13becfba753", + "0x000000000000000000000000000000fa19d7f5a89dfde0e4d734de76e406f89e", + "0x00000000000000000000000000000000001c0caca0db8d68dc2699038f00ac1b", + "0x0000000000000000000000000000009161d96dd967e4980a01eb2bdae86a0ec1", + "0x00000000000000000000000000000000000913068701e6c0e403bc3b9caba8e8", + "0x000000000000000000000000000000e7481f76766d60cc426ba499f1c52dd573", + "0x0000000000000000000000000000000000174c9de89a0d201bea1b1fd9fc280d", + "0x0000000000000000000000000000000a7cdde4cf7caebd22898c86a49256c541", + "0x00000000000000000000000000000000001c6949583dc22cf7b2235190715677", + "0x00000000000000000000000000000099454a3a4471d51e3496eaa498551c7b72", + "0x000000000000000000000000000000000014450ce5f62cd401aa51fc7fee57df", + "0x00000000000000000000000000000059336e30b69fff237b1018d9525b369690", + "0x0000000000000000000000000000000000120cc8ba093899105ea729dd9550d5", + "0x0000000000000000000000000000006d0a13ffa53bbf3b4422034cefc8f1b01b", + "0x00000000000000000000000000000000002806485447edd4878cd7bdb4a17a4a", + "0x0000000000000000000000000000008355b4e735d2e10a72b774914a5bb87011", + "0x00000000000000000000000000000000002723e1869d147fb6b8974223d4d936", "0x0000000000000000000000000000002efaca4d96d128cd16f053120bc300398c", "0x000000000000000000000000000000000018b4165f92668f57edfc78be6db828", "0x000000000000000000000000000000a312930706e419ed9153f698f593f95349", @@ -2281,9 +2281,9 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000066375474e81b0d21966f122950cafc2225", - "0x00000000000000000000000000000000001502aa3f5f34c3311ee3aa00c39e8c", - "0x00000000000000000000000000000043db10a5ca15508818627c998eada6f6e6", - "0x000000000000000000000000000000000028935794da91cc79a7ca0f6afa95eb" + "0x0000000000000000000000000000008f48ad0b3d788587a2d78eaf6cb6933f04", + "0x00000000000000000000000000000000002a9e377a57e135dc9066cbdb6ea79c", + "0x000000000000000000000000000000eaf4a7ccd2f6833bd2e6aa280527422217", + "0x00000000000000000000000000000000001c18e2e7d2804c84dd4723a2a3b8c3" ] - hash = "0x2ded3ae984e9a6f7437b3054c5ef7c57b7ca516b3ea2e0c8482b6851cf2debc8" + hash = "0x09291aae80836bbb6f6d6fb9e4a7b92a10e5bc394f818f46089578b76f8989db" 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 73e137c3936a..26efd0ac4696 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 @@ -2,15 +2,15 @@ [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000002" out_hash = "0x00f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb" -accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000060c6237e" -accumulated_mana_used = "0x000000000000000000000000000000000000000000000000000000000000edfb" +accumulated_fees = "0x00000000000000000000000000000000000000000000000000000000088200c0" +accumulated_mana_used = "0x000000000000000000000000000000000000000000000000000000000000e852" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants] - vk_tree_root = "0x1f8cde81e0c5165be68b2c47089d558a335abff180d3369d351ad6aac4e73ecd" - protocol_contract_tree_root = "0x18eb72d449788231796808c5a8c66b8611b36598807bc2b42c8f554d397b1052" + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" + protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.last_archive] - root = "0x11ec690ae2d1a79033acbde89cb053a6bfeb7713fdc47a18b28fde85057afb4d" + root = "0x12498e332d57f0de3b86eb72c1bd98d08267e07d671919591a00bb0d07ebf0a3" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.new_l1_to_l2] @@ -19,43 +19,43 @@ accumulated_mana_used = "0x00000000000000000000000000000000000000000000000000000 [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c602b" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff8e8" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000960" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start.note_hash_tree] -root = "0x23a867ffb112975110c854e2d3c633633c8d9e23220d7b2d690d6d46e74649cb" +root = "0x1b38d276fe2d1a841943b41ca9fb6daa8275a2d65df61bea3fd05ec08f8939f2" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000001c0" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start.nullifier_tree] -root = "0x27f16503a63a968d5f68e14c0fc7aa70453441058b835373106e037e33e00215" +root = "0x044ff555a174bb852ac08924a95e7b7f2445593f6241d1bc107f38390ad0c3d9" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start.public_data_tree] -root = "0x0bc67cc22a460e130915b1ae1698ac363a1bd9f17429ce681b2bb239b4c6ef48" +root = "0x1eaee5566abe82f66645734d6e98ae17726172b6b46cbc5bcc60b8e4a2705bd5" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end.note_hash_tree] -root = "0x1b8d3ef26ee242374b017057c7ba4d8432d8e9d25e420b17e29e2519abb38729" +root = "0x08fb10578c3c664f5b199352437c69751aaac02b79ca047bef3269d2469f53e6" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end.nullifier_tree] -root = "0x1db604a9344585b3fdae5bca0c509dc195f26d4eea2140546909ce954a6e7691" +root = "0x283b7e70fbc3680d4937d8cff8d951d439d6907fcb03bb36d8419a9a11fcbe69" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end.public_data_tree] -root = "0x1cbebfdf6733350d893da5499af2522c57c70f2f4258b7094a28fe76b7f97436" +root = "0x127c645bb2ebc33b0166e33339b693cab9c5c8f74de48c61624a56149dec500a" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start_sponge_blob] @@ -83,15 +83,15 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end_sponge_blob.sponge] cache = [ - "0x274b76afa922d6e0ab9db968b002b6b0c1f3785beb056c736c425501115ff52d", - "0x00000000000000000000000000000000000000000000021e19e0c9b6a77875e8", - "0x00000000000000000000000000000000000000000000000000000000000003e8" + "0x00accc298eb21055ce304659d863e6e0e282ea6fd8642d8f49215c1add90ab0b", + "0x0009f82e8fdedc9320573eed07f4477f0d8943dd0c7862e2c718a331c43856da", + "0x00e095781c684364ce10ce83201dd8c10f8b41fc55388636c5f453354b537e8e" ] state = [ - "0x0ccd1d86333cee9dac31d5cfd66d06438000a400fb26ddcc189d512935f9fd17", - "0x15f5bf935de416aec24a35956f3afe5204f5345283475ac94d2298737095abce", - "0x1d2161ecb166521ec1fe4711c65471198846a17f25e5e2c26190a85e194ade92", - "0x0838e32d7edb6bf48ec182c4ac20d19e1d8086a9efe150a077e4328f9b4eae60" + "0x25be12e28104879780fec05996a0ff63caabac6853e66b0de74217def4b8c1a4", + "0x27dfe07dc9da6f46fa91644f7f9520f69d887eef02c5a879ae7683f7419f635c", + "0x04ea173148c7b3afc724f2d724ca9b154506aaa4b1ace5710fb4ea6590e88499", + "0x1d23ebda3adfd12ff6e8adcfa0379fe344006c076900cfcff3469ffe8dbf7423" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -638,12 +638,12 @@ fields = [ [inputs.previous_rollup_data.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" sibling_path = [ - "0x18619a5c91bfc60ab7fb2364208c69416e07e96239c568ea30c5f4405bd95178", - "0x0316525e01c4fe60e92101a57054cb437b48ad85ee2222dfb0b05a834d39d9b6", - "0x2d76090d4fe5ed81cd1d3de86cab537580a957f2dcdf69c8f14f5a1821455040", - "0x1e666d9cdf70e3f69df41e43b2bf64c3b82da16d6960159969bf63a06bb8a930", - "0x2ceb8c9f55a85f4b5c8c7795bf162b303e2ce1d86bba80ef5a37f045df17273f", - "0x2ac35a585f37cd8b1e9ab4423155da6325d6a2406f6ed8d4fff29af478a2783c" + "0x134208855ae2bdd8f9da707c8c37248f9f1b1910ada6bcb10ea7a25632775cbb", + "0x2bd4ba948df9b5d6a4708cb7814c13adca0c2ba6d5aed058a6c4c51736d51777", + "0x109e1fd3da69890291cadb6b7275a33e89b4970e1856956a971a4b202c42d427", + "0x12c49ef7f7f08c55efc7e39b04e211b63667eaa18ba622a01ee645ba2ce79842", + "0x2e4e5b7e23ac6533333c43f70db2a3c699240ba4adc372b2a3d13a000b41199c", + "0x1cb36c900588afc3a59d2d9c4b45ae89b78611c0b8ae393f0f3776887d40ce60" ] [inputs.previous_rollup_data.vk_data.vk] @@ -651,94 +651,94 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000015", "0x000000000000000000000000000000000000000000000000000000000000004f", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000006a44e872f6921932486d8e3d00b6ad3eb7", - "0x00000000000000000000000000000000000e6d3b467961530441a9a74b6b2260", - "0x0000000000000000000000000000005e6ab0a29888dc2157aca274b91fa7be2a", - "0x00000000000000000000000000000000001540de102cdbb35fc33287a23e96ba", - "0x00000000000000000000000000000001e77f82169269acc4fedd66f9bfbacea6", - "0x00000000000000000000000000000000001ce558fb2eddb86d6f40fe1bb4276c", - "0x0000000000000000000000000000009dfd2ada282e8acdf531781b715842a1f3", - "0x000000000000000000000000000000000025f7aac133ab4f6efc3a2c96ae1355", - "0x0000000000000000000000000000008673c7c552d8e9c4da4f8535f9ef1f61e0", - "0x00000000000000000000000000000000000f2ac41b4382ba8de3fca7eefc1e78", - "0x0000000000000000000000000000003a610e9db3fa3e5a7309c3236a2093d16f", - "0x000000000000000000000000000000000000754debb67408f2d25befd94716cb", - "0x0000000000000000000000000000009ee799670391452d8c77a50d8dd9c161e3", - "0x00000000000000000000000000000000001b9881f0a431577634e196b545b16c", - "0x00000000000000000000000000000079b54f955a0c7b25c16a3571b47474a5c1", - "0x00000000000000000000000000000000001e9f823238851722b25978e381e559", - "0x000000000000000000000000000000b2b8070586b8a68b51cb4f736344618f78", - "0x000000000000000000000000000000000016ad6934a241b30e36432bf01584fe", - "0x000000000000000000000000000000da66ccc493e24b69926a442d0e9273df5b", - "0x00000000000000000000000000000000001394c0cb0a78434464c7e8f05de567", - "0x000000000000000000000000000000d07d345baffa5cbfddca74d78cccba4386", - "0x00000000000000000000000000000000000d4356a2407ab2e3f7e00d4c223440", - "0x000000000000000000000000000000abb240cf8290aee78614d3ed377e2fd90b", - "0x00000000000000000000000000000000001290d9b71af619c746635796f4adf1", + "0x00000000000000000000000000000030e711e01710c74c06e34c22a790367b09", + "0x000000000000000000000000000000000008f2d9cef83074addf0597e557ac01", + "0x00000000000000000000000000000086eb8bbfd91b6074dc9dc6e21ee7c690bb", + "0x00000000000000000000000000000000002926cc3acc701487cee200a33ddfa3", + "0x000000000000000000000000000000c8372e986bd0fbd8fbf8f28cfa1c0da89c", + "0x00000000000000000000000000000000000b412a3b9ce266b95d25020d5f80a5", + "0x000000000000000000000000000000e0e1c17daff0d5d7538fe0278005804213", + "0x00000000000000000000000000000000002c7b69732a1507a8849399aacc5544", + "0x0000000000000000000000000000000f8eca59d427fe8d51dac535b3638ec32e", + "0x0000000000000000000000000000000000288c984bedb75a79d57ff3b6a4dd01", + "0x0000000000000000000000000000006ac4e285f0626e3f709abd3259423caaf4", + "0x00000000000000000000000000000000001f391adae5db06057b19194ff5a174", + "0x000000000000000000000000000000b47eff3e894090e49f547e9a1da728fdf2", + "0x000000000000000000000000000000000004322f3ea90a61714bac3a782286fc", + "0x000000000000000000000000000000efe5dd3bcd3aa502af45e81a8a350616a1", + "0x00000000000000000000000000000000000a902abfbc10c907d28517257e800c", + "0x000000000000000000000000000000bb28b2f8b14370c8d03c8909d01f5f699a", + "0x00000000000000000000000000000000001f8a87dce98f91db6f24119419c93d", + "0x000000000000000000000000000000c727b0bad77642a99bffc5da96e6c84f67", + "0x000000000000000000000000000000000017927fa05af3f0ed652f7ff32fb65c", + "0x0000000000000000000000000000000a8198b4d47c67a81150a6163984c65a72", + "0x000000000000000000000000000000000023417e363104b9a2a08ee3eb3a0726", + "0x00000000000000000000000000000011ae171b8cc426cede98504ba4b951993e", + "0x0000000000000000000000000000000000200a4a727ddd4eb0bcfe3ebcd009e2", "0x00000000000000000000000000000061d423711a8632ebc2bc4ad66e41c81d9e", "0x00000000000000000000000000000000000ab729da4e5bde1ae5604367ddcaba", "0x000000000000000000000000000000f70ec30a5dbbf3af010b147edce1da1191", "0x00000000000000000000000000000000001e9a68cfdafdda6c926f50108520ea", - "0x000000000000000000000000000000e6b907a8a5f35f5c7fc1500a4d45dbe4c1", - "0x00000000000000000000000000000000001ca92fd64272b241a9116ede43dbda", - "0x00000000000000000000000000000066e89308eb16f0d2ab7d12f920c71ea125", - "0x00000000000000000000000000000000000f3f64489d3dd6353aebf1cf35b113", - "0x0000000000000000000000000000005224d4ad9d2c89b1b484ca8c468ce89fd6", - "0x0000000000000000000000000000000000149f83a23ffbd0a948a19b37742431", - "0x0000000000000000000000000000004a78489d10d2e9fa47c8a7288f2ecbd34b", - "0x0000000000000000000000000000000000261e5b34679d400104d89cd161b12d", - "0x0000000000000000000000000000007040a2f9dc0f0df336783870954614a305", - "0x0000000000000000000000000000000000134e2740786cf9f41186f4c2b4e577", - "0x00000000000000000000000000000015fb41e2129fc1788737c75060b0e2dfbf", - "0x000000000000000000000000000000000015289b270a7b82dca2ce0bf35e8397", - "0x000000000000000000000000000000d9365a86ada5c959acd16662e9ba044d9c", - "0x0000000000000000000000000000000000002e5ba69429d5640b4311019c03ba", - "0x0000000000000000000000000000001a0d5a1789b1fe759edbfb32db9f47b619", - "0x000000000000000000000000000000000022c77bb5adc9fe2832333dfe8bc83f", - "0x00000000000000000000000000000067b1afc7e12052e65e1c05ac64aa1e2735", - "0x000000000000000000000000000000000006d78e5c04dbbc43b1d4f341622a6a", - "0x000000000000000000000000000000e4742cd0ec2265c67769b66170221187a6", - "0x00000000000000000000000000000000000a36d3e1d0cbfcb6411b302b356c75", - "0x0000000000000000000000000000007deee4b2fb539032df2625f8aab700e92f", - "0x000000000000000000000000000000000023d27bbc4c4217fe410b4b98adf2f9", - "0x00000000000000000000000000000050f8d857ab012209846d1d7447ae71f896", - "0x00000000000000000000000000000000000915e9ded179b5ac57c2f0cc7df01b", - "0x000000000000000000000000000000acd5ae291c2d6e72367a661dbc5a172f22", - "0x00000000000000000000000000000000002ab177d837e59741b90c754045a5de", - "0x0000000000000000000000000000001fd77d0350833e95ac7970306a6ab8235d", - "0x00000000000000000000000000000000001113c1ba32b152339925a5ce032a1a", - "0x000000000000000000000000000000492a1fd382ac6497c9861b8e12da77fd45", - "0x0000000000000000000000000000000000284c9db89a7fe3ea237e75121013e1", - "0x000000000000000000000000000000ca6b1c15e27bf90c24143959fd0be413c4", - "0x00000000000000000000000000000000001d396cb07d25dffa2f4c4fb18ca923", - "0x000000000000000000000000000000d8db84e9434cf5cb8b419a6ee503cd7465", - "0x00000000000000000000000000000000002405d6ca7fc12ca3a326cb62ba047b", - "0x0000000000000000000000000000006ec4daeba73c013167174c4e4c2c773ebc", - "0x000000000000000000000000000000000006963f2f7fab91063f893273f56f09", - "0x000000000000000000000000000000fb1cbfcdfe820d4b065ecdb50e8f83d50e", - "0x00000000000000000000000000000000001535874ef5572b385b0a26132cd6cd", - "0x0000000000000000000000000000006930d64de5c18f58f5900c6594ea3457f2", - "0x00000000000000000000000000000000001320c3c8946cecfdcb0917e73f073d", - "0x000000000000000000000000000000f7008bb64b5797457fe8f75808ea7350a8", - "0x000000000000000000000000000000000023256f8ae71ef1c3336d0c5c9ab5a5", - "0x000000000000000000000000000000c612ed3dcdf9b626b65a481836d5e93f5e", - "0x00000000000000000000000000000000000f9b8b6826aa8b49a37bd9e13d99d7", - "0x0000000000000000000000000000004ebba75b10bfe379a54161d8f480c4d160", - "0x00000000000000000000000000000000001365cac8b0ab8423d2ae7a2dbed072", - "0x00000000000000000000000000000092d8e3ae00636ef5b9997e411fd50c34a6", - "0x000000000000000000000000000000000012f59cdd009d105bf287f5117dbbcf", - "0x0000000000000000000000000000002fe19d4f98c860d141ef3fcdd5c79bf352", - "0x000000000000000000000000000000000018d2f09a9ec1d126e9f4a0ec9228e7", - "0x000000000000000000000000000000fbad199cc48925ba481252f26a1a64bb15", - "0x00000000000000000000000000000000001ecb797d3028b861149c188c23c004", - "0x000000000000000000000000000000e7c9d031571b8678bec736f82b0a7f67d0", - "0x00000000000000000000000000000000002eb5770b4c342d72da01c25b050758", - "0x0000000000000000000000000000007ac2f9b7b412ba45e17e86c068cc6cdbe9", - "0x000000000000000000000000000000000025602b03631bd415d5e1e856b9d63a", - "0x0000000000000000000000000000005454b812e0429383c514d84a373df953ee", - "0x000000000000000000000000000000000002084db2de5bb76c2666944ae5ce6e", - "0x000000000000000000000000000000e07504b6b9e8d52ee83a971f3483924321", - "0x00000000000000000000000000000000000ede134a274815b53493b148060f9c", + "0x000000000000000000000000000000fffec5f01fccb1d86c30e2f85beec979b5", + "0x0000000000000000000000000000000000146069fbaa14e2ec195e85e881934d", + "0x0000000000000000000000000000002d18f29bffb2baabd19aaa16457112693d", + "0x000000000000000000000000000000000018509c14def663ff034eaf374021d2", + "0x000000000000000000000000000000d37656b36bc37c1031ad89658861d2e5d4", + "0x0000000000000000000000000000000000070fc51157564c7af52d214b6bb25d", + "0x000000000000000000000000000000c720aca44d3bd86edf03abeb25726a0ec6", + "0x000000000000000000000000000000000006e8f44abee3031fbfef2c59b97cf6", + "0x000000000000000000000000000000421ccbc5663f352e37e6cab5ef87013051", + "0x000000000000000000000000000000000020d45791cfb3e049e1f4de5df172e7", + "0x000000000000000000000000000000dfb198c190e185a6a14e53d88d49022f3e", + "0x0000000000000000000000000000000000230978142443d0f9bef3ee1bf6fbac", + "0x00000000000000000000000000000086e9c80e1909aea1619975f6d6253c895d", + "0x00000000000000000000000000000000000715b19cd7291a3ebd69bd68aa5a4a", + "0x000000000000000000000000000000e3dff20da39808ae597b420991f2777bdc", + "0x00000000000000000000000000000000000bea2e5e324daa4e93416cd63526b9", + "0x0000000000000000000000000000009876231965965c9c39783e8367f378f0e3", + "0x0000000000000000000000000000000000297aeaf77697b3ffef4de2d07bf3f0", + "0x00000000000000000000000000000066b1e7a84faf5ff6eb4992972e0f69d266", + "0x000000000000000000000000000000000007fab6cac10b4527505985f3569258", + "0x0000000000000000000000000000006ab3dbb615ed001a7615b9cf4378cf1250", + "0x00000000000000000000000000000000001247ea889b11d113406c015353268c", + "0x00000000000000000000000000000012f6604d621164e3552df9c9d3f0a9fdf3", + "0x00000000000000000000000000000000002f75c892ab1613ff7683dde68a06cd", + "0x0000000000000000000000000000007a24a73ec08797f591d30b682fb87e2bad", + "0x0000000000000000000000000000000000122f0af372364b9233e4a51935f844", + "0x0000000000000000000000000000000364c4a0c7e69833dc74eead0d6f2eceef", + "0x00000000000000000000000000000000001e7e93af547ed10c6cfc6b0db62ba1", + "0x00000000000000000000000000000043a62cd93e64a6b9e49c19b6ec24ea7b9a", + "0x0000000000000000000000000000000000271c94ca759571746b006e5a66d2b4", + "0x0000000000000000000000000000005862a386a09d8bb90d9097cb01f3e419ee", + "0x0000000000000000000000000000000000185e7c3420a60f2bd6013fa0c8ac55", + "0x0000000000000000000000000000003168283401a656574977af2f7b7a280260", + "0x00000000000000000000000000000000002d8f002696c5030fcb12f5e7d352ef", + "0x000000000000000000000000000000b3c2df086f3508c3cb4624d6dd28c16733", + "0x00000000000000000000000000000000000bb624c669f8d01b2250f7b31c3574", + "0x0000000000000000000000000000004aa26aba64f9a2f24adeffe1a395b3bad1", + "0x000000000000000000000000000000000016f3bf2f74bd8018e50e31bd2e1fbc", + "0x000000000000000000000000000000b46171a481cb077d92a50a731691aef715", + "0x0000000000000000000000000000000000053d3e80b7d7364e58fcff2ae70325", + "0x000000000000000000000000000000b0f3e355b0576bb705962b598d878bb20b", + "0x00000000000000000000000000000000001cfa79b6a713b25c2107845717ab76", + "0x000000000000000000000000000000958a2c7331845897f8a67da9b77d8ac08f", + "0x00000000000000000000000000000000002c59c873fe5b9befbf417c42a5be37", + "0x000000000000000000000000000000af2f01b9ef1004bfb3a7c574cfd8b07e60", + "0x000000000000000000000000000000000022b4987d69a4af61ef77ef6194e63a", + "0x000000000000000000000000000000d1d3aa659f47a4f592facc565f0dc37877", + "0x0000000000000000000000000000000000294dcb82e67e416ca321101af94ec5", + "0x000000000000000000000000000000b2ee59db1c5ef4309880ba2bd89a4eb45a", + "0x00000000000000000000000000000000002124c7edcf1b2c84b723e814198e70", + "0x00000000000000000000000000000050d7c464b7454372f0d1e0f1bf42bfcf82", + "0x00000000000000000000000000000000001eecdac5d45d7f7883f4b3a0476db5", + "0x000000000000000000000000000000c8369f6a9d6770cf4be59719437e8cca8d", + "0x00000000000000000000000000000000001473930f9207fbdb14107443926400", + "0x0000000000000000000000000000003bb1e017a74014f8dee1d5188e39da255f", + "0x00000000000000000000000000000000000972a7f3e3a3fbbb205f37d2446db0", + "0x00000000000000000000000000000077da4e0df890ddc59fe354d29115af110b", + "0x00000000000000000000000000000000000b68eae2222ec2bd5db799d058a9e1", + "0x00000000000000000000000000000099f4f555478d4c0d98afd8941a2e365f44", + "0x000000000000000000000000000000000017de6d2980a3ef5cef046aa5446c38", "0x0000000000000000000000000000007efa390a6b36c5e3c5aa3690ebfc66fc21", "0x0000000000000000000000000000000000131fc65a69d1ad3cb3ef3ee85a29a0", "0x000000000000000000000000000000e9d28af119c9ab6ef78af21bc294ab983c", @@ -759,26 +759,26 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000051a5fee74d48f3600d263b40d48144a818", - "0x00000000000000000000000000000000002f1ed1e5ec74ba45ba099d889c7231", - "0x000000000000000000000000000000cb2b58922efaf2298f86170687c2645ae0", - "0x00000000000000000000000000000000002c802bea8d7cdc2aac5f10bd9d79d4" + "0x00000000000000000000000000000001d11ffd47503e4bd1e47d2c2ab1706b60", + "0x0000000000000000000000000000000000069ac21a07bd62722200c20b2ef467", + "0x000000000000000000000000000000388e35f9a95c25e9f4e7de16ecb1ccdeec", + "0x000000000000000000000000000000000017f61f45aced001215edbf0b632231" ] - hash = "0x0c060fa5da19d3e7281db72fdf4d24aacc68569b15ed0ee5c599becddb1a0bf2" + hash = "0x27559a38f94b5eba1367360dda8740a61582c79802d8dc0fb4f978efade9ba3f" [[inputs.previous_rollup_data]] [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000029bd74c2" -accumulated_mana_used = "0x00000000000000000000000000000000000000000000000000000000000066a5" +accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000003cba180" +accumulated_mana_used = "0x00000000000000000000000000000000000000000000000000000000000067a4" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants] - vk_tree_root = "0x1f8cde81e0c5165be68b2c47089d558a335abff180d3369d351ad6aac4e73ecd" - protocol_contract_tree_root = "0x18eb72d449788231796808c5a8c66b8611b36598807bc2b42c8f554d397b1052" + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" + protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.last_archive] - root = "0x11ec690ae2d1a79033acbde89cb053a6bfeb7713fdc47a18b28fde85057afb4d" + root = "0x12498e332d57f0de3b86eb72c1bd98d08267e07d671919591a00bb0d07ebf0a3" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.new_l1_to_l2] @@ -787,43 +787,43 @@ accumulated_mana_used = "0x00000000000000000000000000000000000000000000000000000 [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c602b" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff8e8" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000960" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start.note_hash_tree] -root = "0x1b8d3ef26ee242374b017057c7ba4d8432d8e9d25e420b17e29e2519abb38729" +root = "0x08fb10578c3c664f5b199352437c69751aaac02b79ca047bef3269d2469f53e6" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start.nullifier_tree] -root = "0x1db604a9344585b3fdae5bca0c509dc195f26d4eea2140546909ce954a6e7691" +root = "0x283b7e70fbc3680d4937d8cff8d951d439d6907fcb03bb36d8419a9a11fcbe69" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start.public_data_tree] -root = "0x1cbebfdf6733350d893da5499af2522c57c70f2f4258b7094a28fe76b7f97436" +root = "0x127c645bb2ebc33b0166e33339b693cab9c5c8f74de48c61624a56149dec500a" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end.note_hash_tree] -root = "0x1b8d3ef26ee242374b017057c7ba4d8432d8e9d25e420b17e29e2519abb38729" +root = "0x08fb10578c3c664f5b199352437c69751aaac02b79ca047bef3269d2469f53e6" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end.nullifier_tree] -root = "0x1dc4dc79c0d935da8102bcfd61d3158f2b849f6570e8b58d6e6cafb87f27be50" +root = "0x2002e8fbf3ddde7443e8827c3379168561dd42ebcd0d9a09d0a3c677a2b8e9ad" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end.public_data_tree] -root = "0x1bbb2a40c92f4ea2f7b6b02c8bb3a65f856de43a18519391e0b074199db8b025" +root = "0x2adcc91b6ffbf047a698aa22d700a8c2210a2592489b889675ab5371d624827f" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start_sponge_blob] @@ -832,15 +832,15 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start_sponge_blob.sponge] cache = [ - "0x274b76afa922d6e0ab9db968b002b6b0c1f3785beb056c736c425501115ff52d", - "0x00000000000000000000000000000000000000000000021e19e0c9b6a77875e8", - "0x00000000000000000000000000000000000000000000000000000000000003e8" + "0x00accc298eb21055ce304659d863e6e0e282ea6fd8642d8f49215c1add90ab0b", + "0x0009f82e8fdedc9320573eed07f4477f0d8943dd0c7862e2c718a331c43856da", + "0x00e095781c684364ce10ce83201dd8c10f8b41fc55388636c5f453354b537e8e" ] state = [ - "0x0ccd1d86333cee9dac31d5cfd66d06438000a400fb26ddcc189d512935f9fd17", - "0x15f5bf935de416aec24a35956f3afe5204f5345283475ac94d2298737095abce", - "0x1d2161ecb166521ec1fe4711c65471198846a17f25e5e2c26190a85e194ade92", - "0x0838e32d7edb6bf48ec182c4ac20d19e1d8086a9efe150a077e4328f9b4eae60" + "0x25be12e28104879780fec05996a0ff63caabac6853e66b0de74217def4b8c1a4", + "0x27dfe07dc9da6f46fa91644f7f9520f69d887eef02c5a879ae7683f7419f635c", + "0x04ea173148c7b3afc724f2d724ca9b154506aaa4b1ace5710fb4ea6590e88499", + "0x1d23ebda3adfd12ff6e8adcfa0379fe344006c076900cfcff3469ffe8dbf7423" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -851,15 +851,15 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end_sponge_blob.sponge] cache = [ - "0x08078dc9d3bb206b81bd7c186980fd81a2a1d95b3231f23768d4aa06302d0518", - "0x274b76afa922d6e0ab9db968b002b6b0c1f3785beb056c736c425501115ff52d", - "0x00000000000000000000000000000000000000000000021e19e0c9b67dbb0126" + "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17", + "0x12c621c4f70a13c7d8c6f48f36d0cc48eb26c3467def465d37b24a944c3e4717", + "0x00000000000000000000000000000000000000000000021e19e0c9b7dfa82692" ] state = [ - "0x2615c4310a212615f8e235043d019a0cf34d2517afafb275f4bd28ebb0078971", - "0x25838aecdefa6423bb129de515a42b12838aeb0811e02ade0a5df9dd2167c65e", - "0x28f9be8feead86c19346b88c749bcb251a923d416d228a99c4ce1e1b4086d180", - "0x059e3dabd4103556041c890e28f08b8593430d81212accc40e43054e53e144ff" + "0x15f1e709f39f2389271679b068fb4437b66be939527944d281ebd810bb3399f7", + "0x1633354572dca8555221b9dc228c35a3aa0a9531b06604830567cedb4b8c199e", + "0x1c328fb6d2f53078d978930fcb3a314e1342f3a8dbacc0ab670ba8a9dfe63cf6", + "0x2c0ad5dd3ab6cb71e01b9bcfc3332f78fab6d2195b4be720aa5d198882684d87" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -1406,12 +1406,12 @@ fields = [ [inputs.previous_rollup_data.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" sibling_path = [ - "0x0c060fa5da19d3e7281db72fdf4d24aacc68569b15ed0ee5c599becddb1a0bf2", - "0x0316525e01c4fe60e92101a57054cb437b48ad85ee2222dfb0b05a834d39d9b6", - "0x2d76090d4fe5ed81cd1d3de86cab537580a957f2dcdf69c8f14f5a1821455040", - "0x1e666d9cdf70e3f69df41e43b2bf64c3b82da16d6960159969bf63a06bb8a930", - "0x2ceb8c9f55a85f4b5c8c7795bf162b303e2ce1d86bba80ef5a37f045df17273f", - "0x2ac35a585f37cd8b1e9ab4423155da6325d6a2406f6ed8d4fff29af478a2783c" + "0x27559a38f94b5eba1367360dda8740a61582c79802d8dc0fb4f978efade9ba3f", + "0x2bd4ba948df9b5d6a4708cb7814c13adca0c2ba6d5aed058a6c4c51736d51777", + "0x109e1fd3da69890291cadb6b7275a33e89b4970e1856956a971a4b202c42d427", + "0x12c49ef7f7f08c55efc7e39b04e211b63667eaa18ba622a01ee645ba2ce79842", + "0x2e4e5b7e23ac6533333c43f70db2a3c699240ba4adc372b2a3d13a000b41199c", + "0x1cb36c900588afc3a59d2d9c4b45ae89b78611c0b8ae393f0f3776887d40ce60" ] [inputs.previous_rollup_data.vk_data.vk] @@ -1419,94 +1419,94 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000017", "0x000000000000000000000000000000000000000000000000000000000000004f", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000c781b8d0e005ee3f78f786a97e132ecb56", - "0x000000000000000000000000000000000012a3a6758155dcc30991b837b1cc2e", - "0x000000000000000000000000000000df443023c60b22a63e2462a9eb8fed3080", - "0x00000000000000000000000000000000002e4670ee032c9ffd48e3c1ab9fd1c5", - "0x00000000000000000000000000000052ed9835ba2a990b1638f2b23816ec9172", - "0x00000000000000000000000000000000000621c7aa5a5063adcb5996ad81bea1", - "0x00000000000000000000000000000085858a55effb5db2f0bac5e91ea9865c02", - "0x00000000000000000000000000000000000ccd662095a1b6fec9d6498f8407af", - "0x00000000000000000000000000000027b4c5c47b0e3c7d8e11195fac652415ec", - "0x00000000000000000000000000000000001a8535411703d49d4ae3daae81f3c6", - "0x000000000000000000000000000000df81bb2d8502aac6d346a3cb4cc85b29c5", - "0x000000000000000000000000000000000002affa6e4b298b26e572238e9534ec", - "0x000000000000000000000000000000cfdeeb80a8f97deae12204fb9e8a1b8872", - "0x00000000000000000000000000000000000e2482c61f24bd1fa18a621b807d28", - "0x00000000000000000000000000000093518e572c0462106bb3062b24489d2887", - "0x000000000000000000000000000000000004d2edac5301382d58d122769093eb", - "0x000000000000000000000000000000d48cc4b0bc130f32a1f031056411a11e3e", - "0x000000000000000000000000000000000021b81333596c2dd89d7c3f3886d36b", - "0x000000000000000000000000000000c25ee76766008f0b354e547eb99794cfd8", - "0x00000000000000000000000000000000000b25cfdf858bf7a4d42cdc6abf5873", - "0x0000000000000000000000000000003cb18fcbf13b77fc2eaef5a722dc1a55a8", - "0x000000000000000000000000000000000022d3f487c247c4f9c78325f63b0370", - "0x0000000000000000000000000000002e50b8b4a71843bd32ab9c66b99f5492f6", - "0x000000000000000000000000000000000027a6dabee818ad043cdd6a1309482d", + "0x000000000000000000000000000000c1fc0f1a04f37184c8120f8bacbe879616", + "0x00000000000000000000000000000000001e33872690d662b888b0bb3f9937c9", + "0x0000000000000000000000000000007b1b6729bae0cb7b097dd20814ee1dc19c", + "0x000000000000000000000000000000000012e876d2b3b949c29547265fbd6892", + "0x0000000000000000000000000000002bbe63d7ea942acd8553bd5ab125b8ac95", + "0x0000000000000000000000000000000000302f809f1feed9209a48edab1646d1", + "0x00000000000000000000000000000098c8e02885831612adb863b27cab78e29d", + "0x0000000000000000000000000000000000077a79bd19795b6df654c7b7d4ef7c", + "0x00000000000000000000000000000078075bedb77739db6e8c283ee6726596d5", + "0x000000000000000000000000000000000022abaeda6e090003341706d1de9a83", + "0x0000000000000000000000000000005e33ab2cc870ad33ca98f2547e664110f9", + "0x000000000000000000000000000000000021cfcf770ec919aa66abe0dd093fbb", + "0x00000000000000000000000000000025edca77141ef1d1d1b8adc4148dc3c96e", + "0x000000000000000000000000000000000011505bd98b189c3bd19ca787b65c99", + "0x0000000000000000000000000000009068fa331074986c23cf1d6aeaaf2ce695", + "0x000000000000000000000000000000000012fd4f321fe24213388c4fc8cfdef5", + "0x000000000000000000000000000000a9c6eb7820868aa0405c5fa6927bf3b304", + "0x000000000000000000000000000000000027f6abff28f3da072e41d1fac3eb7c", + "0x000000000000000000000000000000bf15262695f647628580d0ba3ae1178413", + "0x000000000000000000000000000000000003b66eab4e6c7b020e6299831b665d", + "0x000000000000000000000000000000e83feb84c1481cd6008cc3f945940e44e2", + "0x000000000000000000000000000000000025405ddf0333e9ace8f53fe1178324", + "0x000000000000000000000000000000988895a7a2a0b46f5978364a62005e0a22", + "0x00000000000000000000000000000000002b3425faf95d9fc62fe5a392ef42d9", "0x0000000000000000000000000000005fa6944db4698d60cf6be6054186540688", "0x000000000000000000000000000000000017826c0533eb09c337e11b9200d4e4", "0x000000000000000000000000000000a9367676cb541df127773a1703235e3ccb", "0x00000000000000000000000000000000001ce4b4c309d2494ace7aa4f00bc406", - "0x000000000000000000000000000000245187dc09f21c494a1341c8d7d310b2f5", - "0x00000000000000000000000000000000001573d63732b2afabf679418c3fdb31", - "0x000000000000000000000000000000fe4179650eed959bb2c790b1adb732fb3f", - "0x00000000000000000000000000000000000ff45e283bed7a122936a04e4a9ebc", - "0x000000000000000000000000000000ea7961fd8a7f61896dbacf05b35aec7220", - "0x00000000000000000000000000000000000cb38b5fb0e9c16151e27d1c4e149a", - "0x000000000000000000000000000000b3a541065fc5953635d3289c6238ac09ae", - "0x00000000000000000000000000000000002be4c92399966d46b8fea8145e9028", - "0x00000000000000000000000000000054a3f319605619acdf252de64a0e545979", - "0x00000000000000000000000000000000002d5cb8f1f27df861aa6618a4af4613", - "0x0000000000000000000000000000009b6331fa87f2506295dd0063d869809c17", - "0x00000000000000000000000000000000000961bc7458a424a6e82103abc2558b", - "0x000000000000000000000000000000b4088356f25cc1e1762a7ea2781c1ee6c7", - "0x000000000000000000000000000000000012559788914781f1382bbd7f2128c5", - "0x000000000000000000000000000000e729896da8ac15f9cbb14c3eab1717ecfb", - "0x00000000000000000000000000000000000b26632e515c13e47ef18721313a0c", - "0x000000000000000000000000000000b2a6cdce3d4a49957e2fc466ae8097182a", - "0x0000000000000000000000000000000000212b1fe97946f5d841e27d38a9166a", - "0x0000000000000000000000000000001c7232f9ef5d5c240db675cad870d7c2f9", - "0x00000000000000000000000000000000001351e4a0d34a171271f9e8483972de", - "0x000000000000000000000000000000aa28e0db106e4c251e8508693ccc7c2687", - "0x000000000000000000000000000000000014288020795d1351fe534ef28e25c0", - "0x0000000000000000000000000000001ab30badc095ba61135d717dc6eb439ec9", - "0x000000000000000000000000000000000017793dc4d2cf05f3fa7bf0e8ba504f", - "0x000000000000000000000000000000a838c65523cf53509c130c91965a8310a4", - "0x000000000000000000000000000000000003a503d290a3d5b61b3eac85e01f83", - "0x000000000000000000000000000000ef3f48560b6d6333e4a6da72ab9c167ab3", - "0x00000000000000000000000000000000000723848d3c8279cd4d0431f5e238ae", - "0x000000000000000000000000000000b853c30d5a62c8278e8974f6f307628ad7", - "0x0000000000000000000000000000000000043689702527a9e722b32453ecd6e3", - "0x0000000000000000000000000000002384bc357d1d68242e19584bcd2a2f7da3", - "0x00000000000000000000000000000000000c43bd06eabc40c5be7009dc1073bd", - "0x000000000000000000000000000000b11364bfbbcb4fa9e98e3ea9327e624911", - "0x0000000000000000000000000000000000244ca83dd978fa8cb84877b374d7bc", - "0x00000000000000000000000000000014e691cc56be9b7775f0ec3872d26b2b74", - "0x000000000000000000000000000000000028a23452e856a400411ed542dc566e", - "0x0000000000000000000000000000002c6d18684106373f34aa1320c0d6cab205", - "0x00000000000000000000000000000000001869ed11a07badaeb72542dfe6456c", - "0x00000000000000000000000000000015d866001de308cdb6c1ac7c7491e29550", - "0x0000000000000000000000000000000000049d7367fc58ead45c8bcd15cc1f3f", - "0x000000000000000000000000000000ce8849634968ab5a89645a628dd516fa43", - "0x00000000000000000000000000000000001be73afa99d0a719448a60270d0f66", - "0x000000000000000000000000000000a30b018c10572ca79f2cfcb649ec821dde", - "0x00000000000000000000000000000000000c65f34f0dd14b23a2b887db6ea6a9", - "0x0000000000000000000000000000008eb94be05a4d8dc93a419207364f56848d", - "0x0000000000000000000000000000000000088fe48b861b00f31c13bdcedc4bd8", - "0x000000000000000000000000000000a895b221a3859252baf6ac0d108b290eff", - "0x000000000000000000000000000000000015d6e5248f7462fd6ec075a890932e", - "0x000000000000000000000000000000a1380717c8551bcefe75fdf0a7eca15894", - "0x00000000000000000000000000000000000b2dad4619d107b2405cf42c140992", - "0x000000000000000000000000000000143c48a08573b83b4a937ea0d6c81e3aa2", - "0x00000000000000000000000000000000002d37e05e51d9e25458bc47d1a443e1", - "0x00000000000000000000000000000081309b246e5462390bc0f52f1169663404", - "0x00000000000000000000000000000000001ab8585b7bcd729f9c458bd6744891", - "0x000000000000000000000000000000ee91ec36d0a4aaa5e5f22e9ef7ebe77912", - "0x00000000000000000000000000000000002a7d9c205758972d09f00986876d01", - "0x00000000000000000000000000000056db483d894348b5bd1002bcab733c10fd", - "0x00000000000000000000000000000000000ce8bf107cb2c5f7dcdd0be3fb94b7", - "0x000000000000000000000000000000ede840df2859bf1e16023bcdecb058e2aa", - "0x00000000000000000000000000000000002c8da3bbe0640b54adbceddf5d3113", + "0x000000000000000000000000000000019037c202eaee2ea916d863732172800d", + "0x000000000000000000000000000000000022c2c23df484ae0a34a614ee5ecf5c", + "0x000000000000000000000000000000462c4964618533d774b16e27755a0137c6", + "0x00000000000000000000000000000000001388ef72fd2317c5b92ab6f9f743ff", + "0x000000000000000000000000000000f761a8d9a15439d1f0aecacff2c96ab566", + "0x00000000000000000000000000000000001d06bfba35cc8c031b31d96b368405", + "0x0000000000000000000000000000005a295c292f3e18d0bf5e86d834c363748a", + "0x000000000000000000000000000000000027e4f2f4a063dec0c1ecd36b89c50a", + "0x000000000000000000000000000000a419dd4dc39e0274c0958df9d8a526051c", + "0x00000000000000000000000000000000002a55b54e2445cbf9dd7e47c0721596", + "0x00000000000000000000000000000057c4dafdc41d6c5fcc3e56399e7ae7cac8", + "0x00000000000000000000000000000000001797c0866b1ec5f1e556afae5dc1b1", + "0x000000000000000000000000000000c441fd140d046ab7a47c2ce9153f9b4d91", + "0x00000000000000000000000000000000002d73fd8bc0b4fa14c02210aa9f77d2", + "0x00000000000000000000000000000005ae91f6546efd85ec58441f914c785160", + "0x000000000000000000000000000000000014e1b596b8751fbd26ae36c0dcca79", + "0x00000000000000000000000000000044b98c7aa5f22d907bccd65645257d9734", + "0x00000000000000000000000000000000000bb87a68b5c9f5a0835b265dd5c6a1", + "0x00000000000000000000000000000036a41fffbb40fe4f107afcdf8bf08b4a97", + "0x00000000000000000000000000000000001fa646a222f6a3c6b829389d33075b", + "0x000000000000000000000000000000482b770e82b56f0b9482ae669e6d4884d2", + "0x00000000000000000000000000000000001d4b5e54af385442175eb54456076a", + "0x0000000000000000000000000000005339acdc3c75eb4cbfbfab6c6fdf0ab9e5", + "0x00000000000000000000000000000000002506c9169277aa05c8ee1e46c08e72", + "0x00000000000000000000000000000070e74581574b3a028013dd80398ab7160c", + "0x0000000000000000000000000000000000122f2cdff188b4cd972b441cabf09a", + "0x0000000000000000000000000000003b1c9628b12d694dc2151b100e69c59cd7", + "0x000000000000000000000000000000000013843d667ddb0149f3eedf7f47f2e9", + "0x000000000000000000000000000000f5a039669f374ca485fa89f3fb2de9fa68", + "0x000000000000000000000000000000000006ab20b5965d42926ac723caff8dcb", + "0x000000000000000000000000000000b771b43e59974353ce0be7cf656a13c8bd", + "0x00000000000000000000000000000000001788c20fed3bea9daff383a83befa9", + "0x000000000000000000000000000000eebf5e824828c681e8408177334ac425fb", + "0x00000000000000000000000000000000002cf8955fdaaa87c4712381541a8614", + "0x000000000000000000000000000000f948f6a37cb6730c1b2bcb9f9e7a164d33", + "0x0000000000000000000000000000000000252bdced7e1d8f0c3428bb7f8736a0", + "0x0000000000000000000000000000008b39aaffefe33801d0027cc02c2df7a424", + "0x000000000000000000000000000000000015fa9ec2fdb30f638db2b73c857433", + "0x0000000000000000000000000000005f91d42c5c93fe37157ed83f57c876e5a5", + "0x00000000000000000000000000000000001c913a6a4398528a9e03c6513f551c", + "0x000000000000000000000000000000b06995d05dfef3ebbd6d1ad22357936421", + "0x00000000000000000000000000000000001b2e6ee11344e3748b31a7c2612b8b", + "0x000000000000000000000000000000d7c54321d675a5c53e0d8184136a4441a1", + "0x00000000000000000000000000000000002afa8c980c1827cd7e19b11cc5820f", + "0x0000000000000000000000000000000502f3d259d52885d132f33778b6b904db", + "0x00000000000000000000000000000000001f2d5459028c35d9db2d429537543f", + "0x0000000000000000000000000000009b7e3f4994cc75abe29e486952b40521c0", + "0x00000000000000000000000000000000001b3d96d79b6e1bf07b85bce9c4c8ed", + "0x00000000000000000000000000000085d9b09e3616c8be1d936a14b066dde0b1", + "0x0000000000000000000000000000000000183679819399862b357637e6700692", + "0x00000000000000000000000000000061d7c5a462c4bda20402239ca1a7541ff6", + "0x000000000000000000000000000000000009f1dfab14eba6b467aab0d9aedc9f", + "0x0000000000000000000000000000008407de7cbeba44fd644f5a7a2ac9ff4282", + "0x000000000000000000000000000000000014f1144f0617803c6f7e99be94fa8a", + "0x000000000000000000000000000000a6ad8242008378427495a83c81b601950d", + "0x000000000000000000000000000000000029520daf4a4865d2f752f73fc96e69", + "0x0000000000000000000000000000007cdb35acc3128f829cd34b0a69804358b9", + "0x00000000000000000000000000000000001292d189bd0214546afbcd7c34a1fd", + "0x0000000000000000000000000000008544707f655500ba23e35dbe71309f26af", + "0x000000000000000000000000000000000026d4c5105d10efb5a61bbb5fbce196", "0x0000000000000000000000000000007efa390a6b36c5e3c5aa3690ebfc66fc21", "0x0000000000000000000000000000000000131fc65a69d1ad3cb3ef3ee85a29a0", "0x000000000000000000000000000000e9d28af119c9ab6ef78af21bc294ab983c", @@ -1527,12 +1527,12 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000fd5761597d72f8f5bf49326178811ad8a6", - "0x00000000000000000000000000000000000cc91e05a1e8533fc2917466bb3756", - "0x0000000000000000000000000000002c84fefd86fe9e3650471b8f07275a8dc8", - "0x000000000000000000000000000000000013ad214417d480b87ff334a9b72e8a" + "0x0000000000000000000000000000000d0824dfd8cf20248760e3cffd72166bc6", + "0x00000000000000000000000000000000002b1d02618920bb97e8246e908963f2", + "0x000000000000000000000000000000a8913e9c73b4d63d8d49044c5d9646409e", + "0x00000000000000000000000000000000003000261a957faa3b82a04ea146c974" ] - hash = "0x18619a5c91bfc60ab7fb2364208c69416e07e96239c568ea30c5f4405bd95178" + hash = "0x134208855ae2bdd8f9da707c8c37248f9f1b1910ada6bcb10ea7a25632775cbb" [inputs.data] l1_to_l2_message_subtree_sibling_path = [ @@ -1573,9 +1573,9 @@ l1_to_l2_message_subtree_sibling_path = [ "0x21849764e1aa64b83a69e39d27eedaec2a8f97066e5ddb74634ffdb11388dd9a" ] previous_archive_sibling_path = [ - "0x2228d6d6dc66eedbefd3777d1facff0e468244c03a0dea36790b57d37a26bd2e", - "0x225178ac2773c0a92916c64085173ca4e4ccdfeae47366b773d0f01e92e2aca9", - "0x0d4011bd911290d48a941a624fc288a26730941ba812334f2440806af74f314b", + "0x1a6c3295a4d5ba803e0bc83b326db08a8c8cd450c424d4b6ec47aa200aa4d588", + "0x109ecbaee18adc4a36816ecd8c11fa149136077e6b104f6c128d783a9d6e2e6d", + "0x2cbfc522aab3db2a4dbc23bbed382b9711eab6cdd1d8d4d6d71611f8dcaeda7b", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", @@ -1607,7 +1607,7 @@ new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x1aa41008555476527c21645eba65c35430ad4d601bceefaad12d63de993d6715", + "0x2f0abe35907ac8a62f68a613442f9e3b8dbaccd52a3791337d5b7165ad18ccd9", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", @@ -1638,12 +1638,12 @@ prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.data.l1_to_l2_roots] vk_path = [ - "0x1555aec9f4d827d086d3283463199ccf5bfe2ee62ad3073e0fe6a881be163aed", - "0x2079789ecc4d7ed889284228469eddd3ca22909a7b01de3666b164ee81ff9305", - "0x2560fcff0be135f62ec1ac1ffbc852433261323927c374366017d05f4804e727", - "0x27b8d5b9d83c415a9742d70218008ba9c0f5a35df8b84d05bd6ef872e11940b6", - "0x186d392bd1603b21f750409ff01e8216d44ccb745048248fe4c6682077e5a30c", - "0x2ac35a585f37cd8b1e9ab4423155da6325d6a2406f6ed8d4fff29af478a2783c" + "0x1535fe02aff693efe2935e60c600746644605ef3b8675376bd9c3db3ff220f26", + "0x0719a2e91f1244b21242301a5af68d231e33240926d88250edbcda9e5fb8c20a", + "0x1d6cc635a4fb91830162757c5e4f715e2c41261b893844d605d0601df3246dd8", + "0x1323a1c5c27e0b984b96bcc6de175bc569cd495a1b155fda1422938b684c2301", + "0x2888ebba6c3f25e0757855fa46622c406dda5e50c9522cb1295d83e0d129339f", + "0x1cb36c900588afc3a59d2d9c4b45ae89b78611c0b8ae393f0f3776887d40ce60" ] [inputs.data.l1_to_l2_roots.proof] @@ -2112,94 +2112,94 @@ prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" "0x0000000000000000000000000000000000000000000000000000000000000016", "0x0000000000000000000000000000000000000000000000000000000000000013", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000146301d5cd753c4f8c533da9af54948089", - "0x0000000000000000000000000000000000085ce0312ec789d52c39507343e2f2", - "0x00000000000000000000000000000046cf9456f23b81f0f43b838f31bf73ea67", - "0x000000000000000000000000000000000028e1db869a8470ca84390a4672f922", - "0x000000000000000000000000000000d242ec5f914507f89d5d44b43b2075b904", - "0x00000000000000000000000000000000001c5d0d50d3244dea80e4cc66115357", - "0x00000000000000000000000000000020f12063268a9a44d5312ee928e8460d28", - "0x000000000000000000000000000000000025adb12207e46b959babd53ba8c3fc", - "0x0000000000000000000000000000009671f2e4596b75a667a527a9f50a3954ad", - "0x00000000000000000000000000000000002c4991e8da987d9dc2415c15fd05f9", - "0x000000000000000000000000000000ce413e8b7d2fd5a6563d04ac6e398387ce", - "0x0000000000000000000000000000000000175df6e04893a703ca9469eb432544", - "0x000000000000000000000000000000888b93e9e43104d833853a2960ba77aeec", - "0x00000000000000000000000000000000002ece239095b2d151ba9f938bd16003", - "0x000000000000000000000000000000af188aafcf5f9c41bb834bae01ce862556", - "0x000000000000000000000000000000000007dd827b06b22dc2212bfbea05ecd7", - "0x0000000000000000000000000000000523524574f648b26e96d9e30aa53a9ecd", - "0x00000000000000000000000000000000000017a96466b1392979b400c50014b4", - "0x000000000000000000000000000000bdb3af6b22ece7fd66b4d33b4ea9fe6703", - "0x00000000000000000000000000000000000b6e8be7d3de847e3f5fdae99a928d", - "0x000000000000000000000000000000dd69b2046ca8c32c76b9383ad4bfdba61b", - "0x00000000000000000000000000000000002a65992147ca5a68f3deb31ee5de7f", - "0x00000000000000000000000000000006e7ea58c5933213e6c5f0eb36112e05a9", - "0x000000000000000000000000000000000004b7bdb3d435a6cac5407c72916360", + "0x00000000000000000000000000000084196342e92b176c23fcfa559bda41f961", + "0x00000000000000000000000000000000002a7a109a5d84ab5e6dd6a4f765b9d6", + "0x000000000000000000000000000000606f288e91f58d11184a3e801c721f2324", + "0x00000000000000000000000000000000000fd1343d5876f724fb66add05af822", + "0x000000000000000000000000000000fed524ee3f97fa1328181bc409b1eeb4dc", + "0x00000000000000000000000000000000002524bae0f08bef1e358dca687f26b8", + "0x000000000000000000000000000000a44c806157d479bacee8f51ad525aacae7", + "0x00000000000000000000000000000000000ca9e7d66b90de803bc2f83aa6473c", + "0x000000000000000000000000000000bd367af0f9bdc370de3593e17fa8c375a8", + "0x0000000000000000000000000000000000028a242ad93bce80549f680b7ca90e", + "0x00000000000000000000000000000060e73c59b3bda43ef0b7e9185a1ec1eed7", + "0x00000000000000000000000000000000001c4daf8c1d0d73099a559da9803d22", + "0x000000000000000000000000000000b3536f2b37de7818d823a90db3c5e71eeb", + "0x00000000000000000000000000000000001a563728bd8c4a62e09ce8748a7ff5", + "0x00000000000000000000000000000005c632f5609b609764722672f85c79401e", + "0x00000000000000000000000000000000002b9d83d0e5009647d30b2f450396e4", + "0x000000000000000000000000000000e5f629aaeaa0a9e45e85d9550e2228472b", + "0x00000000000000000000000000000000001c2c7dc3f36b734b85bd894996861e", + "0x0000000000000000000000000000003c91c73f93dd496a55b78c638ba5cf7c9b", + "0x00000000000000000000000000000000001ac50f5beb6a2fa5a309a8a27907f2", + "0x000000000000000000000000000000d44ebcda3cc305778ec4ced286d5345aa9", + "0x0000000000000000000000000000000000304f81d8d7a8b70aecd966dfb4e149", + "0x000000000000000000000000000000ef655ef77bb58a4edd3f24d52b8f03f2e9", + "0x000000000000000000000000000000000014eb86448320f0a5faab06ec91be23", "0x000000000000000000000000000000b862080874183fbd8beafade4db201cf5c", "0x00000000000000000000000000000000000d51c793d0f427c476d6580576b5fb", "0x000000000000000000000000000000de866f4da1aad9653b7f3eb7e2596c60cc", "0x00000000000000000000000000000000000034d03c26f3f80a0c7216002f7e18", - "0x0000000000000000000000000000009d1ef6eaab000a1ce1dc35120a038b5698", - "0x00000000000000000000000000000000000660c83ed39e636becacdafc36f4dc", - "0x000000000000000000000000000000aface73f723be86ec616cab0e5adb76575", - "0x00000000000000000000000000000000001d80a1b1b3475457386884bfe9cdd7", - "0x00000000000000000000000000000060b14e5c9c92996cad8a6bc83edda978bc", - "0x000000000000000000000000000000000018af623096051d70858b4818412e51", - "0x000000000000000000000000000000a1c12fda94441a13f7fd4f3d0e080d1f6f", - "0x00000000000000000000000000000000001d5cde8a734ca12d1f4c256ebec908", - "0x000000000000000000000000000000bb3e7a6db24eb60073f398deee0239c3cf", - "0x000000000000000000000000000000000025430f22bbf60f764c82e8025a8584", - "0x0000000000000000000000000000002618b71cc7f071ff69f5402f3ef9ba8b53", - "0x00000000000000000000000000000000000cf58736e33a691d3388e41a17e637", - "0x000000000000000000000000000000b4b49b311d15d3309f5c71f245c38d231e", - "0x00000000000000000000000000000000001c61259f2e541c562e4201ea6176c0", - "0x000000000000000000000000000000b9788e03039dbfaa3fa4e341b7b38d02a0", - "0x00000000000000000000000000000000002c2e075ffc0f80a790f8808d4df9dc", - "0x00000000000000000000000000000090f33405f21e5dc8f685121888cd132411", - "0x00000000000000000000000000000000002ca7040ce022dcd32ff9d4f165cd7e", - "0x00000000000000000000000000000038c78aa48c0ae9ae828219791cfe1c854a", - "0x00000000000000000000000000000000000e389146997b5a263d9de323a111ff", - "0x000000000000000000000000000000d67e4b6b34717903be040677ad58ddaef8", - "0x00000000000000000000000000000000002cbd2fac1321e1a6fe903bc9bb676f", - "0x0000000000000000000000000000000ce60cb2ad9cd1c49bb4dfe951cd8459cc", - "0x00000000000000000000000000000000000a716d3eda486237c90508b128c0a2", - "0x000000000000000000000000000000cf4d0508e5d94e9509c17b4ec53b522f8e", - "0x000000000000000000000000000000000026972add2bb46e241d41e6abf22110", - "0x00000000000000000000000000000055d74446d2c8eaf109bb86a6ea096c6284", - "0x00000000000000000000000000000000001ab481f1ebf0260b6fe28e0f5d8110", - "0x000000000000000000000000000000a57d6612f9c2b84b0bb2cb6b7b90c48ae8", - "0x000000000000000000000000000000000019660f17ab5824d6056bb81f7e58a3", - "0x0000000000000000000000000000007cac88ec05c8fa6b1f996be618c33a75f2", - "0x0000000000000000000000000000000000292f55d782b367f543be78fc2d3800", - "0x0000000000000000000000000000000b19a38f1444f04f2b858481a36970e067", - "0x00000000000000000000000000000000002f5d5ac82c9a7134ca74971386c6bf", - "0x000000000000000000000000000000e219a6676197e5d7b631618d7002ca5984", - "0x000000000000000000000000000000000010e4be0544125ea7a95c8ee3a68eb7", - "0x0000000000000000000000000000005f1260edc22f5c881b6d241f3b79635ca4", - "0x0000000000000000000000000000000000140d2599e731e15c4b26449b0db509", - "0x00000000000000000000000000000031cc5c1396f744b65b4022ab74ee442a28", - "0x00000000000000000000000000000000002e208260eb5cb48cead8cebe62d70d", - "0x0000000000000000000000000000007a063bdff451ec4b790f75f87077423471", - "0x00000000000000000000000000000000001e2e9813f695cb0a66cfdbce0fac16", - "0x00000000000000000000000000000056a02e30726ccd5c14dc1f890722189abd", - "0x00000000000000000000000000000000002408cade5248997e92afebae918738", - "0x000000000000000000000000000000e261eb62078803270a97e21eb85cf40809", - "0x000000000000000000000000000000000015194afcf3185b872153c8eb7885c3", - "0x00000000000000000000000000000033c801bf7db965154f4b759f15bcc7d1ba", - "0x000000000000000000000000000000000015e053f860d287f69553e81b21ddea", - "0x0000000000000000000000000000003c74979027201fb4723dfda55caa1c15df", - "0x000000000000000000000000000000000024ad00c6615e474c9f9b8f691a0e61", - "0x00000000000000000000000000000014d67ecbf24277d242c2ae9bc14c07bcb1", - "0x000000000000000000000000000000000025133bbc3cc4fc60aa79b6f8282dba", - "0x0000000000000000000000000000003fbad789ffe33f1caae363b48be52fcadf", - "0x000000000000000000000000000000000006a52eb33bb1ca12241327caed82a7", - "0x000000000000000000000000000000312ea567b25ac351c3ab8d113ebbe81fca", - "0x000000000000000000000000000000000002ebaa6be106734dbd41143f7e5943", - "0x000000000000000000000000000000e3514790f107ac73095e1a10bede16cf88", - "0x000000000000000000000000000000000024dfcb116f8c295b504340781a58ad", - "0x0000000000000000000000000000002dc8dd80ca05cdc29ca2651b0026648e1d", - "0x000000000000000000000000000000000013692e243d62283918e1832d093c56", + "0x0000000000000000000000000000008ecd11515cbcaa997ba632b47ad2c4e4e4", + "0x000000000000000000000000000000000003e3d18fd175e781a0e4cc03dabf79", + "0x0000000000000000000000000000009c53f292ea8948448a3deb76ddd2c25120", + "0x00000000000000000000000000000000001207ba9b5b4bcc1e623ea00ce91d69", + "0x00000000000000000000000000000024682874bf39646e895817bd20ea3aca97", + "0x0000000000000000000000000000000000090e6ed93d3e9606bcc986ed1f9a48", + "0x000000000000000000000000000000281006a5f6a72a288fadacf6e83796091f", + "0x000000000000000000000000000000000018eff778c1a5ef5ec05171527b7e69", + "0x000000000000000000000000000000d4519eb16187a0bb2f0109bd687493a1c1", + "0x000000000000000000000000000000000003f5f3875bb4b40212adf042b009c2", + "0x0000000000000000000000000000005a00232bee21908c5e23a1e3b33eaa3b29", + "0x00000000000000000000000000000000000ce0bac5516ad2017a378c9608cc4e", + "0x000000000000000000000000000000a314360e359a87ac4becf13b3f5c45431a", + "0x000000000000000000000000000000000028c67876aa3ff98291cdc5a16191ec", + "0x000000000000000000000000000000358bdee41403604c80e9f09e7fcc69525a", + "0x00000000000000000000000000000000001b56c146487d804e0a955b593ff1df", + "0x000000000000000000000000000000f407a5ee2ae451f2be09388839cf24dd5e", + "0x00000000000000000000000000000000001eeb2fefa24e03a2317708e3509ed8", + "0x00000000000000000000000000000013d17644ddaa2853c1e1921a12d8a40dde", + "0x000000000000000000000000000000000007f228b50aab3f574707f34322571f", + "0x00000000000000000000000000000067f7a887c3d29a80a7a3fc8a51c65777b2", + "0x0000000000000000000000000000000000018f343d999e9fd519d33408f03270", + "0x0000000000000000000000000000001a797c4cafc4733527916c4b4da66b099e", + "0x000000000000000000000000000000000008fffabbe8ca1f73b77de6b581c783", + "0x000000000000000000000000000000f8ecabc9769035248b566702c0472ae5e9", + "0x00000000000000000000000000000000000a3b3add7a5450a3960de7c6701c6e", + "0x000000000000000000000000000000d3d427bfe7c49640af8f52eabf8d7fd4a8", + "0x000000000000000000000000000000000010d96d5b326982abc214d5afd8878b", + "0x00000000000000000000000000000001e3e0701ade2c5617b3b47598bb962fce", + "0x00000000000000000000000000000000001033018dfe7e1ceb25e611ba67db7d", + "0x00000000000000000000000000000065c56148f24f9280fd7b05684f32dba670", + "0x000000000000000000000000000000000029340cb6126ff1159d2fb016660c76", + "0x000000000000000000000000000000ce3947d548cc4f448dfb9cd2c704532429", + "0x0000000000000000000000000000000000259bad2fb600dcda856949ac959547", + "0x000000000000000000000000000000f1169dae102e93570d8f1511d8c7ba23c3", + "0x000000000000000000000000000000000000007c99382b923db33b0def7785a8", + "0x0000000000000000000000000000008470a312498bcabcb5c780935f34a61008", + "0x0000000000000000000000000000000000111423ae3895bef0ab0049687c2a30", + "0x00000000000000000000000000000009397f4488843cff9a125ceaad019a9846", + "0x00000000000000000000000000000000002fccb193e4009fb05b51240d123c1b", + "0x000000000000000000000000000000ce7a390507753332093c5337c55be852f7", + "0x0000000000000000000000000000000000279fa9559c74253a4e7dfd6245582a", + "0x0000000000000000000000000000009c087f14363a446a587405403404361785", + "0x000000000000000000000000000000000012abdc661d980ac32317406c983637", + "0x0000000000000000000000000000000e04367c67d0e2498ad8c15dd76b179c95", + "0x0000000000000000000000000000000000277460cfd05deee4e3b46a572d3448", + "0x000000000000000000000000000000e8f5e7def61da54d52428cff64609f7450", + "0x00000000000000000000000000000000001f0d68c3fa89e4387e199d4cbfbf0f", + "0x000000000000000000000000000000c5396553c675b488ed878b1f0bb304ba09", + "0x0000000000000000000000000000000000033b047b756aa028ee8e72e619d5a5", + "0x0000000000000000000000000000005899f450f65d47d165ed09a8c7edba8c7b", + "0x000000000000000000000000000000000009d642771c51a687f8a272de643e0e", + "0x0000000000000000000000000000008a340cc114fa0b78bd4bc42246e5d993e4", + "0x00000000000000000000000000000000002cf59b3c553008fac994069cbc3fbc", + "0x00000000000000000000000000000024ecc4b1b32a979be0cacdfbfb7ccd1f3f", + "0x00000000000000000000000000000000001ca69cc78980ad17f79c4f394c0670", + "0x0000000000000000000000000000001af0135eec02e1735e656b2c9130b22761", + "0x0000000000000000000000000000000000292e7359db7571c97bfa9d308dbf54", + "0x0000000000000000000000000000000d864f5863419d6776b8aec7790250be00", + "0x000000000000000000000000000000000007519cbd993d72db52924faf3049d1", "0x000000000000000000000000000000725ce8e8fb5c6346f6dfeb9261eb398cee", "0x00000000000000000000000000000000000721ab622e3899d1164f3cf8c1bf06", "0x0000000000000000000000000000009656984ef9db170ea5f30f9ec4165d1919", @@ -2220,28 +2220,28 @@ prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000005566ee17dbce600283e15b4f5051e77c60", - "0x00000000000000000000000000000000000012df37bf3caa2896156ba7070ca4", - "0x000000000000000000000000000000597eecd33db56ed13239f5be9bbdd086f3", - "0x000000000000000000000000000000000008b6f611adc93eabb0c47a0f4fa875" + "0x0000000000000000000000000000000d48173c8a39a10b8ea9b966b38e3b6b26", + "0x000000000000000000000000000000000009931d83fade993a547c5f865cd553", + "0x00000000000000000000000000000065dd71f5371f125c840f8adf228c945bee", + "0x000000000000000000000000000000000012d3607780e33fc2f62857ac21d33f" ] - hash = "0x21b78f155cb8bf125e6bc6568e9db00636a1e1af12d6a16f4dcdb00789976ca1" + hash = "0x1a5b09d81b0a68231f787a86d862f8aaec1f14b5464348be5bc0ee05663915d8" [inputs.data.l1_to_l2_roots.public_inputs] sha_root = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" converted_root = "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e" - vk_tree_root = "0x1f8cde81e0c5165be68b2c47089d558a335abff180d3369d351ad6aac4e73ecd" + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" [inputs.data.previous_block_header] - total_fees = "0x000000000000000000000000000000000000000000000000000000000c14f47c" + total_fees = "0x0000000000000000000000000000000000000000000000000000000001168a40" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000001db6" [inputs.data.previous_block_header.last_archive] - root = "0x3041291318fe407738df7576699fd4afe4553834293e9655a79da498230994d8" + root = "0x1cc6ac2ba9b54c98d9d90b4dc003fb7398fb91b0f35ac5c11380e7d46c4e6660" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" [inputs.data.previous_block_header.content_commitment] - blobs_hash = "0x00a358654a76518e21d6b4257e7665710e682ebdb48210b7c3b6caf83113b68b" + blobs_hash = "0x006dbe3da68a010fea2d5d1e8574a29276136495964ac225468dba05e035ac26" in_hash = "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2250,44 +2250,44 @@ root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000070" [inputs.data.previous_block_header.state.partial.note_hash_tree] -root = "0x23a867ffb112975110c854e2d3c633633c8d9e23220d7b2d690d6d46e74649cb" +root = "0x1b38d276fe2d1a841943b41ca9fb6daa8275a2d65df61bea3fd05ec08f8939f2" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000001c0" [inputs.data.previous_block_header.state.partial.nullifier_tree] -root = "0x27f16503a63a968d5f68e14c0fc7aa70453441058b835373106e037e33e00215" +root = "0x044ff555a174bb852ac08924a95e7b7f2445593f6241d1bc107f38390ad0c3d9" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.data.previous_block_header.state.partial.public_data_tree] -root = "0x0bc67cc22a460e130915b1ae1698ac363a1bd9f17429ce681b2bb239b4c6ef48" +root = "0x1eaee5566abe82f66645734d6e98ae17726172b6b46cbc5bcc60b8e4a2705bd5" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.data.previous_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000007" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000021" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c6007" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff8c4" [inputs.data.previous_block_header.global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [inputs.data.previous_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.data.previous_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000960" [inputs.data.start_blob_accumulator] - blob_commitments_hash_acc = "0x005406f05bbc148ad142b7ab275bf2ff05a287dbce737a704110d1020eba8ecb" - z_acc = "0x2323e5a877a3f6c41476aa04dd001cb673823e238db3342cd8337d9f2800355f" - gamma_acc = "0x0bf9796fe56bf1da93aebe1cee68df925c5377f5abe9ff2e04575dfc9276eb31" + blob_commitments_hash_acc = "0x00873887c07f0b9feb1b3343feeaa8d40f875b23de758adecbafeb329c4b59fc" + z_acc = "0x221b36e063c86419543223ec9e439987034c6bc9030907edc066162a7be2564a" + gamma_acc = "0x25fbbf6b0a34b095382e8e24289b5a95c411643b8ee8c990651368c2e6a43bdb" [inputs.data.start_blob_accumulator.y_acc] limbs = [ - "0x482401563195d2a37570a1b93be964", - "0x8a521c747fce34b89bfa1c252203d0", - "0x433b" + "0x94f407e93ee6065ba3499fecad6944", + "0x1a2aa6787277bc14e08a02782e06f3", + "0x098c" ] [inputs.data.start_blob_accumulator.c_acc] @@ -2295,132 +2295,132 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.data.start_blob_accumulator.c_acc.x] limbs = [ - "0x468e92f188e33b3b15a578c0e964f9", - "0xbe2d35530e934d306016f970ac2193", - "0x07ad130e4ef040a16b082e39c6b347", - "0x145aaa" + "0x3e46d78f4736eca0ef675514116288", + "0x257d90b0c2cd4f2d4b2c807b553828", + "0x16b542aaf9dbeaf70f528a51c57fd5", + "0x0f75f0" ] [inputs.data.start_blob_accumulator.c_acc.y] limbs = [ - "0x6b0848d52df65dbdc087dae69cde41", - "0x4bfd042007303b8fcdb31e910bd3d0", - "0x91f61af7790137e5d9e57f494123c6", - "0x0487b9" + "0x4d117abb041d24bd3e722d574acd32", + "0x93efea676717312925bcfde5ef516a", + "0x42885b40caa28ff2a3f12d07c6dc7c", + "0x1488af" ] [inputs.data.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0x85007a5e009822dcd4aeca118f7c86", - "0x30b1ea19fad58fd38a267ab9643db0", - "0x0b03" + "0xa7a37450b9f22a2966cb7c4cff4281", + "0xd53e870aae716f5dc79344956d1752", + "0x207b" ] [inputs.data.final_blob_challenges] - z = "0x1ab46cbe6f46cf755545f6961caf8bd4b4c1d136beb0acffdac5cc9817a17837" + z = "0x0a42b8b65e888ddc5a838bd20048d8d961c74c4e66a43ec847aa6cd9e3946630" [inputs.data.final_blob_challenges.gamma] limbs = [ - "0x85007a5e009822dcd4aeca118f7c86", - "0x30b1ea19fad58fd38a267ab9643db0", - "0x0b03" + "0xa7a37450b9f22a2966cb7c4cff4281", + "0xd53e870aae716f5dc79344956d1752", + "0x207b" ] [inputs.blob_data] blobs_fields = [ + "0x000000000000000000000000000000000074785f737461727400000c00010000", + "0x02491b947bd0c6f01e319b18d41c5d8499c86aa7e54931462fbead234d65b931", + "0x00020000000000000000000000000000000000000000000000000000076b7680", + "0x0000000000000000000000000000000000000000000000000000000004000001", + "0x06ca2fe8835c757787aa2680d7f8168886aa50a33d08f0a51d185f0c0378aeb9", + "0x0000000000000000000000000000000000000000000000000000000006000003", + "0x2635f4d282c3de729fed05cbcf1a5da1073a14718a0ad938e1a90fb29976a8e1", + "0x0000000000000000000000000000000000000000000000000000000000002328", + "0x27b822f40e31ae5ec4b1cb79de04783c1cf1aea161a4103374689a383304b57b", + "0x00000000000000000000000000000000000000000000000000000000000003e8", + "0x12c621c4f70a13c7d8c6f48f36d0cc48eb26c3467def465d37b24a944c3e4717", + "0x00000000000000000000000000000000000000000000021e19e0c9b7e48a5252", "0x000000000000000000000000000000000074785f737461727400004700010000", - "0x09a854f96d7e75de2a49f95393d6950d18b6bb102525f867c96197c10aa708bd", - "0x000200000000000000000000000000000000000000000000000000000c14f47c", + "0x14c3ecd40d2a9a573e52f634e82a862a1c7e5925dc2511073b4722cc0f7604e2", + "0x0002000000000000000000000000000000000000000000000000000001168a40", "0x0000000000000000000000000000000000000000000000000000000003000002", - "0x0300563821dc9a5c02f2354a0cbb34c749a650231686d7170a63c2d5c2cd622e", - "0x05566ddd9c1008b5b422b36b242dd4f4a33c6c107ba022e5fc017603e356344c", + "0x020919254c9438b191b2d3edb9d3e540d4005c24f108ec1c8c04f107bad25785", + "0x24c003fd98d29d887f7882bb5d117c0723523b1bc77b746d17090c055c7c6a5d", "0x0000000000000000000000000000000000000000000000000000000004000003", - "0x06511293480b3f4901e85d112d2b176a07e4f8497b60bf38a44a156aa7ca89d5", - "0x1e527492da02de6df5bd854a238550a0b06c6d6c7073a442add94b76847e4cb7", - "0x1c499f23841ab6b4d8051ca82832c3e30123c992299f45ea72cb3150c6b4bb5c", + "0x108451aa187b5459fdc4c3fb9310e9745f7734f94c13edf1cbe2e8dc85968ed8", + "0x05a04f28a8d42d8b3a7eb99a2b6932edd2f735cc04dbf06363b917b292e40c9f", + "0x174a0224cf283dc13e5ba3b40852ced2833469f64daef793b54eeec937065667", "0x0000000000000000000000000000000000000000000000000000000006000001", - "0x274b76afa922d6e0ab9db968b002b6b0c1f3785beb056c736c425501115ff52d", - "0x00000000000000000000000000000000000000000000021e19e0c9b6fc29a4ea", + "0x12c621c4f70a13c7d8c6f48f36d0cc48eb26c3467def465d37b24a944c3e4717", + "0x00000000000000000000000000000000000000000000021e19e0c9b7e373c812", "0x0000000000000000000000000000000000000000000000000000000007000003", "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x1de34772ceefbc3ba75f52983d14236f8b129ee1d91195814c4c12af36ccd910", - "0x1018b9717e0607a59d3bd04c14b8d0bcc628b434fc380b116e8d410a3e535b89", - "0x00003af7b5fb922d43e95b984893a8d10b021013f3db7131d3b3bcd1b9e70f61", - "0x00b13202395b581053f4988255a6e4fe8c6076611cf5345a937d7e13f7482657", - "0x001f94dd404f3210cab2aa3867906e7b7199796e3b020087f8dccfffd7bb19a9", - "0x003ed0d8e415b51f514eb9e39e52c00eea62408ffeb89022e3598bf392d53103", - "0x00d80a89e06522e2b6c5430baefcbfed70e699faec43439786f7462de48b6b5c", - "0x002f1273fbe3db352417e1e5e0f4c052c1f4268f53eee9e89fbc8c7b8d1fe7c9", - "0x00d549697c413619fc5a5f555412dc38be15bc2908a683dfaae40e4eea5fb751", - "0x001185ccf0093333bff3fb0fbeca82269985c622ef83d9b84957a0668092df19", - "0x008c8b7827a28c4a3ef94ae9bf855c38337b7473ae8bf1351078b7084896d15c", - "0x00ef62bfa83b8890f741b54cc66f2c6f5c449c12985c6aa0d6395ebd89efc742", - "0x00d0e585692aa53e5aa84dd49ac7ad5113a83c3e9c252101d943e0c4293d982f", - "0x00051a67b8041a201eaa5600aec5facebbd8a1c0876d30929627a22958bdf728", - "0x0007f7cdafb9cad047076b5dab55ca5eaf05c1f4de05c8395f808b294ee59c13", - "0x009f3122d7e9e1ea3a3f3853a9667d423f522d14868f8a14b3ce1268cb273cf1", - "0x002e1b5ea239109007512e7426d447ebbfddb625c36fa1d7435f8ac519426296", - "0x00c77d99f01f76736da855b68d70854670edcbf1b47c6ab40e972e03e31d8a99", + "0x16ef7d62e1045906743f4b4c6e57561d0855feb91dca7c25400e83487845c819", + "0x0ac82f92d6f991c8e884a735c0f167197dbcd23df1d1043fdb48ca3e16ab37b7", + "0x000162d7f4216b6eeb9bdfcd8b7657bf62a698fd236c34bab0443907f8039c06", + "0x006f0a48bd7230dafcf4a5564a6fc4bdb088e71ad5ce78487ef2ab5f04db62ca", + "0x0074d666718009985110ad87125c81af721e94e1ea25a2e2451e7861dc09f0cd", + "0x0096ca21c4025c68427e5ddafbb86798445b1d9dd63b6d6b786500afa31c71ca", + "0x002db1fe4e5bfd293e5780033ff0ccfec0adfc025e3c1e84c721a6154681ef2b", + "0x009ac3675c5936baeb4e7f6be8586e55ade864e36e6e256829c0d370fef9c247", + "0x00bcc7fdb4cc016d49a2326a59e4457e74a6e98320e2169a030a5a0305171f81", + "0x004a541b45502ee51466e689d90463ef9670f7e9ba21de62da1dc18ef96a5cfa", + "0x0083d369d84f673115466d8a97fd0915ce770fef3ab3c7acb1b528495f786209", + "0x00293466efdb9d0f125924a8897c9319e796a5a7227c4f3c93247ddb5dd05896", + "0x009b6dff51bed97001c8b3ee67cc19389475831ad21375b5f7eea0178d5921d9", + "0x0024b01d927086b009d9e13373297826052c91c9e172ff563e08e245ec113570", + "0x009a091525f474355ec684e85e3d48490b6371658e47d3dad17d3fb6c3bd2dd7", + "0x004c1e421d0eb421a572addf53cee2e0e1299b954393d3efeb5db108bbe51d84", + "0x000038ee129f08150d59ce7e009023bc9ba4e88b64d7fbf6a189e48b8b6a8971", + "0x00fcdfb45201ade793175c8b23e21b7812b99de0fcc7620261487f4e34a83c14", "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x305da18f3fca2becf2590929d9f2d72f0c91bc447f721c57a98acd63f4d05389", - "0x10bcbaafda71c58978aa114fcdc96bb470b32813f710862dd51b56b5a3fb2f31", - "0x0000eca7da495ea64daf77f8b48a9fad2c95886a3d8ae0a863fac086bdfb2fd5", - "0x00b63ae17011edfd2d65cdadc4f77adb0bf1fb80d94785051ea3ffd7903667bb", - "0x00a22db488d4614c56669697b35e0a9b0a8c931f5fae2826009be17ce9ec8693", - "0x007dcb1b4adb633063b07454ab8acf8d3dca7849710a89cfa3722abf3837d284", - "0x00a5cdf9c322415164267a46a38710b34e2e384891a46225967772420f2fcebe", - "0x00b06f0e03c91398c7fed4be3bd4ec127829e8f3ffede3fd1809b70df89e525c", - "0x00fd946fc52fa50a3fa2346f02af9ccf520a160a5c718203aa436107fdefabc6", - "0x00792f066fdc9fc0a4968c45b7271904985f1a0a7b46fa7a1f783f6a638594cd", - "0x00a14d370ca3da365f40c264f4e089eee08329aaf696ed2b80530cd21bcd7252", - "0x0065d0ef028fdf9a6cb780846442d848d4da5e5b1440c6827dde537cd5bd10d4", - "0x009161133829141fc729138a642ed484c646442ab9b7f28fb028cf195f4ef437", - "0x00749dece735234e212defb24342bad437ad0119887eaea2b1fcc42393798a82", - "0x00bf557e8203961690e4d21bd50a6413b8ed4f614f2ad36c2ca0870a7676f4e0", - "0x001782823223181c205747da55254245e65a5de228170cb6bbfa1689a27dddd8", - "0x00055b1f34613e52cf956b6de66142a2f96ab2f269616266bdd810d52f54f69e", - "0x00fa62e7ad911b97d2dae0a080270f115822c1fca7622b2d832ef65ac6382b76", + "0x24026c8b99d3c2a2028a5f459d40f270722d4c0decd9545d8178763eefd975d9", + "0x256a7650601b70a80ac120a80c751fa91eb67f1810d9cf7b3620f0ce84f8e758", + "0x00006f04c6c246a546993b7baadc7e2648bbca51f333a29b948aef2c88268136", + "0x00e5be1a1c6cdc1c13cf61cdd8733fd361c5db01d3453718ec4c9f116438972f", + "0x00060e1318018b7176de0ca786c0a28447ef6db5e87bf1d8708f5cb3dc833120", + "0x00e9b6f70885482bbeb6a0a0247f3de39a6b3acfcf911c4ab18e9fadbe91e490", + "0x00732e569d6039513759eb3d3ab37c88a9b6340b7d7642b560f768136b3d21cc", + "0x0000619f7287949ccd499030455a3385a7c6aa4b8d7d4140f658b41b3a3a72cc", + "0x004fbd9c5e13713b06467e3906c8c48634fb189e781c739b208bd3b71c7df24e", + "0x00cee0a9673c386e8b0d2efb1197eec46a30c9bac4c00fcaf38c804b0a72aa00", + "0x00ba46cd8b029b72af3bd6b3fa8c43b8ea675ed8f2d44ecadbe037d18d88ee47", + "0x00bc420a54bfe7de8ef0b792e1f19b2d7937383fe4644b71a2987ccf91bc531c", + "0x00866068b1f8da165093918b2829574ea691968f9b3090f04882ae6f9cc9d0dc", + "0x0085e457fff5c37a7ae0b58a1cd5b485d7f2bb470566575c35bd2209c58e74e9", + "0x003bdba64bcca5aa28c7d0c4620e185c067361255909b28f0ce02333589d624c", + "0x00f6ccd2ff929a41f92894ac561d8e10fa25da0dc48a45e188a2e1534953858d", + "0x0019d156a165b1f0758611b678ec39e3e65bf453f633faf65880a7cbb919264d", + "0x00797aa2d91e1ab7e5991f369f86003fe6c3776a16be34a42f3558fc7bc39ecd", "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x05b587ffac9a770bf52c63a409876bff382b792465e9cdb0a53cb08aabc99cf1", - "0x0a8b7a4285a579c712d24b71511a1fcc6b5f8d752d56f37d84188b858705efbb", - "0x000068bec7e7aa2a7156ae5b283208a562445d883bba69f77dfd13ec6f617335", - "0x001496dfe0e416b3c52bc63ac0aa90fbd641d49f15b6fdd852fd9bb8f8a7a2e5", - "0x00893828c55b42814587bb27baa5ee5385a72ac9af835f28b5c6b4bb5750ba7e", - "0x00e5648968f32adb07ea72f6b46e3ce1040e7fee9b1e77e2998317d1a3e1e15e", - "0x00cfa84a08056c0785a8ea0763b328687a19eea48cc005170080541a91427c6d", - "0x00e598cf9f89bc50c1b5f86073ed1cd11d2443ece651ae382daecc61384f4487", - "0x008c2c68fccddd2b4100c911c355140b48c86a75c1de89ed2a262535c913b756", - "0x00b07fb73a061c906e92309f812825f8a9e9b35034a1652ad2a62a128f1a4b82", - "0x00e5665ef004dea5868b08461a6e07560612cd52dffe23166ec630c07710054c", - "0x007740e49f54620faed7fc5fd4bb1a12d6b23201b33298a3170b74ca533110c5", - "0x0096d6ead340b925d65ded010a48262d265569a5d0e6715e201c3e78c9963f14", - "0x008841a93a3ca3db685d58e65fdd9ab09d2dd496204e02090013e1de4c26241e", - "0x00c40a0a87f9d0674e135446163fcbce1536257715d7b22017c780981182d0d8", - "0x00be71946bbca10a007c8191bfd97ada74b6a6d34a1358c481d0b9fb5e694455", - "0x0015770ac035c2f2fea8dc5b11cf2d079855f916d85cd64c15284924c9c0d7c9", - "0x00371b09b765016f767ab168b21f2bd36f0297aa29d489a6bb07b65bb2792caa", - "0x000000000000000000000000000000000074785f737461727400000c00010000", - "0x13cc2ab5476250a09096ed20c5063058c2314e2b90723aa23071ba7a20eafb8c", - "0x0002000000000000000000000000000000000000000000000000000054b12f02", - "0x0000000000000000000000000000000000000000000000000000000004000001", - "0x017bc788b8257cc0b8bcb182e015ac6ac6ed817fbe326a0d7f621a3773b7ec95", - "0x0000000000000000000000000000000000000000000000000000000006000003", - "0x0882770e9795100ce369d52bae2a2aec8c410b5000e89e6963a097bbab5c60cf", - "0x0000000000000000000000000000000000000000000000000000000000002328", - "0x04febb4aa15c053972156ebb87bf2439190e0cd7ed633740d509f19ac3c150e1", - "0x00000000000000000000000000000000000000000000000000000000000003e8", - "0x274b76afa922d6e0ab9db968b002b6b0c1f3785beb056c736c425501115ff52d", - "0x00000000000000000000000000000000000000000000021e19e0c9b6a77875e8", + "0x163b1a40e3a99299b673669919d2fbea55da5f9748b49a105655fcf82b35a78c", + "0x26025e543f5d3ee4126507da56767afe561203a9c1ac3e91dd63b72cbf6a21bf", + "0x00009fb46ef7044c11905f5059066468b882a3fad6e52fbfb875d4a6e3635351", + "0x0094c83b442f253c9f99eff1d7bd73549c88056bc2600af99fa780caee47d94b", + "0x00148e6fb27be5a5995ff476fa33c43eebbc3490a8d625e5326aef21e5f80446", + "0x00a8f4e70378a0685b91ccca171372f91e5d78d6756955baca1af16fb8bb7381", + "0x0041a5c3dd8f72f6fde481ce10362edb88df92aeda361987c35657fb49c8b7a1", + "0x0064d2df248a2bf84cc418ccac54653b251e110ab17ac794670023824e7bdf90", + "0x000369c11d7dc0a5d5b598acc1f31a0ae3f0b27b0aa2323cf8d65bd07f5c19e6", + "0x0058b98d593ec78b166a515e01eceddc033865c2629ebda53d1f68c7677c2a46", + "0x00915f065f2c50f2eced0ac67d55e59ed7bf250b71ad8a7d1d6e2a67e8d09427", + "0x009a864eb7d5fd24b856b3ce6afbc043a7aa6049e9729e7caddabd39d7819568", + "0x007053c8c60d4665a1724ad911ffd94823d9cfe321385ee2a9759f32875b1855", + "0x00244035ded2c681ef8bfa9ee0716224df46fd7df998d279930a85bb99294241", + "0x003d83115356589c95ea4ccc939a80f1e7968f723bf2fbfb9b022783001d98da", + "0x00e095781c684364ce10ce83201dd8c10f8b41fc55388636c5f453354b537e8e", + "0x00accc298eb21055ce304659d863e6e0e282ea6fd8642d8f49215c1add90ab0b", + "0x0009f82e8fdedc9320573eed07f4477f0d8943dd0c7862e2c718a331c43856da", "0x000000000000000000000000000000000074785f737461727400000a00010000", - "0x210703e5bbf2457793750ef9cfb8e2c158b420211248946967e3f30d3b9ef60e", - "0x0002000000000000000000000000000000000000000000000000000029bd74c2", + "0x2653cd60b4059b75e15e682755b90894ba130bc1427ba5cdcf1109bbe556fea4", + "0x0002000000000000000000000000000000000000000000000000000003cba180", "0x0000000000000000000000000000000000000000000000000000000004000001", - "0x130ea9956a5015b0d792640f899d58128aa20d4cdde224a66f4eade7b7f473a5", + "0x22d3ee73c164816070fc12fdc92e5c1621f8e41da55959fae32cc5af26736f17", "0x0000000000000000000000000000000000000000000000000000000006000002", - "0x2505122f96a56a1d220b667cd3eaec4ba44cf0fcc23a30b55802f0f6f77a69f1", - "0x08078dc9d3bb206b81bd7c186980fd81a2a1d95b3231f23768d4aa06302d0518", - "0x274b76afa922d6e0ab9db968b002b6b0c1f3785beb056c736c425501115ff52d", - "0x00000000000000000000000000000000000000000000021e19e0c9b67dbb0126", + "0x0859b3a01bd29f51bb818fd6a1ecfc8c7ce6b4b8636e09c21acfdcfc518167cc", + "0x1b4fb5ce46de8a190106244674f52d7155a25d136b894da9e0af90869aa47f17", + "0x12c621c4f70a13c7d8c6f48f36d0cc48eb26c3467def465d37b24a944c3e4717", + "0x00000000000000000000000000000000000000000000021e19e0c9b7dfa82692", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -14617,25 +14617,25 @@ blobs_fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] -blobs_hash = "0x00872bfa3853ef470c131d82e11fe06cf11bd13fff181b678e26365cd9c90e88" +blobs_hash = "0x003e01d4afaa5e1e0c8eb9fdbfcd26d38af527e62224c7ef304eabbd00294d6d" [[inputs.blob_data.blob_commitments]] is_infinity = false [inputs.blob_data.blob_commitments.x] limbs = [ - "0x6d1897fbfdd07f8ec1a4d05de17559", - "0x95ac2be9cabecb50aa310146f94d30", - "0x924b850df1ea39afd72b3af33f6a0b", - "0x107523" + "0x5ccc375b4663f4735301e534d7ec90", + "0x5ec50c779941121ee3b9cff36e3aaf", + "0x7d50f683225a342091e37fd334bb0d", + "0x04e98a" ] [inputs.blob_data.blob_commitments.y] limbs = [ - "0xc2e49cf2e64edac523ce913ba0152e", - "0x1d43e9afa77a794ff77a264e8464cd", - "0xadf33741631f1cd33007f646ae5503", - "0x173195" + "0x040cb9275b8bedfc37e8ca99e11cbc", + "0x5e0545793a46a580f84e795fc0585c", + "0xd5883f8c9de1738b4590358641d0bc", + "0x125e7c" ] [[inputs.blob_data.blob_commitments]] diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/fees.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/fees.nr index f1c7db9c8afe..52f524269383 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/fees.nr +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/fees.nr @@ -34,7 +34,8 @@ pub fn compute_effective_gas_fees(gas_fees: GasFees, gas_settings: GasSettings) let max_priority_fees = gas_settings.max_priority_fees_per_gas; let max_fees = gas_settings.max_fees_per_gas; - // max_fees are guaranteed to be greater than or equal to gas_fees, which is checked in tube_data_validator. + // max_fees are guaranteed to be greater than or equal to gas_fees, which is checked in validate_max_fees_per_gas + // called from validate_tx_constant_data.nr. let priority_fees = GasFees::new( min( max_priority_fees.fee_per_da_gas, diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/mod.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/mod.nr index b5cf037d1f1b..03e801ae82e2 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/mod.nr +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/mod.nr @@ -5,7 +5,7 @@ pub(crate) mod include_by_timestamp; pub(crate) mod nullifier_tree; pub(crate) mod public_data_tree; -mod private_tube_data_validator; -mod public_tube_data_validator; -pub(crate) use private_tube_data_validator::PrivateTubeDataValidator; -pub(crate) use public_tube_data_validator::PublicTubeDataValidator; +mod private_tx_base_inputs_validator; +mod public_tx_base_inputs_validator; +pub(crate) use private_tx_base_inputs_validator::PrivateTxBaseInputsValidator; +pub(crate) use public_tx_base_inputs_validator::PublicTxBaseInputsValidator; diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/private_tube_data_validator.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/private_tube_data_validator.nr deleted file mode 100644 index d0a3033c3d6d..000000000000 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/private_tube_data_validator.nr +++ /dev/null @@ -1,52 +0,0 @@ -use crate::base::components::{ - constants::validate_tx_constant_data, include_by_timestamp::validate_include_by_timestamp, -}; -use dep::types::{ - abis::{block_constant_data::BlockConstantData, tube::PrivateTubeData}, - constants::{ARCHIVE_HEIGHT, AVM_MAX_PROCESSABLE_L2_GAS}, - merkle_tree::MembershipWitness, - proof::traits::Verifiable, -}; - -pub struct PrivateTubeDataValidator { - pub data: PrivateTubeData, -} - -impl PrivateTubeDataValidator { - pub fn new(data: PrivateTubeData) -> Self { - PrivateTubeDataValidator { data } - } - - // TODO: This should be moved to the private kernels once they are not used for gas estimation anymore. - pub fn validate_gas_settings(self) { - let gas_settings = self.data.public_inputs.constants.tx_context.gas_settings; - assert( - gas_settings.gas_limits.l2_gas <= AVM_MAX_PROCESSABLE_L2_GAS, - "l2 gas limit exceeds max processable l2 gas", - ); - } - - pub fn validate_proof_and_vk(self) { - if !dep::std::runtime::is_unconstrained() { - self.data.verify(); - // TODO(#7410): Add private tube vk hash to the tree and uncomment the following check. - // self.data.vk_data.validate_vk_in_vk_tree(); - } - } - - pub fn validate_with_block_constant_data( - self, - constants: BlockConstantData, - archive_root_membership_witness: MembershipWitness, - ) { - let tube_data = self.data.public_inputs; - - validate_tx_constant_data( - tube_data.constants, - constants, - archive_root_membership_witness, - ); - - validate_include_by_timestamp(tube_data.include_by_timestamp, constants.global_variables); - } -} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/private_tx_base_inputs_validator.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/private_tx_base_inputs_validator.nr new file mode 100644 index 000000000000..ccae98ff56f2 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/private_tx_base_inputs_validator.nr @@ -0,0 +1,75 @@ +use crate::base::components::{ + constants::validate_tx_constant_data, include_by_timestamp::validate_include_by_timestamp, +}; +use dep::types::{ + abis::{ + block_constant_data::BlockConstantData, + kernel_circuit_public_inputs::PrivateToRollupKernelCircuitPublicInputs, + }, + constants::{ARCHIVE_HEIGHT, AVM_MAX_PROCESSABLE_L2_GAS, HIDING_KERNEL_TO_ROLLUP_VK_INDEX}, + merkle_tree::MembershipWitness, + proof::proof_data::CivcProofData, +}; + +pub struct PrivateTxBaseInputsValidator { + hiding_kernel_proof_data: CivcProofData, + constants: BlockConstantData, + archive_root_membership_witness: MembershipWitness, +} + +impl PrivateTxBaseInputsValidator { + pub fn new( + hiding_kernel_proof_data: CivcProofData, + constants: BlockConstantData, + archive_root_membership_witness: MembershipWitness, + ) -> Self { + PrivateTxBaseInputsValidator { + hiding_kernel_proof_data, + constants, + archive_root_membership_witness, + } + } + + pub fn validate(self) { + self.validate_hiding_kernel_proof_and_vk(); + self.validate_private_tail_against_block_constant_data(); + self.validate_gas_settings(); + } + + fn validate_hiding_kernel_proof_and_vk(self) { + assert_eq( + self.hiding_kernel_proof_data.vk_data.leaf_index, + HIDING_KERNEL_TO_ROLLUP_VK_INDEX, + ); + + if !dep::std::runtime::is_unconstrained() { + self.hiding_kernel_proof_data.verify_proof(); + + let vk_tree_root = self.constants.vk_tree_root; + self.hiding_kernel_proof_data.vk_data.validate_in_vk_tree(vk_tree_root); + } + } + + fn validate_private_tail_against_block_constant_data(self) { + // The public inputs of `private_kernel_tail` was propagated through `hiding_kernel_to_rollup`. + let civc = self.hiding_kernel_proof_data.public_inputs; + + validate_tx_constant_data( + civc.constants, + self.constants, + self.archive_root_membership_witness, + ); + + validate_include_by_timestamp(civc.include_by_timestamp, self.constants.global_variables); + } + + // TODO: This should be moved to the private kernels once they are not used for gas estimation anymore. + fn validate_gas_settings(self) { + let gas_settings = + self.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings; + assert( + gas_settings.gas_limits.l2_gas <= AVM_MAX_PROCESSABLE_L2_GAS, + "l2 gas limit exceeds max processable l2 gas", + ); + } +} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/public_tube_data_validator.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/public_tube_data_validator.nr deleted file mode 100644 index c1accb86fa6f..000000000000 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/public_tube_data_validator.nr +++ /dev/null @@ -1,183 +0,0 @@ -use crate::base::components::{ - constants::validate_tx_constant_data, include_by_timestamp::validate_include_by_timestamp, -}; -use super::fees::compute_effective_gas_fees; -use dep::types::{ - abis::{ - avm_circuit_public_inputs::AvmCircuitPublicInputs, block_constant_data::BlockConstantData, - tube::PublicTubeData, - }, - constants::{ARCHIVE_HEIGHT, AVM_MAX_PROCESSABLE_L2_GAS}, - merkle_tree::MembershipWitness, - proof::traits::Verifiable, - traits::Empty, - utils::arrays::array_length, -}; - -fn assert_eq_array_and_length( - array_from_tube: [T; N], - array_from_avm: [T; N], - expected_length: u32, - name: str, -) -where - T: Empty, -{ - assert_eq(array_from_tube, array_from_avm, f"{name} mismatch between tube and avm"); - - let length = array_length(array_from_tube); - assert_eq(length, expected_length, f"{name} array length mismatch between tube and avm"); -} - -pub struct PublicTubeDataValidator { - pub data: PublicTubeData, -} - -impl PublicTubeDataValidator { - pub fn new(data: PublicTubeData) -> Self { - PublicTubeDataValidator { data } - } - - // TODO: This should be moved to the private kernels once they are not used for gas estimation anymore. - pub fn validate_gas_settings(self) { - let gas_settings = self.data.public_inputs.constants.tx_context.gas_settings; - assert( - gas_settings.gas_limits.l2_gas <= AVM_MAX_PROCESSABLE_L2_GAS, - "l2 gas limit exceeds max processable l2 gas", - ); - } - - pub fn validate_proof_and_vk(self) { - if !dep::std::runtime::is_unconstrained() { - self.data.verify(); - // TODO(#7410): Add public tube vk hash to the tree and uncomment the following check. - // self.tube_data.vk_data.validate_vk_in_vk_tree(); - } - } - - pub fn validate_with_block_constant_data( - self, - constants: BlockConstantData, - archive_root_membership_witness: MembershipWitness, - ) { - validate_tx_constant_data( - self.data.public_inputs.constants, - constants, - archive_root_membership_witness, - ); - - validate_include_by_timestamp( - self.data.public_inputs.include_by_timestamp, - constants.global_variables, - ); - } - - pub fn validate_with_avm_data(self, avm_data: AvmCircuitPublicInputs) { - let tube_data = self.data.public_inputs; - - // global_variables and start_tree_snapshots.l1_to_l2_message_tree are part of the block constant data, which - // is exported through public inputs and will be checked in merge or block root rollup to make sure that it's - // the same for all txs in the block. For l1_to_l2_message_tree, it has to match the value listed in the - // previous block header, which is validated in the block root rollup. - - // The rest of the values in start_tree_snapshots are also exported as start_state through public inputs and is - // validated as follows: - // - For the first tx, block root rollup checks that the start state matches the previous block's end state. - // - For all subsequent txs, the merge or block root rollup checks that it matches the previous tx's end state. - - assert_eq( - tube_data.gas_used, - avm_data.start_gas_used, - "start_gas_used mismatch between tube and avm", - ); - - assert_eq( - tube_data.constants.tx_context.gas_settings, - avm_data.gas_settings, - "unexpected gas settings used in the AVM", - ); - - assert_eq( - compute_effective_gas_fees( - avm_data.global_variables.gas_fees, // AVM global_variables are validated to be equal in validate_combined_constant_data - tube_data.constants.tx_context.gas_settings, - ), - avm_data.effective_gas_fees, - "unexpected effective gas fees used in the AVM", - ); - - assert_eq( - tube_data.fee_payer, - avm_data.fee_payer, - "fee_payer mismatch between tube and avm", - ); - - // Public call requests. - - assert_eq_array_and_length( - tube_data.non_revertible_accumulated_data.public_call_requests, - avm_data.public_setup_call_requests, - avm_data.public_call_request_array_lengths.setup_calls, - "non-revertible public_call_requests", - ); - - assert_eq_array_and_length( - tube_data.revertible_accumulated_data.public_call_requests, - avm_data.public_app_logic_call_requests, - avm_data.public_call_request_array_lengths.app_logic_calls, - "revertible public_call_requests", - ); - - assert_eq( - tube_data.public_teardown_call_request, - avm_data.public_teardown_call_request, - "public_teardown_call_request mismatch between tube and avm", - ); - - // Non-revertible accumulated data. - - assert_eq_array_and_length( - tube_data.non_revertible_accumulated_data.note_hashes, - avm_data.previous_non_revertible_accumulated_data.note_hashes, - avm_data.previous_non_revertible_accumulated_data_array_lengths.note_hashes, - "non-revertible note_hashes", - ); - - assert_eq_array_and_length( - tube_data.non_revertible_accumulated_data.nullifiers, - avm_data.previous_non_revertible_accumulated_data.nullifiers, - avm_data.previous_non_revertible_accumulated_data_array_lengths.nullifiers, - "non-revertible nullifiers", - ); - - assert_eq_array_and_length( - tube_data.non_revertible_accumulated_data.l2_to_l1_msgs, - avm_data.previous_non_revertible_accumulated_data.l2_to_l1_msgs, - avm_data.previous_non_revertible_accumulated_data_array_lengths.l2_to_l1_msgs, - "non-revertible l2_to_l1_msgs", - ); - - // Revertible accumulated data. - - assert_eq_array_and_length( - tube_data.revertible_accumulated_data.note_hashes, - avm_data.previous_revertible_accumulated_data.note_hashes, - avm_data.previous_revertible_accumulated_data_array_lengths.note_hashes, - "revertible note_hashes", - ); - - assert_eq_array_and_length( - tube_data.revertible_accumulated_data.nullifiers, - avm_data.previous_revertible_accumulated_data.nullifiers, - avm_data.previous_revertible_accumulated_data_array_lengths.nullifiers, - "revertible nullifiers", - ); - - assert_eq_array_and_length( - tube_data.revertible_accumulated_data.l2_to_l1_msgs, - avm_data.previous_revertible_accumulated_data.l2_to_l1_msgs, - avm_data.previous_revertible_accumulated_data_array_lengths.l2_to_l1_msgs, - "revertible l2_to_l1_msgs", - ); - } -} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/public_tx_base_inputs_validator.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/public_tx_base_inputs_validator.nr new file mode 100644 index 000000000000..19e8489f274c --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/components/public_tx_base_inputs_validator.nr @@ -0,0 +1,216 @@ +use crate::base::components::{ + constants::validate_tx_constant_data, include_by_timestamp::validate_include_by_timestamp, +}; +use super::fees::compute_effective_gas_fees; +use dep::types::{ + abis::{ + avm_circuit_public_inputs::AvmProofData, block_constant_data::BlockConstantData, + kernel_circuit_public_inputs::PrivateToPublicKernelCircuitPublicInputs, + }, + constants::{ARCHIVE_HEIGHT, AVM_MAX_PROCESSABLE_L2_GAS, PUBLIC_TUBE_VK_INDEX}, + merkle_tree::MembershipWitness, + proof::{proof_data::RollupHonkProofData, traits::Verifiable}, + traits::Empty, + utils::arrays::array_length, +}; + +fn assert_eq_array_and_length( + array_from_private: [T; N], + array_from_avm: [T; N], + expected_length: u32, + name: str, +) +where + T: Empty, +{ + assert_eq(array_from_private, array_from_avm, f"{name} mismatch between private and avm"); + + let length = array_length(array_from_private); + assert_eq(length, expected_length, f"{name} array length mismatch between private and avm"); +} + +pub struct PublicTxBaseInputsValidator { + public_tube_proof_data: RollupHonkProofData, + avm_proof_data: AvmProofData, + constants: BlockConstantData, + archive_root_membership_witness: MembershipWitness, +} + +impl PublicTxBaseInputsValidator { + pub fn new( + public_tube_proof_data: RollupHonkProofData, + avm_proof_data: AvmProofData, + constants: BlockConstantData, + archive_root_membership_witness: MembershipWitness, + ) -> Self { + PublicTxBaseInputsValidator { + public_tube_proof_data, + avm_proof_data, + constants, + archive_root_membership_witness, + } + } + + pub fn validate(self) { + self.validate_public_tube_proof_and_vk(); + self.validate_avm_proof_and_vk(); + + // The public inputs of `private_tail_to_public` was propagated to `hiding_kernel_to_public` and then to + // `public_tube`. The following two functions verify the public inputs of `private_tail_to_public` to ensure + // that everything was done properly on the private side, and the data from private is fed to the avm correctly. + self.validate_private_tail(); + self.validate_private_tail_against_avm(); + } + + fn validate_public_tube_proof_and_vk(self) { + assert_eq(self.public_tube_proof_data.vk_data.leaf_index, PUBLIC_TUBE_VK_INDEX); + + if !dep::std::runtime::is_unconstrained() { + self.public_tube_proof_data.verify_proof(); + + let vk_tree_root = self.constants.vk_tree_root; + self.public_tube_proof_data.vk_data.validate_in_vk_tree(vk_tree_root); + } + } + + fn validate_avm_proof_and_vk(self) { + if !dep::std::runtime::is_unconstrained() { + // TODO(#8470) + self.avm_proof_data.verify(); + // TODO: Add avm vk hash to the tree and uncomment this. + // self.avm_proof_data.validate_vk_in_vk_tree(constants.vk_tree_root); + } + } + + fn validate_private_tail(self) { + let private_tail = self.public_tube_proof_data.public_inputs; + + validate_tx_constant_data( + private_tail.constants, + self.constants, + self.archive_root_membership_witness, + ); + + validate_include_by_timestamp( + private_tail.include_by_timestamp, + self.constants.global_variables, + ); + + // TODO: This should be moved to the private kernels once they are not used for gas estimation anymore. + let gas_settings = private_tail.constants.tx_context.gas_settings; + assert( + gas_settings.gas_limits.l2_gas <= AVM_MAX_PROCESSABLE_L2_GAS, + "l2 gas limit exceeds max processable l2 gas", + ); + } + + fn validate_private_tail_against_avm(self) { + let private_tail = self.public_tube_proof_data.public_inputs; + let avm = self.avm_proof_data.public_inputs; + + // global_variables and start_tree_snapshots.l1_to_l2_message_tree are part of the block constant data, which + // is exported through public inputs and will be checked in merge or block root rollup to make sure that it's + // the same for all txs in the block. For l1_to_l2_message_tree, it has to match the value listed in the + // previous block header, which is validated in the block root rollup. + + // The rest of the values in start_tree_snapshots are also exported as start_state through public inputs and is + // validated as follows: + // - For the first tx, block root rollup checks that the start state matches the previous block's end state. + // - For all subsequent txs, the merge or block root rollup checks that it matches the previous tx's end state. + + assert_eq( + private_tail.gas_used, + avm.start_gas_used, + "start_gas_used mismatch between private and avm", + ); + + assert_eq( + private_tail.constants.tx_context.gas_settings, + avm.gas_settings, + "unexpected gas settings used in the AVM", + ); + + assert_eq( + compute_effective_gas_fees( + avm.global_variables.gas_fees, // AVM global_variables are validated to be equal in validate_combined_constant_data + private_tail.constants.tx_context.gas_settings, + ), + avm.effective_gas_fees, + "unexpected effective gas fees used in the AVM", + ); + + assert_eq( + private_tail.fee_payer, + avm.fee_payer, + "fee_payer mismatch between private and avm", + ); + + // Public call requests. + + assert_eq_array_and_length( + private_tail.non_revertible_accumulated_data.public_call_requests, + avm.public_setup_call_requests, + avm.public_call_request_array_lengths.setup_calls, + "non-revertible public_call_requests", + ); + + assert_eq_array_and_length( + private_tail.revertible_accumulated_data.public_call_requests, + avm.public_app_logic_call_requests, + avm.public_call_request_array_lengths.app_logic_calls, + "revertible public_call_requests", + ); + + assert_eq( + private_tail.public_teardown_call_request, + avm.public_teardown_call_request, + "public_teardown_call_request mismatch between private and avm", + ); + + // Non-revertible accumulated data. + + assert_eq_array_and_length( + private_tail.non_revertible_accumulated_data.note_hashes, + avm.previous_non_revertible_accumulated_data.note_hashes, + avm.previous_non_revertible_accumulated_data_array_lengths.note_hashes, + "non-revertible note_hashes", + ); + + assert_eq_array_and_length( + private_tail.non_revertible_accumulated_data.nullifiers, + avm.previous_non_revertible_accumulated_data.nullifiers, + avm.previous_non_revertible_accumulated_data_array_lengths.nullifiers, + "non-revertible nullifiers", + ); + + assert_eq_array_and_length( + private_tail.non_revertible_accumulated_data.l2_to_l1_msgs, + avm.previous_non_revertible_accumulated_data.l2_to_l1_msgs, + avm.previous_non_revertible_accumulated_data_array_lengths.l2_to_l1_msgs, + "non-revertible l2_to_l1_msgs", + ); + + // Revertible accumulated data. + + assert_eq_array_and_length( + private_tail.revertible_accumulated_data.note_hashes, + avm.previous_revertible_accumulated_data.note_hashes, + avm.previous_revertible_accumulated_data_array_lengths.note_hashes, + "revertible note_hashes", + ); + + assert_eq_array_and_length( + private_tail.revertible_accumulated_data.nullifiers, + avm.previous_revertible_accumulated_data.nullifiers, + avm.previous_revertible_accumulated_data_array_lengths.nullifiers, + "revertible nullifiers", + ); + + assert_eq_array_and_length( + private_tail.revertible_accumulated_data.l2_to_l1_msgs, + avm.previous_revertible_accumulated_data.l2_to_l1_msgs, + avm.previous_revertible_accumulated_data_array_lengths.l2_to_l1_msgs, + "revertible l2_to_l1_msgs", + ); + } +} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/mod.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/mod.nr index 9b9bc52e9bd8..f257dcd60838 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/mod.nr +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/mod.nr @@ -2,8 +2,10 @@ pub(crate) mod components; pub(crate) mod state_diff_hints; mod private_base_rollup; mod public_base_rollup; +mod public_tube; mod tests; pub use crate::abis::base_or_merge_rollup_public_inputs::BaseOrMergeRollupPublicInputs; pub use private_base_rollup::PrivateBaseRollupInputs; pub use public_base_rollup::PublicBaseRollupInputs; +pub use public_tube::PublicTubePrivateInputs; diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/private_base_rollup.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/private_base_rollup.nr index d91534ec25e8..8747680e88da 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/private_base_rollup.nr +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/private_base_rollup.nr @@ -4,7 +4,7 @@ use crate::{ components::{ fees::{compute_fee_payer_fee_juice_balance_leaf_slot, compute_transaction_fee}, nullifier_tree::nullifier_tree_batch_insert, - PrivateTubeDataValidator, + PrivateTxBaseInputsValidator, public_data_tree::public_data_tree_insert, }, state_diff_hints::PrivateBaseStateDiffHints, @@ -14,9 +14,10 @@ use crate::{ use dep::types::{ abis::{ append_only_tree_snapshot::AppendOnlyTreeSnapshot, block_constant_data::BlockConstantData, - contract_class_log::ContractClassLog, log::Log, + contract_class_log::ContractClassLog, + kernel_circuit_public_inputs::PrivateToRollupKernelCircuitPublicInputs, log::Log, partial_state_reference::PartialStateReference, public_data_write::PublicDataWrite, - public_log::PublicLog, sponge_blob::SpongeBlob, tube::PrivateTubeData, + public_log::PublicLog, sponge_blob::SpongeBlob, }, constants::{ ARCHIVE_HEIGHT, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, MAX_CONTRACT_CLASS_LOGS_PER_TX, @@ -28,11 +29,14 @@ use dep::types::{ merkle_tree::{ append_only_tree, calculate_empty_tree_root, calculate_subtree_root, MembershipWitness, }, + proof::proof_data::CivcProofData, traits::{Empty, Hash}, }; pub struct PrivateBaseRollupInputs { - tube_data: PrivateTubeData, + // The public inputs of `private_kernel_tail` are propagated to `hiding_kernel_to_rollup`, whose public inputs are + // identical to those inputs, and are verified in this circuit. + hiding_kernel_proof_data: CivcProofData, start: PartialStateReference, start_sponge_blob: SpongeBlob, @@ -47,13 +51,14 @@ pub struct PrivateBaseRollupInputs { impl PrivateBaseRollupInputs { pub fn execute(self) -> BaseOrMergeRollupPublicInputs { - let tube_data_validator = PrivateTubeDataValidator::new(self.tube_data); - tube_data_validator.validate_proof_and_vk(); - tube_data_validator.validate_gas_settings(); - tube_data_validator.validate_with_block_constant_data( + PrivateTxBaseInputsValidator::new( + self.hiding_kernel_proof_data, self.constants, self.archive_root_membership_witness, - ); + ) + .validate(); + + let kernel_public_inputs = self.hiding_kernel_proof_data.public_inputs; let commitments_tree_subroot = self.calculate_commitments_subtree(); @@ -73,8 +78,8 @@ impl PrivateBaseRollupInputs { let transaction_fee = compute_transaction_fee( self.constants.global_variables.gas_fees, - self.tube_data.public_inputs.constants.tx_context.gas_settings, - self.tube_data.public_inputs.gas_used, + kernel_public_inputs.constants.tx_context.gas_settings, + kernel_public_inputs.gas_used, ); // Write fee to public data tree @@ -86,18 +91,17 @@ impl PrivateBaseRollupInputs { all_public_data_update_requests[0] = fee_public_data_write; // Silo the L2 to L1 messages and compute the out hash. - let siloed_l2_to_l1_msgs = self.tube_data.public_inputs.end.l2_to_l1_msgs.map(|message| silo_l2_to_l1_message( + let siloed_l2_to_l1_msgs = kernel_public_inputs.end.l2_to_l1_msgs.map(|message| silo_l2_to_l1_message( message, - self.tube_data.public_inputs.constants.tx_context.version, - self.tube_data.public_inputs.constants.tx_context.chain_id, + kernel_public_inputs.constants.tx_context.version, + kernel_public_inputs.constants.tx_context.chain_id, )); let out_hash = compute_kernel_out_hash(siloed_l2_to_l1_msgs); // Validate the contract class log hashes. let mut contract_class_logs = [ContractClassLog::empty(); MAX_CONTRACT_CLASS_LOGS_PER_TX]; - let contract_class_logs_hashes = - self.tube_data.public_inputs.end.contract_class_logs_hashes; + let contract_class_logs_hashes = kernel_public_inputs.end.contract_class_logs_hashes; for i in 0..MAX_CONTRACT_CLASS_LOGS_PER_TX { let log_hash = contract_class_logs_hashes[i]; let log_fields = self.contract_class_log_fields[i]; @@ -111,14 +115,14 @@ impl PrivateBaseRollupInputs { // Append the tx effects for blob(s). let tx_effect = TxEffect { - tx_hash: self.tube_data.public_inputs.hash(), + tx_hash: kernel_public_inputs.hash(), revert_code: 0, transaction_fee, - note_hashes: self.tube_data.public_inputs.end.note_hashes, - nullifiers: self.tube_data.public_inputs.end.nullifiers, + note_hashes: kernel_public_inputs.end.note_hashes, + nullifiers: kernel_public_inputs.end.nullifiers, l2_to_l1_msgs: siloed_l2_to_l1_msgs, public_data_writes: all_public_data_update_requests, - private_logs: self.tube_data.public_inputs.end.private_logs, + private_logs: kernel_public_inputs.end.private_logs, public_logs: [PublicLog::empty(); MAX_PUBLIC_LOGS_PER_TX], contract_class_logs, }; @@ -137,20 +141,20 @@ impl PrivateBaseRollupInputs { end_sponge_blob, out_hash, accumulated_fees: transaction_fee, - accumulated_mana_used: self.tube_data.public_inputs.gas_used.l2_gas as Field, + accumulated_mana_used: kernel_public_inputs.gas_used.l2_gas as Field, } } // TODO(Kev): This should say calculate_commitments_subtree_root // Cpp code says calculate_commitments_subtree, so I'm leaving it as is for now fn calculate_commitments_subtree(self) -> Field { - calculate_subtree_root(self.tube_data.public_inputs.end.note_hashes) + calculate_subtree_root(self.hiding_kernel_proof_data.public_inputs.end.note_hashes) } fn check_nullifier_tree_non_membership_and_insert_to_tree(self) -> AppendOnlyTreeSnapshot { nullifier_tree_batch_insert( self.start.nullifier_tree, - self.tube_data.public_inputs.end.nullifiers, + self.hiding_kernel_proof_data.public_inputs.end.nullifiers, self.state_diff_hints.sorted_nullifiers, self.state_diff_hints.sorted_nullifier_indexes, self.state_diff_hints.nullifier_subtree_sibling_path, @@ -160,7 +164,7 @@ impl PrivateBaseRollupInputs { } fn build_fee_public_data_write(self, tx_fee: Field) -> PublicDataWrite { - let fee_payer = self.tube_data.public_inputs.fee_payer; + let fee_payer = self.hiding_kernel_proof_data.public_inputs.fee_payer; let leaf_slot = compute_fee_payer_fee_juice_balance_leaf_slot(fee_payer); let read_hint = self.fee_payer_fee_juice_balance_read_hint; @@ -214,14 +218,14 @@ mod tests { }, address::AztecAddress, constants::{ - CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, CONTRACT_CLASS_LOGS_PREFIX, L2_L1_MSGS_PREFIX, - MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, - MAX_NULLIFIERS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, - NOTE_HASH_SUBTREE_HEIGHT, NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH, NOTE_HASH_TREE_HEIGHT, - NOTES_PREFIX, NULLIFIER_SUBTREE_HEIGHT, NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH, - NULLIFIER_TREE_HEIGHT, NULLIFIERS_PREFIX, PRIVATE_LOGS_PREFIX, PRIVATE_TUBE_VK_INDEX, - PUBLIC_DATA_TREE_HEIGHT, PUBLIC_DATA_UPDATE_REQUESTS_PREFIX, REVERT_CODE_PREFIX, - TX_FEE_PREFIX, TX_START_PREFIX, + CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, CONTRACT_CLASS_LOGS_PREFIX, + HIDING_KERNEL_TO_ROLLUP_VK_INDEX, L2_L1_MSGS_PREFIX, MAX_CONTRACT_CLASS_LOGS_PER_TX, + MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, + MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, NOTE_HASH_SUBTREE_HEIGHT, + NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH, NOTE_HASH_TREE_HEIGHT, NOTES_PREFIX, + NULLIFIER_SUBTREE_HEIGHT, NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH, NULLIFIER_TREE_HEIGHT, + NULLIFIERS_PREFIX, PRIVATE_LOGS_PREFIX, PUBLIC_DATA_TREE_HEIGHT, + PUBLIC_DATA_UPDATE_REQUESTS_PREFIX, REVERT_CODE_PREFIX, TX_FEE_PREFIX, TX_START_PREFIX, }, data::{public_data_hint::PublicDataHint, PublicDataTreeLeaf, PublicDataTreeLeafPreimage}, hash::{compute_contract_class_log_hash, silo_l2_to_l1_message}, @@ -284,7 +288,7 @@ mod tests { } struct PrivateBaseRollupInputsBuilder { - tube_data: FixtureBuilder, + hiding_kernel_proof_data: FixtureBuilder, pre_existing_notes: [Field; MAX_NOTE_HASHES_PER_TX], pre_existing_nullifiers: [NullifierLeafPreimage; MAX_NULLIFIERS_PER_TX], pre_existing_contracts: [Field; 2], @@ -303,23 +307,25 @@ mod tests { impl PrivateBaseRollupInputsBuilder { fn new() -> Self { - let mut tube_data = - FixtureBuilder::new().in_vk_tree(PRIVATE_TUBE_VK_INDEX).use_last_archive(); + let mut hiding_kernel_proof_data = FixtureBuilder::new() + .in_vk_tree(HIDING_KERNEL_TO_ROLLUP_VK_INDEX) + .use_last_archive(); let mut constants = BlockConstantData::empty(); constants.global_variables.chain_id = fixtures::CHAIN_ID; constants.global_variables.version = fixtures::VERSION; - constants.vk_tree_root = tube_data.vk_tree_root; - constants.protocol_contract_tree_root = tube_data.protocol_contract_tree_root; + constants.vk_tree_root = hiding_kernel_proof_data.vk_tree_root; + constants.protocol_contract_tree_root = + hiding_kernel_proof_data.protocol_contract_tree_root; // Gas and fee. - tube_data.gas_used = Gas::new(11, 22); + hiding_kernel_proof_data.gas_used = Gas::new(11, 22); let gas_fees = GasFees { fee_per_da_gas: 1, fee_per_l2_gas: 2 }; - tube_data.tx_context.gas_settings.max_fees_per_gas = gas_fees; + hiding_kernel_proof_data.tx_context.gas_settings.max_fees_per_gas = gas_fees; constants.global_variables.gas_fees = gas_fees; let fee_payer = AztecAddress::from_field(234234); - tube_data.set_fee_payer(fee_payer); + hiding_kernel_proof_data.set_fee_payer(fee_payer); let fee_payer_balance_slot = compute_fee_payer_fee_juice_balance_leaf_slot(fee_payer); let mut pre_existing_public_data = @@ -342,7 +348,7 @@ mod tests { }; PrivateBaseRollupInputsBuilder { - tube_data, + hiding_kernel_proof_data, pre_existing_notes: [0; MAX_NOTE_HASHES_PER_TX], pre_existing_nullifiers: [NullifierLeafPreimage::empty(); MAX_NULLIFIERS_PER_TX], pre_existing_contracts: [0; 2], @@ -355,12 +361,6 @@ mod tests { } } - unconstrained fn new_with_previous_kernel(previous_vk_index: u32) -> Self { - let mut builder = PrivateBaseRollupInputsBuilder::new(); - builder.tube_data = builder.tube_data.in_vk_tree(previous_vk_index); - builder - } - fn build_fee_payer_fee_juice_balance_read_hint( self, start_public_data_tree: NonEmptyMerkleTree, @@ -383,7 +383,7 @@ mod tests { fn compute_transaction_fee(self) -> Field { let gas_fees = self.constants.global_variables.gas_fees; - let gas_used = self.tube_data.gas_used; + let gas_used = self.hiding_kernel_proof_data.gas_used; gas_used.compute_fee(gas_fees) } @@ -493,11 +493,12 @@ mod tests { self.contract_class_log_fields.push(padded_log_fields); let log_hash = compute_contract_class_log_hash(padded_log_fields); - self.tube_data.add_contract_class_log_hash(log_hash, N); + self.hiding_kernel_proof_data.add_contract_class_log_hash(log_hash, N); } unconstrained fn build_inputs(mut self) -> PrivateBaseRollupInputs { - let mut tube_data = self.tube_data.to_private_tube_data(); + let mut private_tail_public_inputs = + self.hiding_kernel_proof_data.to_private_to_rollup_kernel_circuit_public_inputs(); let start_note_hash_tree = NonEmptyMerkleTree::new( self.pre_existing_notes, @@ -542,12 +543,10 @@ mod tests { next_available_leaf_index: self.pre_existing_public_data.len(), }; - self.constants.last_archive = self.tube_data.archive_tree; - let (nullifier_predecessor_preimages, nullifier_predecessor_membership_witnesses, sorted_nullifiers, sorted_nullifier_indexes) = self .update_nullifier_tree_with_new_leaves( &mut start_nullifier_tree, - &mut tube_data.public_inputs, + &mut private_tail_public_inputs, start_nullifier_tree_snapshot, ); @@ -593,12 +592,20 @@ mod tests { fee_write_sibling_path, }; + let hiding_kernel_proof_data = FixtureBuilder::make_proof_data( + private_tail_public_inputs, + HIDING_KERNEL_TO_ROLLUP_VK_INDEX, + ); + self.constants.last_archive = self.hiding_kernel_proof_data.archive_tree; + PrivateBaseRollupInputs { - tube_data, + hiding_kernel_proof_data, start, start_sponge_blob, state_diff_hints, - archive_root_membership_witness: self.tube_data.archive_root_membership_witness, + archive_root_membership_witness: self + .hiding_kernel_proof_data + .archive_root_membership_witness, constants: self.constants, fee_payer_fee_juice_balance_read_hint, contract_class_log_fields: self.contract_class_log_fields.storage(), @@ -638,7 +645,7 @@ mod tests { let note_hashes = [27, 28, 29, 30, 31, 32]; for i in 0..note_hashes.len() { - builder.tube_data.add_new_note_hash(note_hashes[i]); + builder.hiding_kernel_proof_data.add_new_note_hash(note_hashes[i]); } let mut expected_commitments_tree = NonEmptyMerkleTree::new( [0; MAX_NOTE_HASHES_PER_TX * 2], @@ -805,7 +812,7 @@ mod tests { #[test] unconstrained fn non_empty_tx_effects_sponge() { let mut builder = PrivateBaseRollupInputsBuilder::new(); - builder.tube_data.append_note_hashes(50); + builder.hiding_kernel_proof_data.append_note_hashes(50); let inputs = builder.build_inputs(); let outputs = inputs.execute(); let mut tx_effects = [0; 57]; @@ -833,7 +840,7 @@ mod tests { ); // TX hash - tx_effects[1] = inputs.tube_data.public_inputs.hash(); + tx_effects[1] = inputs.hiding_kernel_proof_data.public_inputs.hash(); // Transaction fee. let transaction_fee = builder.compute_transaction_fee(); @@ -848,7 +855,8 @@ mod tests { tx_effects[offset] = encode_blob_prefix(NOTES_PREFIX, 50); offset += 1; for i in 0..50 { - tx_effects[i + offset] = builder.tube_data.note_hashes.storage()[i].value(); + tx_effects[i + offset] = + builder.hiding_kernel_proof_data.note_hashes.storage()[i].value(); } offset += 50; @@ -876,14 +884,16 @@ mod tests { let NUM_CC_LOGS = cc_log_lengths.len(); let mut builder = PrivateBaseRollupInputsBuilder::new(); - builder.tube_data.set_gas_used(100, 200); + builder.hiding_kernel_proof_data.set_gas_used(100, 200); builder.constants.global_variables.gas_fees.fee_per_da_gas = 1; builder.constants.global_variables.gas_fees.fee_per_l2_gas = 1; - builder.tube_data.tx_context.gas_settings.max_fees_per_gas.fee_per_da_gas = 1; - builder.tube_data.tx_context.gas_settings.max_fees_per_gas.fee_per_l2_gas = 1; + builder.hiding_kernel_proof_data.tx_context.gas_settings.max_fees_per_gas.fee_per_da_gas = + 1; + builder.hiding_kernel_proof_data.tx_context.gas_settings.max_fees_per_gas.fee_per_l2_gas = + 1; let tx_fee = builder.compute_transaction_fee(); // builder.transaction_fee = tx_fee; - builder.tube_data.append_note_hashes(NUM_NOTES); + builder.hiding_kernel_proof_data.append_note_hashes(NUM_NOTES); // Copied from nullifier tests above: builder.pre_existing_nullifiers[0] = NullifierLeafPreimage { nullifier: 0, next_nullifier: 7, next_index: 1 }; @@ -894,15 +904,15 @@ mod tests { NullifierInsertion { existing_index: 1, value: (8 + i) as Field }, ); } - builder.tube_data.append_l2_to_l1_msgs(NUM_MSGS); - builder.tube_data.append_private_logs_with_lengths(private_log_lengths); + builder.hiding_kernel_proof_data.append_l2_to_l1_msgs(NUM_MSGS); + builder.hiding_kernel_proof_data.append_private_logs_with_lengths(private_log_lengths); builder.append_contract_class_log(cc_log_0); let inputs = builder.build_inputs(); let outputs = inputs.execute(); let mut reconstructed_tx_effects = [0; TX_EFFECTS_BLOB_HASH_INPUT_FIELDS]; // tx hash - reconstructed_tx_effects[1] = inputs.tube_data.public_inputs.hash(); + reconstructed_tx_effects[1] = inputs.hiding_kernel_proof_data.public_inputs.hash(); // tx fee reconstructed_tx_effects[2] = field_from_bytes([TX_FEE_PREFIX, 0].concat(tx_fee.to_be_bytes::<29>()), true); @@ -913,7 +923,7 @@ mod tests { offset += 1; for i in 0..NUM_NOTES { reconstructed_tx_effects[offset + i] = - builder.tube_data.note_hashes.storage()[i].value(); + builder.hiding_kernel_proof_data.note_hashes.storage()[i].value(); } offset += NUM_NOTES; // nullifiers @@ -930,9 +940,9 @@ mod tests { offset += 1; for i in 0..NUM_MSGS { reconstructed_tx_effects[offset + i] = silo_l2_to_l1_message( - builder.tube_data.l2_to_l1_msgs.get(i).expose_to_public(), - builder.tube_data.tx_context.version, - builder.tube_data.tx_context.chain_id, + builder.hiding_kernel_proof_data.l2_to_l1_msgs.get(i).expose_to_public(), + builder.hiding_kernel_proof_data.tx_context.version, + builder.hiding_kernel_proof_data.tx_context.chain_id, ); } offset += NUM_MSGS; @@ -951,7 +961,7 @@ mod tests { offset += 1; for i in 0..NUM_PRIVATE_LOGS { let log_len = private_log_lengths[i]; - let log_fields = builder.tube_data.private_logs.get(i).inner.log.fields; + let log_fields = builder.hiding_kernel_proof_data.private_logs.get(i).inner.log.fields; reconstructed_tx_effects[offset] = log_len as Field; offset += 1; for j in 0..log_len { @@ -968,7 +978,8 @@ mod tests { let log_len = cc_log_lengths[i]; reconstructed_tx_effects[offset] = log_len as Field; offset += 1; - reconstructed_tx_effects[offset] = builder.tube_data.contract_address.to_field(); + reconstructed_tx_effects[offset] = + builder.hiding_kernel_proof_data.contract_address.to_field(); offset += 1; let log_fields = builder.contract_class_log_fields.get(i); for j in 0..log_len { @@ -1008,15 +1019,18 @@ mod tests { unconstrained fn nonempty_block_out_hash() { let mut builder = PrivateBaseRollupInputsBuilder::new(); - builder.tube_data.append_l2_to_l1_msgs(MAX_L2_TO_L1_MSGS_PER_TX); + builder.hiding_kernel_proof_data.append_l2_to_l1_msgs(MAX_L2_TO_L1_MSGS_PER_TX); let out_hash = builder.execute().out_hash; - let siloed_l2_to_l1_msgs = builder.tube_data.l2_to_l1_msgs.map(|l2_to_l1_message| silo_l2_to_l1_message( - l2_to_l1_message.expose_to_public(), - builder.constants.global_variables.version, - builder.constants.global_variables.chain_id, - )); + let siloed_l2_to_l1_msgs = builder + .hiding_kernel_proof_data + .l2_to_l1_msgs + .map(|l2_to_l1_message| silo_l2_to_l1_message( + l2_to_l1_message.expose_to_public(), + builder.constants.global_variables.version, + builder.constants.global_variables.chain_id, + )); // Since we fill the tree completely, we know to expect a full tree as below let expected_tree = MerkleTree::new_sha(siloed_l2_to_l1_msgs.storage()); @@ -1056,7 +1070,7 @@ mod tests { unconstrained fn constants_dont_satisfy_smaller_include_by_timestamp() { let mut builder = PrivateBaseRollupInputsBuilder::new(); builder.constants.global_variables.timestamp = 42; - builder.tube_data.include_by_timestamp = 5; + builder.hiding_kernel_proof_data.include_by_timestamp = 5; builder.fails(); } @@ -1064,7 +1078,7 @@ mod tests { unconstrained fn constants_satisfy_equal_include_by_timestamp() { let mut builder = PrivateBaseRollupInputsBuilder::new(); builder.constants.global_variables.timestamp = 42; - builder.tube_data.include_by_timestamp = 42; + builder.hiding_kernel_proof_data.include_by_timestamp = 42; builder.succeeds(); } @@ -1072,7 +1086,7 @@ mod tests { unconstrained fn constants_satisfy_larger_include_by_timestamp() { let mut builder = PrivateBaseRollupInputsBuilder::new(); builder.constants.global_variables.timestamp = 42; - builder.tube_data.include_by_timestamp = 4294967295; + builder.hiding_kernel_proof_data.include_by_timestamp = 4294967295; builder.succeeds(); } diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/public_base_rollup.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/public_base_rollup.nr index 316abfda86bf..1a08c8fd68e6 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/public_base_rollup.nr +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/public_base_rollup.nr @@ -1,24 +1,28 @@ use crate::{ abis::{base_or_merge_rollup_public_inputs::BaseOrMergeRollupPublicInputs, tx_effect::TxEffect}, - base::components::PublicTubeDataValidator, + base::components::PublicTxBaseInputsValidator, components::{append_tx_effects_for_blob, compute_kernel_out_hash, validate_contract_class_log}, }; use dep::types::{ abis::{ append_only_tree_snapshot::AppendOnlyTreeSnapshot, avm_circuit_public_inputs::AvmProofData, - block_constant_data::BlockConstantData, contract_class_log::ContractClassLog, log::Log, - sponge_blob::SpongeBlob, tube::PublicTubeData, + block_constant_data::BlockConstantData, contract_class_log::ContractClassLog, + kernel_circuit_public_inputs::PrivateToPublicKernelCircuitPublicInputs, log::Log, + sponge_blob::SpongeBlob, }, constants::{ARCHIVE_HEIGHT, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, MAX_CONTRACT_CLASS_LOGS_PER_TX}, hash::silo_l2_to_l1_message, merkle_tree::MembershipWitness, - proof::traits::Verifiable, + proof::proof_data::RollupHonkProofData, traits::{Empty, Hash}, utils::arrays::array_merge, }; pub struct PublicBaseRollupInputs { - tube_data: PublicTubeData, + // The public inputs of `private_tail_to_public` was propagated to `hiding_kernel_to_public` and then to + // `public_tube`, whose public inputs are identical to those inputs, and are verified in this circuit. + public_tube_proof_data: RollupHonkProofData, + avm_proof_data: AvmProofData, start_sponge_blob: SpongeBlob, @@ -30,7 +34,7 @@ pub struct PublicBaseRollupInputs { impl PublicBaseRollupInputs { fn generate_tx_effect(self) -> TxEffect { - let from_private = self.tube_data.public_inputs; + let from_private = self.public_tube_proof_data.public_inputs; let from_public = self.avm_proof_data.public_inputs; let reverted = from_public.reverted; let revert_code = if reverted { 1 } else { 0 }; @@ -70,7 +74,7 @@ impl PublicBaseRollupInputs { } TxEffect { - tx_hash: self.tube_data.public_inputs.hash(), + tx_hash: self.public_tube_proof_data.public_inputs.hash(), revert_code, transaction_fee: from_public.transaction_fee, note_hashes: from_public.accumulated_data.note_hashes, @@ -84,36 +88,28 @@ impl PublicBaseRollupInputs { } fn generate_block_constant_data(self) -> BlockConstantData { - let tube_data = self.tube_data.public_inputs; + let private_tail = self.public_tube_proof_data.public_inputs; let avm_data = self.avm_proof_data.public_inputs; BlockConstantData { last_archive: self.last_archive, new_l1_to_l2: avm_data.start_tree_snapshots.l1_to_l2_message_tree, global_variables: avm_data.global_variables, - vk_tree_root: tube_data.constants.vk_tree_root, - protocol_contract_tree_root: tube_data.constants.protocol_contract_tree_root, + vk_tree_root: private_tail.constants.vk_tree_root, + protocol_contract_tree_root: private_tail.constants.protocol_contract_tree_root, } } pub fn execute(self) -> BaseOrMergeRollupPublicInputs { let constants = self.generate_block_constant_data(); - let tube_data_validator = PublicTubeDataValidator::new(self.tube_data); - tube_data_validator.validate_proof_and_vk(); - tube_data_validator.validate_gas_settings(); - tube_data_validator.validate_with_block_constant_data( + PublicTxBaseInputsValidator::new( + self.public_tube_proof_data, + self.avm_proof_data, constants, self.archive_root_membership_witness, - ); - tube_data_validator.validate_with_avm_data(self.avm_proof_data.public_inputs); - - // TODO(#8470) - if !dep::std::runtime::is_unconstrained() { - self.avm_proof_data.verify(); - // TODO: Add avm vk hash to the tree and uncomment this. - // self.avm_proof_data.validate_vk_in_vk_tree(constants.vk_tree_root); - } + ) + .validate(); let tx_effect = self.generate_tx_effect(); @@ -185,7 +181,7 @@ mod tests { #[derive(Eq)] struct PublicBaseRollupInputsBuilder { - tube_data: FixtureBuilder, + public_tube_proof_data: FixtureBuilder, avm_data: FixtureBuilder, transaction_fee: Field, pre_existing_notes: [Field; MAX_NOTE_HASHES_PER_TX], @@ -200,19 +196,13 @@ mod tests { impl PublicBaseRollupInputsBuilder { fn new() -> Self { let mut inputs = PublicBaseRollupInputsBuilder::empty(); - inputs.tube_data = + inputs.public_tube_proof_data = FixtureBuilder::new().in_vk_tree(PUBLIC_TUBE_VK_INDEX).use_last_archive(); inputs.avm_data = FixtureBuilder::new().in_vk_tree(AVM_VK_INDEX); inputs } - unconstrained fn new_with_previous_kernel(previous_vk_index: u32) -> Self { - let mut builder = PublicBaseRollupInputsBuilder::new(); - builder.tube_data = builder.tube_data.in_vk_tree(previous_vk_index); - builder - } - fn build_pre_existing_tx_effects(self) -> TxEffect { let mut res = TxEffect::empty(); res.note_hashes = self.pre_existing_notes; @@ -252,11 +242,15 @@ mod tests { self.contract_class_log_fields.push(padded_log_fields); let log_hash = compute_contract_class_log_hash(padded_log_fields); - self.tube_data.add_contract_class_log_hash(log_hash, N); + self.public_tube_proof_data.add_contract_class_log_hash(log_hash, N); } unconstrained fn build_inputs(mut self) -> PublicBaseRollupInputs { - let mut tube_data = self.tube_data.to_public_tube_data(); + let private_tail_public_inputs = + self.public_tube_proof_data.to_private_to_public_kernel_circuit_public_inputs(); + let public_tube_proof_data = + FixtureBuilder::make_proof_data(private_tail_public_inputs, PUBLIC_TUBE_VK_INDEX); + let mut avm_proof_data = self.avm_data.to_avm_proof_data(); avm_proof_data.public_inputs.transaction_fee = self.transaction_fee; @@ -286,11 +280,13 @@ mod tests { ); PublicBaseRollupInputs { - tube_data, + public_tube_proof_data, avm_proof_data, start_sponge_blob, - last_archive: self.tube_data.archive_tree, - archive_root_membership_witness: self.tube_data.archive_root_membership_witness, + last_archive: self.public_tube_proof_data.archive_tree, + archive_root_membership_witness: self + .public_tube_proof_data + .archive_root_membership_witness, contract_class_log_fields: self.contract_class_log_fields.storage(), } } @@ -313,7 +309,7 @@ mod tests { impl Empty for PublicBaseRollupInputsBuilder { fn empty() -> Self { Self { - tube_data: FixtureBuilder::empty(), + public_tube_proof_data: FixtureBuilder::empty(), avm_data: FixtureBuilder::empty(), transaction_fee: 0, pre_existing_notes: [0; MAX_NOTE_HASHES_PER_TX], @@ -340,7 +336,7 @@ mod tests { unconstrained fn non_empty_tx_effects_sponge() { let mut builder = PublicBaseRollupInputsBuilder::new(); - builder.tube_data.append_note_hashes(50); + builder.public_tube_proof_data.append_note_hashes(50); builder.avm_data.append_note_hashes(50); let inputs = builder.build_inputs(); @@ -361,7 +357,7 @@ mod tests { true, ); // TX hash - tx_effects[1] = inputs.tube_data.public_inputs.hash(); + tx_effects[1] = inputs.public_tube_proof_data.public_inputs.hash(); tx_effects[2] = field_from_bytes([TX_FEE_PREFIX, 0].concat((0).to_be_bytes::<29>()), true); tx_effects[3] = encode_blob_prefix(NOTES_PREFIX, 50); for i in 0..50 { @@ -391,7 +387,7 @@ mod tests { let mut builder = PublicBaseRollupInputsBuilder::new(); builder.transaction_fee = tx_fee; - builder.tube_data.append_note_hashes(NUM_NOTES); + builder.public_tube_proof_data.append_note_hashes(NUM_NOTES); builder.avm_data.append_note_hashes(NUM_NOTES); // Copied from nullifier tests above: builder.pre_existing_nullifiers[0] = @@ -403,7 +399,7 @@ mod tests { NullifierInsertion { existing_index: 1, value: (8 + i) as Field }, ); } - builder.tube_data.append_l2_to_l1_msgs(NUM_MSGS); + builder.public_tube_proof_data.append_l2_to_l1_msgs(NUM_MSGS); builder.avm_data.append_l2_to_l1_msgs(NUM_MSGS); // Copied from public data test below: builder.pre_existing_public_data[0] = @@ -411,7 +407,7 @@ mod tests { builder.public_data_writes.push(( 0, PublicDataTreeLeaf { slot: PUB_DATA_SLOT, value: PUB_DATA_VALUE }, )); - builder.tube_data.append_private_logs_with_lengths(private_log_lengths); + builder.public_tube_proof_data.append_private_logs_with_lengths(private_log_lengths); builder.avm_data.append_public_logs_with_lengths(pub_log_lengths); builder.append_contract_class_log(cc_log_0); let inputs = builder.build_inputs(); @@ -419,7 +415,7 @@ mod tests { let mut reconstructed_tx_effects = [0; TX_EFFECTS_BLOB_HASH_INPUT_FIELDS]; // tx hash - reconstructed_tx_effects[1] = inputs.tube_data.public_inputs.hash(); + reconstructed_tx_effects[1] = inputs.public_tube_proof_data.public_inputs.hash(); // tx fee reconstructed_tx_effects[2] = field_from_bytes([TX_FEE_PREFIX, 0].concat(tx_fee.to_be_bytes::<29>()), true); @@ -468,7 +464,7 @@ mod tests { offset += 1; for i in 0..NUM_PRIVATE_LOGS { let log_len = private_log_lengths[i]; - let log_fields = builder.tube_data.private_logs.get(i).inner.log.fields; + let log_fields = builder.public_tube_proof_data.private_logs.get(i).inner.log.fields; reconstructed_tx_effects[offset] = log_len as Field; offset += 1; for j in 0..log_len { @@ -485,7 +481,8 @@ mod tests { let log_fields = builder.avm_data.public_logs.get(i).log.fields; reconstructed_tx_effects[offset] = log_len as Field; offset += 1; - reconstructed_tx_effects[offset] = builder.tube_data.contract_address.to_field(); + reconstructed_tx_effects[offset] = + builder.public_tube_proof_data.contract_address.to_field(); offset += 1; for j in 0..log_len { reconstructed_tx_effects[offset] = log_fields[j]; @@ -501,7 +498,8 @@ mod tests { let log_len = cc_log_lengths[i]; reconstructed_tx_effects[offset] = log_len as Field; offset += 1; - reconstructed_tx_effects[offset] = builder.tube_data.contract_address.to_field(); + reconstructed_tx_effects[offset] = + builder.public_tube_proof_data.contract_address.to_field(); offset += 1; let log_fields = builder.contract_class_log_fields.get(i); for j in 0..log_len { @@ -537,7 +535,9 @@ mod tests { let mut builder = PublicBaseRollupInputsBuilder::new(); // Create a log whose length is larger than the max allowed. - builder.tube_data.append_private_logs_with_lengths([PRIVATE_LOG_SIZE_IN_FIELDS + 1]); + builder.public_tube_proof_data.append_private_logs_with_lengths([ + PRIVATE_LOG_SIZE_IN_FIELDS + 1, + ]); let _ = builder.execute(); } @@ -557,10 +557,10 @@ mod tests { let mut builder = PublicBaseRollupInputsBuilder::new(); builder.append_contract_class_log([11, 22, 33]); - let mut invalid_log_hash = builder.tube_data.contract_class_logs_hashes.pop(); + let mut invalid_log_hash = builder.public_tube_proof_data.contract_class_logs_hashes.pop(); // Tweak the length of the log hash to be larger than the max allowed. invalid_log_hash.inner.inner.length = CONTRACT_CLASS_LOG_SIZE_IN_FIELDS + 1; - builder.tube_data.contract_class_logs_hashes.push(invalid_log_hash); + builder.public_tube_proof_data.contract_class_logs_hashes.push(invalid_log_hash); let _ = builder.execute(); } @@ -575,7 +575,7 @@ mod tests { unconstrained fn nonempty_block_out_hash() { let mut builder = PublicBaseRollupInputsBuilder::new(); - builder.tube_data.append_l2_to_l1_msgs(MAX_L2_TO_L1_MSGS_PER_TX); + builder.public_tube_proof_data.append_l2_to_l1_msgs(MAX_L2_TO_L1_MSGS_PER_TX); builder.avm_data.append_l2_to_l1_msgs(MAX_L2_TO_L1_MSGS_PER_TX); let out_hash = builder.execute().out_hash; @@ -601,7 +601,7 @@ mod tests { #[test] unconstrained fn constants_dont_change() { let inputs = PublicBaseRollupInputsBuilder::new().build_inputs(); - let tx_constants = inputs.tube_data.public_inputs.constants; + let tx_constants = inputs.public_tube_proof_data.public_inputs.constants; let output_constants = inputs.execute().constants; @@ -619,7 +619,7 @@ mod tests { #[test(should_fail_with = "kernel chain_id does not match the rollup chain_id")] unconstrained fn constants_dont_match_kernels_chain_id() { let mut builder = PublicBaseRollupInputsBuilder::new(); - builder.tube_data.tx_context.chain_id = 3; + builder.public_tube_proof_data.tx_context.chain_id = 3; builder.avm_data.global_variables.chain_id = 4; builder.fails(); } @@ -627,7 +627,7 @@ mod tests { #[test(should_fail_with = "kernel version does not match the rollup version")] unconstrained fn constants_dont_match_kernels_version() { let mut builder = PublicBaseRollupInputsBuilder::new(); - builder.tube_data.tx_context.version = 3; + builder.public_tube_proof_data.tx_context.version = 3; builder.avm_data.global_variables.version = 4; builder.fails(); } @@ -636,7 +636,7 @@ mod tests { unconstrained fn constants_dont_satisfy_smaller_include_by_timestamp() { let mut builder = PublicBaseRollupInputsBuilder::new(); builder.avm_data.global_variables.timestamp = 42; - builder.tube_data.include_by_timestamp = 5; + builder.public_tube_proof_data.include_by_timestamp = 5; builder.fails(); } @@ -644,7 +644,7 @@ mod tests { unconstrained fn constants_satisfy_equal_include_by_timestamp() { let mut builder = PublicBaseRollupInputsBuilder::new(); builder.avm_data.global_variables.timestamp = 42; - builder.tube_data.include_by_timestamp = 42; + builder.public_tube_proof_data.include_by_timestamp = 42; builder.succeeds(); } @@ -652,7 +652,7 @@ mod tests { unconstrained fn constants_satisfy_larger_include_by_timestamp() { let mut builder = PublicBaseRollupInputsBuilder::new(); builder.avm_data.global_variables.timestamp = 42; - builder.tube_data.include_by_timestamp = 4294967295; + builder.public_tube_proof_data.include_by_timestamp = 4294967295; builder.succeeds(); } @@ -698,7 +698,7 @@ mod tests { max_fees_per_gas: GasFees::new(150, 150), max_priority_fees_per_gas: GasFees::new(100, 100), }; - builder.tube_data.tx_context.gas_settings = gas_settings; + builder.public_tube_proof_data.tx_context.gas_settings = gas_settings; builder.avm_data.tx_context.gas_settings = gas_settings; // Effective should be 150 taking 50 as priority fees. @@ -718,7 +718,7 @@ mod tests { max_fees_per_gas: GasFees::new(150, 150), max_priority_fees_per_gas: GasFees::new(25, 25), }; - builder.tube_data.tx_context.gas_settings = gas_settings; + builder.public_tube_proof_data.tx_context.gas_settings = gas_settings; builder.avm_data.tx_context.gas_settings = gas_settings; // Effective should be 125 taking all priority fees. diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/public_tube.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/public_tube.nr new file mode 100644 index 000000000000..002dd45ae18e --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/public_tube.nr @@ -0,0 +1,30 @@ +use dep::types::{ + abis::kernel_circuit_public_inputs::PrivateToPublicKernelCircuitPublicInputs, + constants::HIDING_KERNEL_TO_PUBLIC_VK_INDEX, proof::proof_data::CivcProofData, +}; + +pub struct PublicTubePrivateInputs { + hiding_kernel_proof_data: CivcProofData, +} + +impl PublicTubePrivateInputs { + /// This circuit is created so that verification of the `hiding_kernel_to_public` can run in parallel with + /// verification of the avm, to speed up the overall proving time. + /// + /// VkIndex: PUBLIC_TUBE_VK_INDEX + pub fn execute(self) -> PrivateToPublicKernelCircuitPublicInputs { + assert_eq( + self.hiding_kernel_proof_data.vk_data.leaf_index, + HIDING_KERNEL_TO_PUBLIC_VK_INDEX, + ); + + if !dep::std::runtime::is_unconstrained() { + self.hiding_kernel_proof_data.verify_proof(); + + let vk_tree_root = self.hiding_kernel_proof_data.public_inputs.constants.vk_tree_root; + self.hiding_kernel_proof_data.vk_data.validate_in_vk_tree(vk_tree_root); + } + + self.hiding_kernel_proof_data.public_inputs + } +} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/mod.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/mod.nr index 41108adab658..3b3d2cc2a6ff 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/mod.nr +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/mod.nr @@ -1,2 +1,2 @@ -mod private_tube_data_validator_builder; -mod public_tube_data_validator_builder; +mod private_tx_base; +mod public_tx_base; diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/private_tube_data_validator_builder/mod.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/private_tube_data_validator_builder/mod.nr deleted file mode 100644 index 9a9c2c76ea5b..000000000000 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/private_tube_data_validator_builder/mod.nr +++ /dev/null @@ -1,28 +0,0 @@ -mod validate_with_block_constant_data; -mod validate_gas_settings; - -use crate::base::components::PrivateTubeDataValidator; -use dep::types::{ - abis::block_constant_data::BlockConstantData, tests::fixture_builder::FixtureBuilder, -}; - -pub struct PrivateTubeDataValidatorBuilder { - pub tube_data: FixtureBuilder, - pub block_constant_data: BlockConstantData, -} - -impl PrivateTubeDataValidatorBuilder { - pub fn new() -> Self { - let tube_data = FixtureBuilder::new().use_last_archive(); - let block_constant_data = tube_data.to_block_constant_data(); - PrivateTubeDataValidatorBuilder { tube_data, block_constant_data } - } - - pub fn validate_with_block_constant_data(self) { - let tube_data = self.tube_data.to_private_tube_data(); - PrivateTubeDataValidator::new(tube_data).validate_with_block_constant_data( - self.block_constant_data, - self.tube_data.archive_root_membership_witness, - ); - } -} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/private_tube_data_validator_builder/validate_gas_settings.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/private_tube_data_validator_builder/validate_gas_settings.nr deleted file mode 100644 index 21ade8b35691..000000000000 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/private_tube_data_validator_builder/validate_gas_settings.nr +++ /dev/null @@ -1,20 +0,0 @@ -use crate::base::components::PublicTubeDataValidator; -use super::PrivateTubeDataValidatorBuilder; -use types::constants::AVM_MAX_PROCESSABLE_L2_GAS; - -impl PrivateTubeDataValidatorBuilder { - - pub fn validate_gas_settings(self) { - let tube_data = self.tube_data.to_public_tube_data(); - PublicTubeDataValidator::new(tube_data).validate_gas_settings(); - } -} - -#[test(should_fail_with = "l2 gas limit exceeds max processable l2 gas")] -fn private_tube_validate_gas_settings_l2_gas_limit_exceeds_max_processable_l2_gas_fails() { - let mut builder = PrivateTubeDataValidatorBuilder::new(); - - builder.tube_data.tx_context.gas_settings.gas_limits.l2_gas = AVM_MAX_PROCESSABLE_L2_GAS + 1; - - builder.validate_gas_settings(); -} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/private_tube_data_validator_builder/validate_with_block_constant_data.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/private_tube_data_validator_builder/validate_with_block_constant_data.nr deleted file mode 100644 index dc8645b8b281..000000000000 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/private_tube_data_validator_builder/validate_with_block_constant_data.nr +++ /dev/null @@ -1,36 +0,0 @@ -use super::PrivateTubeDataValidatorBuilder; - -#[test] -fn validate_with_block_constant_data_success() { - let builder = PrivateTubeDataValidatorBuilder::new(); - builder.validate_with_block_constant_data(); -} - -#[test(should_fail_with = "da gas is higher than the maximum specified by the tx")] -fn validate_with_block_constant_data_not_enough_fee_per_da_gas_fails() { - let mut builder = PrivateTubeDataValidatorBuilder::new(); - - builder.tube_data.tx_context.gas_settings.max_fees_per_gas.fee_per_da_gas = 3; - builder.block_constant_data.global_variables.gas_fees.fee_per_da_gas = 4; - - builder.validate_with_block_constant_data(); -} - -#[test(should_fail_with = "l2 gas is higher than the maximum specified by the tx")] -fn validate_with_block_constant_data_not_enough_fee_per_l2_gas_fails() { - let mut builder = PrivateTubeDataValidatorBuilder::new(); - - builder.tube_data.tx_context.gas_settings.max_fees_per_gas.fee_per_l2_gas = 3; - builder.block_constant_data.global_variables.gas_fees.fee_per_l2_gas = 4; - - builder.validate_with_block_constant_data(); -} - -#[test(should_fail_with = "tx include_by_timestamp is smaller than block timestamp")] -fn validate_with_block_constant_data_include_by_timestamp_lower_than_block_fails() { - let mut builder = PrivateTubeDataValidatorBuilder::new(); - - builder.tube_data.include_by_timestamp = builder.tube_data.global_variables.timestamp - 1; - - builder.validate_with_block_constant_data(); -} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/private_tx_base/mod.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/private_tx_base/mod.nr new file mode 100644 index 000000000000..58877620d2d1 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/private_tx_base/mod.nr @@ -0,0 +1,52 @@ +mod validate_private_tail_tests; + +use crate::base::components::PrivateTxBaseInputsValidator; +use dep::types::{ + abis::{ + block_constant_data::BlockConstantData, + kernel_circuit_public_inputs::PrivateToRollupKernelCircuitPublicInputs, + }, + constants::{ARCHIVE_HEIGHT, HIDING_KERNEL_TO_ROLLUP_VK_INDEX}, + merkle_tree::MembershipWitness, + proof::proof_data::CivcProofData, + tests::fixture_builder::FixtureBuilder, +}; + +// TODO: Update this to generate fixtures for testing the entire PrivateBaseRollupInputs. +pub struct PrivateTxBaseTestBuilder { + pub hiding_kernel_proof_data: CivcProofData, + pub block_constant_data: BlockConstantData, + pub archive_root_membership_witness: MembershipWitness, +} + +impl PrivateTxBaseTestBuilder { + pub fn new() -> Self { + let builder = FixtureBuilder::new().use_last_archive(); + + let private_tail_public_inputs = + builder.to_private_to_rollup_kernel_circuit_public_inputs(); + let hiding_kernel_proof_data = FixtureBuilder::make_proof_data( + private_tail_public_inputs, + HIDING_KERNEL_TO_ROLLUP_VK_INDEX, + ); + + let block_constant_data = builder.to_block_constant_data(); + + let archive_root_membership_witness = builder.archive_root_membership_witness; + + PrivateTxBaseTestBuilder { + hiding_kernel_proof_data, + block_constant_data, + archive_root_membership_witness, + } + } + + pub fn validate(self) { + PrivateTxBaseInputsValidator::new( + self.hiding_kernel_proof_data, + self.block_constant_data, + self.archive_root_membership_witness, + ) + .validate(); + } +} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/private_tx_base/validate_private_tail_tests.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/private_tx_base/validate_private_tail_tests.nr new file mode 100644 index 000000000000..0e9de0cba2bc --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/private_tx_base/validate_private_tail_tests.nr @@ -0,0 +1,50 @@ +use super::PrivateTxBaseTestBuilder; +use types::constants::AVM_MAX_PROCESSABLE_L2_GAS; + +#[test] +fn validate_private_tail_success() { + let builder = PrivateTxBaseTestBuilder::new(); + builder.validate(); +} + +#[test(should_fail_with = "da gas is higher than the maximum specified by the tx")] +fn not_enough_fee_per_da_gas_fails() { + let mut builder = PrivateTxBaseTestBuilder::new(); + + builder.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings.max_fees_per_gas.fee_per_da_gas = + 3; + builder.block_constant_data.global_variables.gas_fees.fee_per_da_gas = 4; + + builder.validate(); +} + +#[test(should_fail_with = "l2 gas is higher than the maximum specified by the tx")] +fn not_enough_fee_per_l2_gas_fails() { + let mut builder = PrivateTxBaseTestBuilder::new(); + + builder.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings.max_fees_per_gas.fee_per_l2_gas = + 3; + builder.block_constant_data.global_variables.gas_fees.fee_per_l2_gas = 4; + + builder.validate(); +} + +#[test(should_fail_with = "tx include_by_timestamp is smaller than block timestamp")] +fn include_by_timestamp_lower_than_block_fails() { + let mut builder = PrivateTxBaseTestBuilder::new(); + + builder.hiding_kernel_proof_data.public_inputs.include_by_timestamp = + builder.block_constant_data.global_variables.timestamp - 1; + + builder.validate(); +} + +#[test(should_fail_with = "l2 gas limit exceeds max processable l2 gas")] +fn gas_settings_l2_gas_limit_exceeds_max_processable_l2_gas_fails() { + let mut builder = PrivateTxBaseTestBuilder::new(); + + builder.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings.gas_limits.l2_gas = + AVM_MAX_PROCESSABLE_L2_GAS + 1; + + builder.validate(); +} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tube_data_validator_builder/mod.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tube_data_validator_builder/mod.nr deleted file mode 100644 index 8cd583cc3011..000000000000 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tube_data_validator_builder/mod.nr +++ /dev/null @@ -1,40 +0,0 @@ -mod validate_with_avm_data; -mod validate_with_block_constant_data; -mod validate_gas_settings; - -use crate::base::components::PublicTubeDataValidator; -use dep::types::{ - abis::block_constant_data::BlockConstantData, tests::fixture_builder::FixtureBuilder, -}; - -pub struct PublicTubeDataValidatorBuilder { - pub tube_data: FixtureBuilder, - pub avm_data: FixtureBuilder, - pub block_constant_data: BlockConstantData, -} - -impl PublicTubeDataValidatorBuilder { - pub fn new() -> Self { - let tube_data = FixtureBuilder::new().use_last_archive(); - let block_constant_data = tube_data.to_block_constant_data(); - PublicTubeDataValidatorBuilder { - tube_data, - avm_data: FixtureBuilder::new().use_last_archive(), - block_constant_data, - } - } - - pub fn validate_with_block_constant_data(self) { - let tube_data = self.tube_data.to_public_tube_data(); - PublicTubeDataValidator::new(tube_data).validate_with_block_constant_data( - self.block_constant_data, - self.tube_data.archive_root_membership_witness, - ); - } - - pub fn validate_with_avm_data(self) { - let tube_data = self.tube_data.to_public_tube_data(); - let avm_data = self.avm_data.to_avm_circuit_public_inputs(); - PublicTubeDataValidator::new(tube_data).validate_with_avm_data(avm_data); - } -} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tube_data_validator_builder/validate_gas_settings.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tube_data_validator_builder/validate_gas_settings.nr deleted file mode 100644 index 1d6d95750958..000000000000 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tube_data_validator_builder/validate_gas_settings.nr +++ /dev/null @@ -1,20 +0,0 @@ -use crate::base::components::PublicTubeDataValidator; -use super::PublicTubeDataValidatorBuilder; -use types::constants::AVM_MAX_PROCESSABLE_L2_GAS; - -impl PublicTubeDataValidatorBuilder { - - pub fn validate_gas_settings(self) { - let tube_data = self.tube_data.to_public_tube_data(); - PublicTubeDataValidator::new(tube_data).validate_gas_settings(); - } -} - -#[test(should_fail_with = "l2 gas limit exceeds max processable l2 gas")] -fn public_tube_validate_gas_settings_l2_gas_limit_exceeds_max_processable_l2_gas_fails() { - let mut builder = PublicTubeDataValidatorBuilder::new(); - - builder.tube_data.tx_context.gas_settings.gas_limits.l2_gas = AVM_MAX_PROCESSABLE_L2_GAS + 1; - - builder.validate_gas_settings(); -} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tube_data_validator_builder/validate_with_avm_data.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tube_data_validator_builder/validate_with_avm_data.nr deleted file mode 100644 index e311be646a73..000000000000 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tube_data_validator_builder/validate_with_avm_data.nr +++ /dev/null @@ -1,321 +0,0 @@ -use crate::base::components::PublicTubeDataValidator; -use super::PublicTubeDataValidatorBuilder; -use dep::types::abis::{ - avm_circuit_public_inputs::AvmCircuitPublicInputs, gas_fees::GasFees, gas_settings::GasSettings, -}; - -impl PublicTubeDataValidatorBuilder { - pub fn new_with_full_data() -> Self { - let mut builder = Self::new(); - - builder.tube_data.gas_used.l2_gas = 111; - builder.avm_data.start_gas_used.l2_gas = 111; - - builder.tube_data.tx_context.gas_settings.gas_limits.l2_gas = 444; - builder.avm_data.tx_context.gas_settings.gas_limits.l2_gas = 444; - - builder.tube_data.tx_context.gas_settings.teardown_gas_limits.l2_gas = 333; - builder.avm_data.tx_context.gas_settings.teardown_gas_limits.l2_gas = 333; - - builder.avm_data.global_variables.gas_fees = GasFees::new(100, 100); - - builder.tube_data.tx_context.gas_settings.max_fees_per_gas = GasFees::new(150, 150); - builder.avm_data.tx_context.gas_settings.max_fees_per_gas = GasFees::new(150, 150); - - builder.tube_data.tx_context.gas_settings.max_priority_fees_per_gas = - GasFees::new(100, 100); - builder.avm_data.tx_context.gas_settings.max_priority_fees_per_gas = GasFees::new(100, 100); - - builder.avm_data.effective_gas_fees = GasFees::new(150, 150); - - builder.tube_data.append_note_hashes(2); - builder.avm_data.append_note_hashes(2); - - builder.tube_data.append_nullifiers(3); - builder.avm_data.append_nullifiers(3); - - builder.tube_data.append_l2_to_l1_msgs(1); - builder.avm_data.append_l2_to_l1_msgs(1); - - builder.tube_data.append_public_call_requests(2); - builder.avm_data.append_public_call_requests(2); - - builder.tube_data.end_setup(); - builder.avm_data.end_setup(); - - builder.tube_data.append_note_hashes(1); - builder.avm_data.append_note_hashes(1); - - builder.tube_data.append_nullifiers(1); - builder.avm_data.append_nullifiers(1); - - builder.tube_data.append_l2_to_l1_msgs(2); - builder.avm_data.append_l2_to_l1_msgs(2); - - builder.tube_data.append_public_call_requests(3); - builder.avm_data.append_public_call_requests(3); - - builder.tube_data.set_public_teardown_call_request(); - builder.avm_data.set_public_teardown_call_request(); - - builder - } - - pub fn equal_default_avm_gas_limits(self, gas_settings: GasSettings) -> bool { - let default_gas_settings = self.avm_data.tx_context.gas_settings; - (gas_settings.gas_limits.l2_gas == default_gas_settings.gas_limits.l2_gas) - & ( - gas_settings.teardown_gas_limits.l2_gas - == default_gas_settings.teardown_gas_limits.l2_gas - ) - } - - pub fn equal_default_avm_effective_gas_fees(self, effective_gas_fees: GasFees) -> bool { - let default_effective_gas_fees = self.avm_data.effective_gas_fees; - (effective_gas_fees.fee_per_l2_gas == default_effective_gas_fees.fee_per_l2_gas) - & (effective_gas_fees.fee_per_da_gas == default_effective_gas_fees.fee_per_da_gas) - } - - pub fn validate_with_tweaked_avm_data(self, avm_data: AvmCircuitPublicInputs) { - let tube_data = self.tube_data.to_public_tube_data(); - PublicTubeDataValidator::new(tube_data).validate_with_avm_data(avm_data); - } -} - -#[test] -fn public_tube_validate_with_avm_data_success() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - // Make sure equal_default_avm_gas_limits returns true for the default avm gas settings. - // Values not equal to the default will be tested in the test: public_tube_validate_with_avm_data_mismatch_gas_limits_fails. - let avm_gas_settings = builder.avm_data.tx_context.gas_settings; - assert(builder.equal_default_avm_gas_limits(avm_gas_settings)); - - builder.validate_with_avm_data(); -} - -#[test(should_fail_with = "gas_used mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_start_l2_gas_used_fails() { - let mut builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - builder.avm_data.start_gas_used.l2_gas += 1; - - builder.validate_with_avm_data(); -} - -#[test(should_fail_with = "gas_used mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_start_d2_gas_used_fails() { - let mut builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - builder.avm_data.start_gas_used.da_gas += 1; - - builder.validate_with_avm_data(); -} - -#[test(should_fail_with = "unexpected gas settings used in the AVM")] -fn public_tube_validate_with_avm_data_mismatch_gas_limits_fails(avm_gas_settings: GasSettings) { - let mut builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - // Run the test only when the avm_gas_settings does not equal the default. - if !builder.equal_default_avm_gas_limits(avm_gas_settings) { - builder.avm_data.tx_context.gas_settings = avm_gas_settings; - builder.validate_with_avm_data(); - } else { - // Fail with the expected error message if we are not testing the input. - assert(false, "unexpected gas settings used in the AVM"); - } -} - -#[test(should_fail_with = "unexpected effective gas fees used in the AVM")] -fn public_tube_validate_with_avm_data_mismatch_effective_gas_fees_fails( - effective_gas_fees: GasFees, -) { - let mut builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - if !builder.equal_default_avm_effective_gas_fees(effective_gas_fees) { - builder.avm_data.effective_gas_fees = effective_gas_fees; - builder.validate_with_avm_data(); - } else { - // Fail with the expected error message if we are not testing the input. - assert(false, "unexpected effective gas fees used in the AVM"); - } -} - -#[test(should_fail_with = "fee_payer mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_fee_payer_fails() { - let mut builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - builder.avm_data.fee_payer.inner += 1; - - builder.validate_with_avm_data(); -} - -#[test(should_fail_with = "non-revertible public_call_requests mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_non_revertible_public_call_requests_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.public_setup_call_requests[1].contract_address.inner += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "non-revertible public_call_requests array length mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_non_revertible_public_call_requests_length_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.public_call_request_array_lengths.setup_calls += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "revertible public_call_requests mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_revertible_public_call_requests_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.public_app_logic_call_requests[0].contract_address.inner += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "revertible public_call_requests array length mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_revertible_public_call_requests_length_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.public_call_request_array_lengths.app_logic_calls += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "public_teardown_call_request mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_public_teardown_call_request_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.public_teardown_call_request.contract_address.inner += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "non-revertible note_hashes mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_non_revertible_note_hashes_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.previous_non_revertible_accumulated_data.note_hashes[0] += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "non-revertible note_hashes array length mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_non_revertible_note_hashes_length_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.previous_non_revertible_accumulated_data_array_lengths.note_hashes += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "non-revertible nullifiers mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_non_revertible_nullifiers_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.previous_non_revertible_accumulated_data.nullifiers[0] += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "non-revertible nullifiers array length mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_non_revertible_nullifiers_length_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.previous_non_revertible_accumulated_data_array_lengths.nullifiers += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "non-revertible l2_to_l1_msgs mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_non_revertible_l2_to_l1_msgs_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.previous_non_revertible_accumulated_data.l2_to_l1_msgs[0].inner.content += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "non-revertible l2_to_l1_msgs array length mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_non_revertible_l2_to_l1_msgs_length_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.previous_non_revertible_accumulated_data_array_lengths.l2_to_l1_msgs += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "revertible note_hashes mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_revertible_note_hashes_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.previous_revertible_accumulated_data.note_hashes[0] += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "revertible note_hashes array length mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_revertible_note_hashes_length_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.previous_revertible_accumulated_data_array_lengths.note_hashes += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "revertible nullifiers mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_revertible_nullifiers_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.previous_revertible_accumulated_data.nullifiers[0] += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "revertible nullifiers array length mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_revertible_nullifiers_length_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.previous_revertible_accumulated_data_array_lengths.nullifiers += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "revertible l2_to_l1_msgs mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_revertible_l2_to_l1_msgs_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.previous_revertible_accumulated_data.l2_to_l1_msgs[0].inner.content += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} - -#[test(should_fail_with = "revertible l2_to_l1_msgs array length mismatch between tube and avm")] -fn public_tube_validate_with_avm_data_mismatch_revertible_l2_to_l1_msgs_length_fails() { - let builder = PublicTubeDataValidatorBuilder::new_with_full_data(); - - let mut avm_data = builder.avm_data.to_avm_circuit_public_inputs(); - avm_data.previous_revertible_accumulated_data_array_lengths.l2_to_l1_msgs += 1; - - builder.validate_with_tweaked_avm_data(avm_data); -} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tube_data_validator_builder/validate_with_block_constant_data.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tube_data_validator_builder/validate_with_block_constant_data.nr deleted file mode 100644 index 4674b3983355..000000000000 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tube_data_validator_builder/validate_with_block_constant_data.nr +++ /dev/null @@ -1,36 +0,0 @@ -use super::PublicTubeDataValidatorBuilder; - -#[test] -fn public_tube_validate_with_block_constant_data_success() { - let builder = PublicTubeDataValidatorBuilder::new(); - builder.validate_with_block_constant_data(); -} - -#[test(should_fail_with = "da gas is higher than the maximum specified by the tx")] -fn public_tube_validate_with_block_constant_data_not_enough_fee_per_da_gas_fails() { - let mut builder = PublicTubeDataValidatorBuilder::new(); - - builder.tube_data.tx_context.gas_settings.max_fees_per_gas.fee_per_da_gas = 3; - builder.block_constant_data.global_variables.gas_fees.fee_per_da_gas = 4; - - builder.validate_with_block_constant_data(); -} - -#[test(should_fail_with = "l2 gas is higher than the maximum specified by the tx")] -fn public_tube_validate_with_block_constant_data_not_enough_fee_per_l2_gas_fails() { - let mut builder = PublicTubeDataValidatorBuilder::new(); - - builder.tube_data.tx_context.gas_settings.max_fees_per_gas.fee_per_l2_gas = 3; - builder.block_constant_data.global_variables.gas_fees.fee_per_l2_gas = 4; - - builder.validate_with_block_constant_data(); -} - -#[test(should_fail_with = "tx include_by_timestamp is smaller than block timestamp")] -fn validate_with_block_constant_data_include_by_timestamp_lower_than_block_fails() { - let mut builder = PublicTubeDataValidatorBuilder::new(); - - builder.tube_data.include_by_timestamp = builder.tube_data.global_variables.timestamp - 1; - - builder.validate_with_block_constant_data(); -} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tx_base/mod.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tx_base/mod.nr new file mode 100644 index 000000000000..d5d5560b3160 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tx_base/mod.nr @@ -0,0 +1,91 @@ +mod validate_private_tail_against_avm_tests; +mod validate_private_tail_tests; + +use crate::base::components::PublicTxBaseInputsValidator; +use dep::types::{ + abis::{ + avm_circuit_public_inputs::AvmProofData, block_constant_data::BlockConstantData, + gas_fees::GasFees, kernel_circuit_public_inputs::PrivateToPublicKernelCircuitPublicInputs, + }, + constants::{ARCHIVE_HEIGHT, PUBLIC_TUBE_VK_INDEX}, + merkle_tree::MembershipWitness, + proof::proof_data::RollupHonkProofData, + tests::fixture_builder::FixtureBuilder, +}; + +// TODO: Update this to generate fixtures for testing the entire PublicBaseRollupInputs. +pub struct PublicTxBaseTestBuilder { + pub public_tube_proof_data: RollupHonkProofData, + pub avm_proof_data: AvmProofData, + pub block_constant_data: BlockConstantData, + pub archive_root_membership_witness: MembershipWitness, +} + +impl PublicTxBaseTestBuilder { + pub fn new() -> Self { + let mut builder = FixtureBuilder::new().use_last_archive(); + + builder.gas_used.l2_gas = 111; + builder.start_gas_used.l2_gas = 111; + + builder.tx_context.gas_settings.gas_limits.l2_gas = 444; + + builder.tx_context.gas_settings.teardown_gas_limits.l2_gas = 333; + + builder.global_variables.gas_fees = GasFees::new(100, 100); + + builder.tx_context.gas_settings.max_fees_per_gas = GasFees::new(150, 150); + + builder.tx_context.gas_settings.max_priority_fees_per_gas = GasFees::new(100, 100); + + builder.effective_gas_fees = GasFees::new(150, 150); + + builder.append_note_hashes(2); + + builder.append_nullifiers(3); + + builder.append_l2_to_l1_msgs(1); + + builder.append_public_call_requests(2); + + builder.end_setup(); + + builder.append_note_hashes(1); + + builder.append_nullifiers(1); + + builder.append_l2_to_l1_msgs(2); + + builder.append_public_call_requests(3); + + builder.set_public_teardown_call_request(); + + let private_tail_public_inputs = + builder.to_private_to_public_kernel_circuit_public_inputs(); + let public_tube_proof_data = + FixtureBuilder::make_proof_data(private_tail_public_inputs, PUBLIC_TUBE_VK_INDEX); + + let avm_proof_data = builder.to_avm_proof_data(); + + let block_constant_data = builder.to_block_constant_data(); + + let archive_root_membership_witness = builder.archive_root_membership_witness; + + PublicTxBaseTestBuilder { + public_tube_proof_data, + avm_proof_data, + block_constant_data, + archive_root_membership_witness, + } + } + + pub fn validate(self) { + PublicTxBaseInputsValidator::new( + self.public_tube_proof_data, + self.avm_proof_data, + self.block_constant_data, + self.archive_root_membership_witness, + ) + .validate(); + } +} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tx_base/validate_private_tail_against_avm_tests.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tx_base/validate_private_tail_against_avm_tests.nr new file mode 100644 index 000000000000..47261b3a14c6 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tx_base/validate_private_tail_against_avm_tests.nr @@ -0,0 +1,250 @@ +use super::PublicTxBaseTestBuilder; +use dep::types::abis::{gas_fees::GasFees, gas_settings::GasSettings}; + +impl PublicTxBaseTestBuilder { + pub fn equal_default_avm_gas_limits(self, gas_settings: GasSettings) -> bool { + let default_gas_settings = + self.public_tube_proof_data.public_inputs.constants.tx_context.gas_settings; + (gas_settings.gas_limits.l2_gas == default_gas_settings.gas_limits.l2_gas) + & ( + gas_settings.teardown_gas_limits.l2_gas + == default_gas_settings.teardown_gas_limits.l2_gas + ) + } + + pub fn equal_default_avm_effective_gas_fees(self, effective_gas_fees: GasFees) -> bool { + let default_effective_gas_fees = self.avm_proof_data.public_inputs.effective_gas_fees; + (effective_gas_fees.fee_per_l2_gas == default_effective_gas_fees.fee_per_l2_gas) + & (effective_gas_fees.fee_per_da_gas == default_effective_gas_fees.fee_per_da_gas) + } +} + +#[test] +fn validate_private_tail_against_avm_success() { + let builder = PublicTxBaseTestBuilder::new(); + + // Make sure equal_default_avm_gas_limits returns true for the default avm gas settings. + // Values not equal to the default will be tested in the test: mismatch_gas_limits_fails. + let avm_gas_settings = builder.avm_proof_data.public_inputs.gas_settings; + assert(builder.equal_default_avm_gas_limits(avm_gas_settings)); + + builder.validate(); +} + +#[test(should_fail_with = "gas_used mismatch between private and avm")] +fn mismatch_start_l2_gas_used_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.start_gas_used.l2_gas += 1; + + builder.validate(); +} + +#[test(should_fail_with = "gas_used mismatch between private and avm")] +fn mismatch_start_d2_gas_used_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.start_gas_used.da_gas += 1; + + builder.validate(); +} + +#[test(should_fail_with = "unexpected gas settings used in the AVM")] +fn mismatch_gas_limits_fails(avm_gas_settings: GasSettings) { + let mut builder = PublicTxBaseTestBuilder::new(); + + // Run the test only when the avm_gas_settings does not equal the default. + if !builder.equal_default_avm_gas_limits(avm_gas_settings) { + builder.avm_proof_data.public_inputs.gas_settings = avm_gas_settings; + builder.validate(); + } else { + // Fail with the expected error message if we are not testing the input. + assert(false, "unexpected gas settings used in the AVM"); + } +} + +#[test(should_fail_with = "unexpected effective gas fees used in the AVM")] +fn mismatch_effective_gas_fees_fails(effective_gas_fees: GasFees) { + let mut builder = PublicTxBaseTestBuilder::new(); + + if !builder.equal_default_avm_effective_gas_fees(effective_gas_fees) { + builder.avm_proof_data.public_inputs.effective_gas_fees = effective_gas_fees; + builder.validate(); + } else { + // Fail with the expected error message if we are not testing the input. + assert(false, "unexpected effective gas fees used in the AVM"); + } +} + +#[test(should_fail_with = "fee_payer mismatch between private and avm")] +fn mismatch_fee_payer_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.fee_payer.inner += 1; + + builder.validate(); +} + +#[test(should_fail_with = "non-revertible public_call_requests mismatch between private and avm")] +fn mismatch_non_revertible_public_call_requests_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.public_setup_call_requests[1].contract_address.inner += 1; + + builder.validate(); +} + +#[test(should_fail_with = "non-revertible public_call_requests array length mismatch between private and avm")] +fn mismatch_non_revertible_public_call_requests_length_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.public_call_request_array_lengths.setup_calls += 1; + + builder.validate(); +} + +#[test(should_fail_with = "revertible public_call_requests mismatch between private and avm")] +fn mismatch_revertible_public_call_requests_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.public_app_logic_call_requests[0].contract_address.inner += + 1; + + builder.validate(); +} + +#[test(should_fail_with = "revertible public_call_requests array length mismatch between private and avm")] +fn mismatch_revertible_public_call_requests_length_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.public_call_request_array_lengths.app_logic_calls += 1; + + builder.validate(); +} + +#[test(should_fail_with = "public_teardown_call_request mismatch between private and avm")] +fn mismatch_public_teardown_call_request_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.public_teardown_call_request.contract_address.inner += 1; + + builder.validate(); +} + +#[test(should_fail_with = "non-revertible note_hashes mismatch between private and avm")] +fn mismatch_non_revertible_note_hashes_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.note_hashes[0] += + 1; + + builder.validate(); +} + +#[test(should_fail_with = "non-revertible note_hashes array length mismatch between private and avm")] +fn mismatch_non_revertible_note_hashes_length_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data_array_lengths.note_hashes += + 1; + + builder.validate(); +} + +#[test(should_fail_with = "non-revertible nullifiers mismatch between private and avm")] +fn mismatch_non_revertible_nullifiers_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.nullifiers[0] += + 1; + + builder.validate(); +} + +#[test(should_fail_with = "non-revertible nullifiers array length mismatch between private and avm")] +fn mismatch_non_revertible_nullifiers_length_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data_array_lengths.nullifiers += + 1; + + builder.validate(); +} + +#[test(should_fail_with = "non-revertible l2_to_l1_msgs mismatch between private and avm")] +fn mismatch_non_revertible_l2_to_l1_msgs_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data.l2_to_l1_msgs[0].inner.content += + 1; + + builder.validate(); +} + +#[test(should_fail_with = "non-revertible l2_to_l1_msgs array length mismatch between private and avm")] +fn mismatch_non_revertible_l2_to_l1_msgs_length_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.previous_non_revertible_accumulated_data_array_lengths.l2_to_l1_msgs += + 1; + + builder.validate(); +} + +#[test(should_fail_with = "revertible note_hashes mismatch between private and avm")] +fn mismatch_revertible_note_hashes_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.previous_revertible_accumulated_data.note_hashes[0] += 1; + + builder.validate(); +} + +#[test(should_fail_with = "revertible note_hashes array length mismatch between private and avm")] +fn mismatch_revertible_note_hashes_length_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.previous_revertible_accumulated_data_array_lengths.note_hashes += + 1; + + builder.validate(); +} + +#[test(should_fail_with = "revertible nullifiers mismatch between private and avm")] +fn mismatch_revertible_nullifiers_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.previous_revertible_accumulated_data.nullifiers[0] += 1; + + builder.validate(); +} + +#[test(should_fail_with = "revertible nullifiers array length mismatch between private and avm")] +fn mismatch_revertible_nullifiers_length_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.previous_revertible_accumulated_data_array_lengths.nullifiers += + 1; + + builder.validate(); +} + +#[test(should_fail_with = "revertible l2_to_l1_msgs mismatch between private and avm")] +fn mismatch_revertible_l2_to_l1_msgs_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.previous_revertible_accumulated_data.l2_to_l1_msgs[0].inner.content += + 1; + + builder.validate(); +} + +#[test(should_fail_with = "revertible l2_to_l1_msgs array length mismatch between private and avm")] +fn mismatch_revertible_l2_to_l1_msgs_length_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.avm_proof_data.public_inputs.previous_revertible_accumulated_data_array_lengths.l2_to_l1_msgs += + 1; + + builder.validate(); +} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tx_base/validate_private_tail_tests.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tx_base/validate_private_tail_tests.nr new file mode 100644 index 000000000000..437f45d9e3b0 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/base/tests/public_tx_base/validate_private_tail_tests.nr @@ -0,0 +1,50 @@ +use super::PublicTxBaseTestBuilder; +use types::constants::AVM_MAX_PROCESSABLE_L2_GAS; + +#[test] +fn validate_private_tail_success() { + let builder = PublicTxBaseTestBuilder::new(); + builder.validate(); +} + +#[test(should_fail_with = "da gas is higher than the maximum specified by the tx")] +fn not_enough_fee_per_da_gas_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.public_tube_proof_data.public_inputs.constants.tx_context.gas_settings.max_fees_per_gas.fee_per_da_gas = + 3; + builder.block_constant_data.global_variables.gas_fees.fee_per_da_gas = 4; + + builder.validate(); +} + +#[test(should_fail_with = "l2 gas is higher than the maximum specified by the tx")] +fn not_enough_fee_per_l2_gas_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.public_tube_proof_data.public_inputs.constants.tx_context.gas_settings.max_fees_per_gas.fee_per_l2_gas = + 3; + builder.block_constant_data.global_variables.gas_fees.fee_per_l2_gas = 4; + + builder.validate(); +} + +#[test(should_fail_with = "tx include_by_timestamp is smaller than block timestamp")] +fn include_by_timestamp_lower_than_block_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.public_tube_proof_data.public_inputs.include_by_timestamp = + builder.block_constant_data.global_variables.timestamp - 1; + + builder.validate(); +} + +#[test(should_fail_with = "l2 gas limit exceeds max processable l2 gas")] +fn gas_settings_l2_gas_limit_exceeds_max_processable_l2_gas_fails() { + let mut builder = PublicTxBaseTestBuilder::new(); + + builder.public_tube_proof_data.public_inputs.constants.tx_context.gas_settings.gas_limits.l2_gas = + AVM_MAX_PROCESSABLE_L2_GAS + 1; + + builder.validate(); +} diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-merge/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-merge/Prover.toml index a536ddaf03fc..545e5368b20b 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-merge/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-merge/Prover.toml @@ -2,61 +2,61 @@ [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -accumulated_fees = "0x000000000000000000000000000000000000000000000000000000000c14f47c" -accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000001db6" +accumulated_fees = "0x00000000000000000000000000000000000000000000000000000000076b7680" +accumulated_mana_used = "0x000000000000000000000000000000000000000000000000000000000000ca9c" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants] - vk_tree_root = "0x1f8cde81e0c5165be68b2c47089d558a335abff180d3369d351ad6aac4e73ecd" - protocol_contract_tree_root = "0x18eb72d449788231796808c5a8c66b8611b36598807bc2b42c8f554d397b1052" + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" + protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.last_archive] - root = "0x11ec690ae2d1a79033acbde89cb053a6bfeb7713fdc47a18b28fde85057afb4d" + root = "0x12498e332d57f0de3b86eb72c1bd98d08267e07d671919591a00bb0d07ebf0a3" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.new_l1_to_l2] root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000070" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000080" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c602b" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff8e8" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000960" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start.note_hash_tree] -root = "0x23a867ffb112975110c854e2d3c633633c8d9e23220d7b2d690d6d46e74649cb" +root = "0x1b38d276fe2d1a841943b41ca9fb6daa8275a2d65df61bea3fd05ec08f8939f2" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000001c0" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start.nullifier_tree] -root = "0x27f16503a63a968d5f68e14c0fc7aa70453441058b835373106e037e33e00215" +root = "0x044ff555a174bb852ac08924a95e7b7f2445593f6241d1bc107f38390ad0c3d9" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start.public_data_tree] -root = "0x0bc67cc22a460e130915b1ae1698ac363a1bd9f17429ce681b2bb239b4c6ef48" +root = "0x1eaee5566abe82f66645734d6e98ae17726172b6b46cbc5bcc60b8e4a2705bd5" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end.note_hash_tree] -root = "0x1b8d3ef26ee242374b017057c7ba4d8432d8e9d25e420b17e29e2519abb38729" +root = "0x1b38d276fe2d1a841943b41ca9fb6daa8275a2d65df61bea3fd05ec08f8939f2" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end.nullifier_tree] -root = "0x2dda2ead99b1076b3febb5a62861de5e553f0ef16a16a7c20eea6a10f6445fcc" +root = "0x28a27f5a7587f8bacaf9691c814459fef13de8b5fd23f9b3404db32a7ac42d50" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end.public_data_tree] -root = "0x1bb7a760337fde8737eaf497115aa7162f5a9a68521b2bfb6043e3479e7412e9" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" +root = "0x27daca54ccd8fd47a70f67ba07599e1ad43609b660eb502e1b51aaa8dd3e4361" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start_sponge_blob] fields = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -78,22 +78,22 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 squeeze_mode = false [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end_sponge_blob] - fields = "0x0000000000000000000000000000000000000000000000000000000000000047" + fields = "0x000000000000000000000000000000000000000000000000000000000000000c" expected_fields = "0x000000000000000000000000000000000000000000000000000000000000005d" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end_sponge_blob.sponge] cache = [ - "0x0015770ac035c2f2fea8dc5b11cf2d079855f916d85cd64c15284924c9c0d7c9", - "0x00371b09b765016f767ab168b21f2bd36f0297aa29d489a6bb07b65bb2792caa", - "0x00be71946bbca10a007c8191bfd97ada74b6a6d34a1358c481d0b9fb5e694455" + "0x00000000000000000000000000000000000000000000000000000000000003e8", + "0x12c621c4f70a13c7d8c6f48f36d0cc48eb26c3467def465d37b24a944c3e4717", + "0x00000000000000000000000000000000000000000000021e19e0c9b7e48a5252" ] state = [ - "0x08148064d407f526721a0ab98bec1448aec9de20e1209aec773eefbb61df573c", - "0x07f7fe4733e7895e8d73d1f2fefa2b279364d5ba64d5d80a7927407ec0379b63", - "0x2a304be28387201d3766fb7ebdb9aca474c7689fd273d1e340d0392688f7b828", - "0x0a5b3024303ab621aaad42d1ed6e89f5a79b928903651337dd49b4bd2274cdbd" + "0x2644124ce92563527f8cf7d756a35f9db4a89305ea0d17ea560ab093f65ec06f", + "0x151fe65f266a905ca5fa86bb22b0670197f19f30498c66e513be796e42aaae9d", + "0x1dbfb8a31e80d58b17d1b5f0ef77aee2ad6280b1cce6962cee50ed113682a754", + "0x1e00bc9ba2abae5e09e5521bf8a4f3cc0b18b0a061c34aaf2e962590eaf184d3" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false [inputs.previous_rollup_data.proof] @@ -636,109 +636,109 @@ fields = [ ] [inputs.previous_rollup_data.vk_data] -leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" +leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0eb38a992af66d58c9704d31dc97f34c30055982b7ea0536e6327c29906b82b9", - "0x2d76090d4fe5ed81cd1d3de86cab537580a957f2dcdf69c8f14f5a1821455040", - "0x1e666d9cdf70e3f69df41e43b2bf64c3b82da16d6960159969bf63a06bb8a930", - "0x2ceb8c9f55a85f4b5c8c7795bf162b303e2ce1d86bba80ef5a37f045df17273f", - "0x2ac35a585f37cd8b1e9ab4423155da6325d6a2406f6ed8d4fff29af478a2783c" + "0x27559a38f94b5eba1367360dda8740a61582c79802d8dc0fb4f978efade9ba3f", + "0x2bd4ba948df9b5d6a4708cb7814c13adca0c2ba6d5aed058a6c4c51736d51777", + "0x109e1fd3da69890291cadb6b7275a33e89b4970e1856956a971a4b202c42d427", + "0x12c49ef7f7f08c55efc7e39b04e211b63667eaa18ba622a01ee645ba2ce79842", + "0x2e4e5b7e23ac6533333c43f70db2a3c699240ba4adc372b2a3d13a000b41199c", + "0x1cb36c900588afc3a59d2d9c4b45ae89b78611c0b8ae393f0f3776887d40ce60" ] [inputs.previous_rollup_data.vk_data.vk] key = [ - "0x0000000000000000000000000000000000000000000000000000000000000015", + "0x0000000000000000000000000000000000000000000000000000000000000017", "0x000000000000000000000000000000000000000000000000000000000000004f", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000003f6c59c64c2d6474bbfb7e88559158d3b0", - "0x00000000000000000000000000000000002c08e678ea43d3f3c26847c72c8592", - "0x0000000000000000000000000000007f4f6c0d0e3f6c284d87ebd087f8c0c647", - "0x000000000000000000000000000000000003ef5d722933b8efdac55b1216a680", - "0x0000000000000000000000000000009bc3a4dad8a2d6a8b6e822d7f651fc4885", - "0x00000000000000000000000000000000001ae3d218aae5742fd5ebdf09b18830", - "0x000000000000000000000000000000eebd0f16b8595a46cff4df2b8a53f42ced", - "0x000000000000000000000000000000000027ca743ffcde8bd25f034bbe8fa54b", - "0x00000000000000000000000000000053ed306cf587e8b6c8a8ed79436826bf8c", - "0x000000000000000000000000000000000017a6b87ce39494a3d7450f4d3e55e0", - "0x000000000000000000000000000000a6949f6d11dedcf819fc71d214d477be37", - "0x000000000000000000000000000000000014f273760ecd9e0c3badd398fdb153", - "0x0000000000000000000000000000008c7f91ba0926a60b2c83f13dd2c4fbb195", - "0x00000000000000000000000000000000002c730e68ba518d06ca4fea1d7cb741", - "0x000000000000000000000000000000a08fc6c63273c6bb52000fb823b211ef41", - "0x000000000000000000000000000000000009e15e46b360d9ad8d2ebb7e2028ba", - "0x000000000000000000000000000000739ffae4a116a59bf80ab5b848697c0685", - "0x00000000000000000000000000000000000284fd60c1e8712a130ae12592f49f", - "0x000000000000000000000000000000ea359d3b672d6d3a0168f913a50c5142da", - "0x000000000000000000000000000000000016711020c6e30750d2e97dec6f2a23", - "0x000000000000000000000000000000ff5e410201e4dc8e7e56d2471286963eee", - "0x00000000000000000000000000000000002cf356690825d9fb4637362d18f9e8", - "0x00000000000000000000000000000071538a1005a728de7398cd7fe5d6967da6", - "0x00000000000000000000000000000000001626f1005672cdab22ad1464b60aeb", + "0x000000000000000000000000000000c1fc0f1a04f37184c8120f8bacbe879616", + "0x00000000000000000000000000000000001e33872690d662b888b0bb3f9937c9", + "0x0000000000000000000000000000007b1b6729bae0cb7b097dd20814ee1dc19c", + "0x000000000000000000000000000000000012e876d2b3b949c29547265fbd6892", + "0x0000000000000000000000000000002bbe63d7ea942acd8553bd5ab125b8ac95", + "0x0000000000000000000000000000000000302f809f1feed9209a48edab1646d1", + "0x00000000000000000000000000000098c8e02885831612adb863b27cab78e29d", + "0x0000000000000000000000000000000000077a79bd19795b6df654c7b7d4ef7c", + "0x00000000000000000000000000000078075bedb77739db6e8c283ee6726596d5", + "0x000000000000000000000000000000000022abaeda6e090003341706d1de9a83", + "0x0000000000000000000000000000005e33ab2cc870ad33ca98f2547e664110f9", + "0x000000000000000000000000000000000021cfcf770ec919aa66abe0dd093fbb", + "0x00000000000000000000000000000025edca77141ef1d1d1b8adc4148dc3c96e", + "0x000000000000000000000000000000000011505bd98b189c3bd19ca787b65c99", + "0x0000000000000000000000000000009068fa331074986c23cf1d6aeaaf2ce695", + "0x000000000000000000000000000000000012fd4f321fe24213388c4fc8cfdef5", + "0x000000000000000000000000000000a9c6eb7820868aa0405c5fa6927bf3b304", + "0x000000000000000000000000000000000027f6abff28f3da072e41d1fac3eb7c", + "0x000000000000000000000000000000bf15262695f647628580d0ba3ae1178413", + "0x000000000000000000000000000000000003b66eab4e6c7b020e6299831b665d", + "0x000000000000000000000000000000e83feb84c1481cd6008cc3f945940e44e2", + "0x000000000000000000000000000000000025405ddf0333e9ace8f53fe1178324", + "0x000000000000000000000000000000988895a7a2a0b46f5978364a62005e0a22", + "0x00000000000000000000000000000000002b3425faf95d9fc62fe5a392ef42d9", "0x0000000000000000000000000000005fa6944db4698d60cf6be6054186540688", "0x000000000000000000000000000000000017826c0533eb09c337e11b9200d4e4", "0x000000000000000000000000000000a9367676cb541df127773a1703235e3ccb", "0x00000000000000000000000000000000001ce4b4c309d2494ace7aa4f00bc406", - "0x0000000000000000000000000000006c619cbea5a165474ed3a9dcd657f2df31", - "0x000000000000000000000000000000000026ef69d7011712516f293cf18e797a", - "0x00000000000000000000000000000087d45d87ec406e709364c0543503063a19", - "0x00000000000000000000000000000000001204b4b529d41cd0316eafbe4fb1f4", - "0x0000000000000000000000000000005f24adad6668fdf1b203b5319be1c55a16", - "0x000000000000000000000000000000000013341b2293820c4e6665ec9113e986", - "0x000000000000000000000000000000f67896e8ec16872c6ecef12f2196dae558", - "0x00000000000000000000000000000000000cfea9fc993829bab83cc23f0aa3ba", - "0x000000000000000000000000000000e52062b32d706d8efbe778348e44113e86", - "0x00000000000000000000000000000000002585f958ff5b5504fbb29e9b0cf192", - "0x000000000000000000000000000000e6431e878ba529c7dc4088badf2b81e1cf", - "0x000000000000000000000000000000000019d3ecbc55c721efffd1191293c87f", - "0x0000000000000000000000000000009e154768de9669057b20083e6070117f58", - "0x0000000000000000000000000000000000015c6ac3d7341f07a93f04b1c43602", - "0x000000000000000000000000000000e3857b7e9455b355bd1f897c0a5b4bc789", - "0x00000000000000000000000000000000001dcef65a7c0f14724c24bcd3c6aa24", - "0x0000000000000000000000000000000a0b0a86662eb24d83194fe9f75f30b96c", - "0x00000000000000000000000000000000000336c2b2095ef13bf76f6479f90c71", - "0x000000000000000000000000000000da20803b46bedba864bf716f6357f33bed", - "0x000000000000000000000000000000000023e9e7d9ec200a407e747ed01cbab0", - "0x0000000000000000000000000000008f8ae4ef444f2b0d72a34538be8f59e315", - "0x0000000000000000000000000000000000207e7283004150529fc0da662218c3", - "0x000000000000000000000000000000a238e611fc826c6ca52369f0a647138186", - "0x0000000000000000000000000000000000098eeccae19869740174b463f20f80", - "0x00000000000000000000000000000097fec8a056bf91a4bbc7204ea46d39daf5", - "0x0000000000000000000000000000000000124697a1282e615792d3a94deab859", - "0x000000000000000000000000000000845339666bccf6bde1f81322306bf64384", - "0x00000000000000000000000000000000001ddab939de026c3793e1e41c53c4b4", - "0x000000000000000000000000000000ee70b46aa8880003f35a13029f909eb5cc", - "0x00000000000000000000000000000000002dacd4d4283662006ac05c4f1565e3", - "0x0000000000000000000000000000005c20102da62c9fdff60c74ec3df16b6d75", - "0x00000000000000000000000000000000001f6db120182c717e5b8e517a16d65d", - "0x000000000000000000000000000000b54b075048f5bd277eefd7ac9c57504a37", - "0x000000000000000000000000000000000009f53eaca614a6126df6034d43ad00", - "0x00000000000000000000000000000084c3be4f237a5e350a87f68f39b9c27a99", - "0x00000000000000000000000000000000000554b5931e5ea4e8f56b3553831b7f", - "0x000000000000000000000000000000a7d4d2afeee3e7415f4a8f599b1ba56d88", - "0x0000000000000000000000000000000000082a35e9bb3e6c423a7e7ba8000767", - "0x000000000000000000000000000000d9005adb47394ef67e926f8cb90f79ba78", - "0x00000000000000000000000000000000002a6327c3f56531d48fc324c586d584", - "0x00000000000000000000000000000008037c74e15c07b756d1c3542734b142e1", - "0x000000000000000000000000000000000004954f31569eddc849f686c025a087", - "0x000000000000000000000000000000bf5be0a64f8580e91ab7828030f8573958", - "0x00000000000000000000000000000000002b617365a118ada4f9a66ac30dff78", - "0x000000000000000000000000000000495a6ca0e10020b577b4728af7c39d854f", - "0x00000000000000000000000000000000001bb33d6d4c9f4158a270ae57d2cf17", - "0x000000000000000000000000000000f814de60ab0ec2ed38aa098b68caf246f8", - "0x000000000000000000000000000000000022fbb80e6575b23374c6c676d46243", - "0x000000000000000000000000000000bb20c7ab8a42be23ab588a4a9fedcee1b1", - "0x0000000000000000000000000000000000206d359eacc286574a8a871cac428f", - "0x000000000000000000000000000000fb1f0c3b5bf17306c88fc31fdbe77c49e3", - "0x000000000000000000000000000000000010ae0715f941db273720804f1989c5", - "0x000000000000000000000000000000c72fb09b594be29d61cb66d33fb15b6d37", - "0x00000000000000000000000000000000001b62bcda7f12328967cc63b887a3c1", - "0x0000000000000000000000000000005e00c09f66b94a554dfd5ed4c9eaeae475", - "0x0000000000000000000000000000000000104ad75e7bd7ce89cead0610c9a166", - "0x0000000000000000000000000000008deb34e784a37e3d7276e7185986a11529", - "0x000000000000000000000000000000000001a8e08e2936bb055cdf595d185fbc", - "0x000000000000000000000000000000c9918faa502de78c1e5f01319cdaa0aec2", - "0x000000000000000000000000000000000020e768b996057b082dca0939983694", + "0x000000000000000000000000000000019037c202eaee2ea916d863732172800d", + "0x000000000000000000000000000000000022c2c23df484ae0a34a614ee5ecf5c", + "0x000000000000000000000000000000462c4964618533d774b16e27755a0137c6", + "0x00000000000000000000000000000000001388ef72fd2317c5b92ab6f9f743ff", + "0x000000000000000000000000000000f761a8d9a15439d1f0aecacff2c96ab566", + "0x00000000000000000000000000000000001d06bfba35cc8c031b31d96b368405", + "0x0000000000000000000000000000005a295c292f3e18d0bf5e86d834c363748a", + "0x000000000000000000000000000000000027e4f2f4a063dec0c1ecd36b89c50a", + "0x000000000000000000000000000000a419dd4dc39e0274c0958df9d8a526051c", + "0x00000000000000000000000000000000002a55b54e2445cbf9dd7e47c0721596", + "0x00000000000000000000000000000057c4dafdc41d6c5fcc3e56399e7ae7cac8", + "0x00000000000000000000000000000000001797c0866b1ec5f1e556afae5dc1b1", + "0x000000000000000000000000000000c441fd140d046ab7a47c2ce9153f9b4d91", + "0x00000000000000000000000000000000002d73fd8bc0b4fa14c02210aa9f77d2", + "0x00000000000000000000000000000005ae91f6546efd85ec58441f914c785160", + "0x000000000000000000000000000000000014e1b596b8751fbd26ae36c0dcca79", + "0x00000000000000000000000000000044b98c7aa5f22d907bccd65645257d9734", + "0x00000000000000000000000000000000000bb87a68b5c9f5a0835b265dd5c6a1", + "0x00000000000000000000000000000036a41fffbb40fe4f107afcdf8bf08b4a97", + "0x00000000000000000000000000000000001fa646a222f6a3c6b829389d33075b", + "0x000000000000000000000000000000482b770e82b56f0b9482ae669e6d4884d2", + "0x00000000000000000000000000000000001d4b5e54af385442175eb54456076a", + "0x0000000000000000000000000000005339acdc3c75eb4cbfbfab6c6fdf0ab9e5", + "0x00000000000000000000000000000000002506c9169277aa05c8ee1e46c08e72", + "0x00000000000000000000000000000070e74581574b3a028013dd80398ab7160c", + "0x0000000000000000000000000000000000122f2cdff188b4cd972b441cabf09a", + "0x0000000000000000000000000000003b1c9628b12d694dc2151b100e69c59cd7", + "0x000000000000000000000000000000000013843d667ddb0149f3eedf7f47f2e9", + "0x000000000000000000000000000000f5a039669f374ca485fa89f3fb2de9fa68", + "0x000000000000000000000000000000000006ab20b5965d42926ac723caff8dcb", + "0x000000000000000000000000000000b771b43e59974353ce0be7cf656a13c8bd", + "0x00000000000000000000000000000000001788c20fed3bea9daff383a83befa9", + "0x000000000000000000000000000000eebf5e824828c681e8408177334ac425fb", + "0x00000000000000000000000000000000002cf8955fdaaa87c4712381541a8614", + "0x000000000000000000000000000000f948f6a37cb6730c1b2bcb9f9e7a164d33", + "0x0000000000000000000000000000000000252bdced7e1d8f0c3428bb7f8736a0", + "0x0000000000000000000000000000008b39aaffefe33801d0027cc02c2df7a424", + "0x000000000000000000000000000000000015fa9ec2fdb30f638db2b73c857433", + "0x0000000000000000000000000000005f91d42c5c93fe37157ed83f57c876e5a5", + "0x00000000000000000000000000000000001c913a6a4398528a9e03c6513f551c", + "0x000000000000000000000000000000b06995d05dfef3ebbd6d1ad22357936421", + "0x00000000000000000000000000000000001b2e6ee11344e3748b31a7c2612b8b", + "0x000000000000000000000000000000d7c54321d675a5c53e0d8184136a4441a1", + "0x00000000000000000000000000000000002afa8c980c1827cd7e19b11cc5820f", + "0x0000000000000000000000000000000502f3d259d52885d132f33778b6b904db", + "0x00000000000000000000000000000000001f2d5459028c35d9db2d429537543f", + "0x0000000000000000000000000000009b7e3f4994cc75abe29e486952b40521c0", + "0x00000000000000000000000000000000001b3d96d79b6e1bf07b85bce9c4c8ed", + "0x00000000000000000000000000000085d9b09e3616c8be1d936a14b066dde0b1", + "0x0000000000000000000000000000000000183679819399862b357637e6700692", + "0x00000000000000000000000000000061d7c5a462c4bda20402239ca1a7541ff6", + "0x000000000000000000000000000000000009f1dfab14eba6b467aab0d9aedc9f", + "0x0000000000000000000000000000008407de7cbeba44fd644f5a7a2ac9ff4282", + "0x000000000000000000000000000000000014f1144f0617803c6f7e99be94fa8a", + "0x000000000000000000000000000000a6ad8242008378427495a83c81b601950d", + "0x000000000000000000000000000000000029520daf4a4865d2f752f73fc96e69", + "0x0000000000000000000000000000007cdb35acc3128f829cd34b0a69804358b9", + "0x00000000000000000000000000000000001292d189bd0214546afbcd7c34a1fd", + "0x0000000000000000000000000000008544707f655500ba23e35dbe71309f26af", + "0x000000000000000000000000000000000026d4c5105d10efb5a61bbb5fbce196", "0x0000000000000000000000000000007efa390a6b36c5e3c5aa3690ebfc66fc21", "0x0000000000000000000000000000000000131fc65a69d1ad3cb3ef3ee85a29a0", "0x000000000000000000000000000000e9d28af119c9ab6ef78af21bc294ab983c", @@ -759,90 +759,90 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000412b1618325c43ecf77911249fbe46c4a8", - "0x00000000000000000000000000000000000550c8d025004ff9a25917e30f8858", - "0x00000000000000000000000000000070bf099eb0f135f06ccacfa62cfae6a755", - "0x00000000000000000000000000000000002b0a18f98b3d6557e180ef82d9496a" + "0x0000000000000000000000000000000d0824dfd8cf20248760e3cffd72166bc6", + "0x00000000000000000000000000000000002b1d02618920bb97e8246e908963f2", + "0x000000000000000000000000000000a8913e9c73b4d63d8d49044c5d9646409e", + "0x00000000000000000000000000000000003000261a957faa3b82a04ea146c974" ] - hash = "0x1345c5b1032fe9a54f6c2df49ae7b284b1d73780d83c9af9bc022fd1c882afa0" + hash = "0x134208855ae2bdd8f9da707c8c37248f9f1b1910ada6bcb10ea7a25632775cbb" [[inputs.previous_rollup_data]] [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" -accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000054b12f02" -accumulated_mana_used = "0x000000000000000000000000000000000000000000000000000000000000d045" +accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000001168a40" +accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000001db6" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants] - vk_tree_root = "0x1f8cde81e0c5165be68b2c47089d558a335abff180d3369d351ad6aac4e73ecd" - protocol_contract_tree_root = "0x18eb72d449788231796808c5a8c66b8611b36598807bc2b42c8f554d397b1052" + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" + protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.last_archive] - root = "0x11ec690ae2d1a79033acbde89cb053a6bfeb7713fdc47a18b28fde85057afb4d" + root = "0x12498e332d57f0de3b86eb72c1bd98d08267e07d671919591a00bb0d07ebf0a3" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.new_l1_to_l2] root = "0x2e33ee2008411c04b99c24b313513d097a0d21a5040b6193d1f978b8226892d6" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000070" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000080" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c602b" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff8e8" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000960" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start.note_hash_tree] -root = "0x1b8d3ef26ee242374b017057c7ba4d8432d8e9d25e420b17e29e2519abb38729" +root = "0x1b38d276fe2d1a841943b41ca9fb6daa8275a2d65df61bea3fd05ec08f8939f2" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start.nullifier_tree] -root = "0x2dda2ead99b1076b3febb5a62861de5e553f0ef16a16a7c20eea6a10f6445fcc" +root = "0x28a27f5a7587f8bacaf9691c814459fef13de8b5fd23f9b3404db32a7ac42d50" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start.public_data_tree] -root = "0x1bb7a760337fde8737eaf497115aa7162f5a9a68521b2bfb6043e3479e7412e9" -next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008a" +root = "0x27daca54ccd8fd47a70f67ba07599e1ad43609b660eb502e1b51aaa8dd3e4361" +next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end.note_hash_tree] -root = "0x1b8d3ef26ee242374b017057c7ba4d8432d8e9d25e420b17e29e2519abb38729" +root = "0x08fb10578c3c664f5b199352437c69751aaac02b79ca047bef3269d2469f53e6" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end.nullifier_tree] -root = "0x1db604a9344585b3fdae5bca0c509dc195f26d4eea2140546909ce954a6e7691" +root = "0x283b7e70fbc3680d4937d8cff8d951d439d6907fcb03bb36d8419a9a11fcbe69" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end.public_data_tree] -root = "0x1cbebfdf6733350d893da5499af2522c57c70f2f4258b7094a28fe76b7f97436" +root = "0x127c645bb2ebc33b0166e33339b693cab9c5c8f74de48c61624a56149dec500a" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start_sponge_blob] - fields = "0x0000000000000000000000000000000000000000000000000000000000000047" + fields = "0x000000000000000000000000000000000000000000000000000000000000000c" expected_fields = "0x000000000000000000000000000000000000000000000000000000000000005d" [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.start_sponge_blob.sponge] cache = [ - "0x0015770ac035c2f2fea8dc5b11cf2d079855f916d85cd64c15284924c9c0d7c9", - "0x00371b09b765016f767ab168b21f2bd36f0297aa29d489a6bb07b65bb2792caa", - "0x00be71946bbca10a007c8191bfd97ada74b6a6d34a1358c481d0b9fb5e694455" + "0x00000000000000000000000000000000000000000000000000000000000003e8", + "0x12c621c4f70a13c7d8c6f48f36d0cc48eb26c3467def465d37b24a944c3e4717", + "0x00000000000000000000000000000000000000000000021e19e0c9b7e48a5252" ] state = [ - "0x08148064d407f526721a0ab98bec1448aec9de20e1209aec773eefbb61df573c", - "0x07f7fe4733e7895e8d73d1f2fefa2b279364d5ba64d5d80a7927407ec0379b63", - "0x2a304be28387201d3766fb7ebdb9aca474c7689fd273d1e340d0392688f7b828", - "0x0a5b3024303ab621aaad42d1ed6e89f5a79b928903651337dd49b4bd2274cdbd" + "0x2644124ce92563527f8cf7d756a35f9db4a89305ea0d17ea560ab093f65ec06f", + "0x151fe65f266a905ca5fa86bb22b0670197f19f30498c66e513be796e42aaae9d", + "0x1dbfb8a31e80d58b17d1b5f0ef77aee2ad6280b1cce6962cee50ed113682a754", + "0x1e00bc9ba2abae5e09e5521bf8a4f3cc0b18b0a061c34aaf2e962590eaf184d3" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end_sponge_blob] @@ -851,15 +851,15 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollup_data.base_or_merge_rollup_public_inputs.end_sponge_blob.sponge] cache = [ - "0x274b76afa922d6e0ab9db968b002b6b0c1f3785beb056c736c425501115ff52d", - "0x00000000000000000000000000000000000000000000021e19e0c9b6a77875e8", - "0x00000000000000000000000000000000000000000000000000000000000003e8" + "0x00accc298eb21055ce304659d863e6e0e282ea6fd8642d8f49215c1add90ab0b", + "0x0009f82e8fdedc9320573eed07f4477f0d8943dd0c7862e2c718a331c43856da", + "0x00e095781c684364ce10ce83201dd8c10f8b41fc55388636c5f453354b537e8e" ] state = [ - "0x0ccd1d86333cee9dac31d5cfd66d06438000a400fb26ddcc189d512935f9fd17", - "0x15f5bf935de416aec24a35956f3afe5204f5345283475ac94d2298737095abce", - "0x1d2161ecb166521ec1fe4711c65471198846a17f25e5e2c26190a85e194ade92", - "0x0838e32d7edb6bf48ec182c4ac20d19e1d8086a9efe150a077e4328f9b4eae60" + "0x25be12e28104879780fec05996a0ff63caabac6853e66b0de74217def4b8c1a4", + "0x27dfe07dc9da6f46fa91644f7f9520f69d887eef02c5a879ae7683f7419f635c", + "0x04ea173148c7b3afc724f2d724ca9b154506aaa4b1ace5710fb4ea6590e88499", + "0x1d23ebda3adfd12ff6e8adcfa0379fe344006c076900cfcff3469ffe8dbf7423" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -1404,109 +1404,109 @@ fields = [ ] [inputs.previous_rollup_data.vk_data] -leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" +leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" sibling_path = [ - "0x0c060fa5da19d3e7281db72fdf4d24aacc68569b15ed0ee5c599becddb1a0bf2", - "0x0316525e01c4fe60e92101a57054cb437b48ad85ee2222dfb0b05a834d39d9b6", - "0x2d76090d4fe5ed81cd1d3de86cab537580a957f2dcdf69c8f14f5a1821455040", - "0x1e666d9cdf70e3f69df41e43b2bf64c3b82da16d6960159969bf63a06bb8a930", - "0x2ceb8c9f55a85f4b5c8c7795bf162b303e2ce1d86bba80ef5a37f045df17273f", - "0x2ac35a585f37cd8b1e9ab4423155da6325d6a2406f6ed8d4fff29af478a2783c" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x124df994ea83e86953c74794cdc7160a1d72f7ae8f022bda02fed75c07e0fc7d", + "0x109e1fd3da69890291cadb6b7275a33e89b4970e1856956a971a4b202c42d427", + "0x12c49ef7f7f08c55efc7e39b04e211b63667eaa18ba622a01ee645ba2ce79842", + "0x2e4e5b7e23ac6533333c43f70db2a3c699240ba4adc372b2a3d13a000b41199c", + "0x1cb36c900588afc3a59d2d9c4b45ae89b78611c0b8ae393f0f3776887d40ce60" ] [inputs.previous_rollup_data.vk_data.vk] key = [ - "0x0000000000000000000000000000000000000000000000000000000000000017", + "0x0000000000000000000000000000000000000000000000000000000000000016", "0x000000000000000000000000000000000000000000000000000000000000004f", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000c781b8d0e005ee3f78f786a97e132ecb56", - "0x000000000000000000000000000000000012a3a6758155dcc30991b837b1cc2e", - "0x000000000000000000000000000000df443023c60b22a63e2462a9eb8fed3080", - "0x00000000000000000000000000000000002e4670ee032c9ffd48e3c1ab9fd1c5", - "0x00000000000000000000000000000052ed9835ba2a990b1638f2b23816ec9172", - "0x00000000000000000000000000000000000621c7aa5a5063adcb5996ad81bea1", - "0x00000000000000000000000000000085858a55effb5db2f0bac5e91ea9865c02", - "0x00000000000000000000000000000000000ccd662095a1b6fec9d6498f8407af", - "0x00000000000000000000000000000027b4c5c47b0e3c7d8e11195fac652415ec", - "0x00000000000000000000000000000000001a8535411703d49d4ae3daae81f3c6", - "0x000000000000000000000000000000df81bb2d8502aac6d346a3cb4cc85b29c5", - "0x000000000000000000000000000000000002affa6e4b298b26e572238e9534ec", - "0x000000000000000000000000000000cfdeeb80a8f97deae12204fb9e8a1b8872", - "0x00000000000000000000000000000000000e2482c61f24bd1fa18a621b807d28", - "0x00000000000000000000000000000093518e572c0462106bb3062b24489d2887", - "0x000000000000000000000000000000000004d2edac5301382d58d122769093eb", - "0x000000000000000000000000000000d48cc4b0bc130f32a1f031056411a11e3e", - "0x000000000000000000000000000000000021b81333596c2dd89d7c3f3886d36b", - "0x000000000000000000000000000000c25ee76766008f0b354e547eb99794cfd8", - "0x00000000000000000000000000000000000b25cfdf858bf7a4d42cdc6abf5873", - "0x0000000000000000000000000000003cb18fcbf13b77fc2eaef5a722dc1a55a8", - "0x000000000000000000000000000000000022d3f487c247c4f9c78325f63b0370", - "0x0000000000000000000000000000002e50b8b4a71843bd32ab9c66b99f5492f6", - "0x000000000000000000000000000000000027a6dabee818ad043cdd6a1309482d", + "0x0000000000000000000000000000005752bd0a50b97d96c8adae072aab5367d1", + "0x000000000000000000000000000000000023692f88a34d6156a5fb6d09fcf925", + "0x000000000000000000000000000000f17fee81733ed7da809acdf80f744849c6", + "0x000000000000000000000000000000000007fc5d04fcee415de894c75a511dfc", + "0x0000000000000000000000000000003514ec9c68c93c395167f26a85334a7fe9", + "0x000000000000000000000000000000000017624844c7796183784beec6b0645b", + "0x000000000000000000000000000000ee285e47a3284e8b5bb1146e775e374486", + "0x0000000000000000000000000000000000227570ecb9d732387b6373b7a5384a", + "0x000000000000000000000000000000c04f0f8057a04bfa982560f7065ad976c0", + "0x0000000000000000000000000000000000061c7d8291adfe4d1140fa8dc2b6b7", + "0x000000000000000000000000000000c7928cd97233127adc97c318e0a50d9b17", + "0x00000000000000000000000000000000001e642b4cd0791e674265b35101b882", + "0x000000000000000000000000000000c4e5f45d8d90baf20e02ba32ecc6572b2c", + "0x00000000000000000000000000000000000dce497c8b2fa4b98f98feeff9b0c6", + "0x000000000000000000000000000000f304dab1de848538d3c8f06af0ec16424c", + "0x00000000000000000000000000000000001e2cae981c9a1465feca234df21c22", + "0x0000000000000000000000000000003eed4025173b2c90668b72b8d0a8b9d3a9", + "0x0000000000000000000000000000000000298efadbdf04f9cd86fcc9cd475e2f", + "0x000000000000000000000000000000793c543f6c240257886c6cb21112bdbf27", + "0x00000000000000000000000000000000001a5dd34740243ee844e837aad2396a", + "0x000000000000000000000000000000e910367edce9c5491736075bacd6035a77", + "0x00000000000000000000000000000000000b18f1284b984d0e2e4ab16e4d8c05", + "0x000000000000000000000000000000b7df483c112b1c2a19745866f6ddfb03b1", + "0x00000000000000000000000000000000001a7de96dea1f6105eee6780e69884e", "0x0000000000000000000000000000005fa6944db4698d60cf6be6054186540688", "0x000000000000000000000000000000000017826c0533eb09c337e11b9200d4e4", "0x000000000000000000000000000000a9367676cb541df127773a1703235e3ccb", "0x00000000000000000000000000000000001ce4b4c309d2494ace7aa4f00bc406", - "0x000000000000000000000000000000245187dc09f21c494a1341c8d7d310b2f5", - "0x00000000000000000000000000000000001573d63732b2afabf679418c3fdb31", - "0x000000000000000000000000000000fe4179650eed959bb2c790b1adb732fb3f", - "0x00000000000000000000000000000000000ff45e283bed7a122936a04e4a9ebc", - "0x000000000000000000000000000000ea7961fd8a7f61896dbacf05b35aec7220", - "0x00000000000000000000000000000000000cb38b5fb0e9c16151e27d1c4e149a", - "0x000000000000000000000000000000b3a541065fc5953635d3289c6238ac09ae", - "0x00000000000000000000000000000000002be4c92399966d46b8fea8145e9028", - "0x00000000000000000000000000000054a3f319605619acdf252de64a0e545979", - "0x00000000000000000000000000000000002d5cb8f1f27df861aa6618a4af4613", - "0x0000000000000000000000000000009b6331fa87f2506295dd0063d869809c17", - "0x00000000000000000000000000000000000961bc7458a424a6e82103abc2558b", - "0x000000000000000000000000000000b4088356f25cc1e1762a7ea2781c1ee6c7", - "0x000000000000000000000000000000000012559788914781f1382bbd7f2128c5", - "0x000000000000000000000000000000e729896da8ac15f9cbb14c3eab1717ecfb", - "0x00000000000000000000000000000000000b26632e515c13e47ef18721313a0c", - "0x000000000000000000000000000000b2a6cdce3d4a49957e2fc466ae8097182a", - "0x0000000000000000000000000000000000212b1fe97946f5d841e27d38a9166a", - "0x0000000000000000000000000000001c7232f9ef5d5c240db675cad870d7c2f9", - "0x00000000000000000000000000000000001351e4a0d34a171271f9e8483972de", - "0x000000000000000000000000000000aa28e0db106e4c251e8508693ccc7c2687", - "0x000000000000000000000000000000000014288020795d1351fe534ef28e25c0", - "0x0000000000000000000000000000001ab30badc095ba61135d717dc6eb439ec9", - "0x000000000000000000000000000000000017793dc4d2cf05f3fa7bf0e8ba504f", - "0x000000000000000000000000000000a838c65523cf53509c130c91965a8310a4", - "0x000000000000000000000000000000000003a503d290a3d5b61b3eac85e01f83", - "0x000000000000000000000000000000ef3f48560b6d6333e4a6da72ab9c167ab3", - "0x00000000000000000000000000000000000723848d3c8279cd4d0431f5e238ae", - "0x000000000000000000000000000000b853c30d5a62c8278e8974f6f307628ad7", - "0x0000000000000000000000000000000000043689702527a9e722b32453ecd6e3", - "0x0000000000000000000000000000002384bc357d1d68242e19584bcd2a2f7da3", - "0x00000000000000000000000000000000000c43bd06eabc40c5be7009dc1073bd", - "0x000000000000000000000000000000b11364bfbbcb4fa9e98e3ea9327e624911", - "0x0000000000000000000000000000000000244ca83dd978fa8cb84877b374d7bc", - "0x00000000000000000000000000000014e691cc56be9b7775f0ec3872d26b2b74", - "0x000000000000000000000000000000000028a23452e856a400411ed542dc566e", - "0x0000000000000000000000000000002c6d18684106373f34aa1320c0d6cab205", - "0x00000000000000000000000000000000001869ed11a07badaeb72542dfe6456c", - "0x00000000000000000000000000000015d866001de308cdb6c1ac7c7491e29550", - "0x0000000000000000000000000000000000049d7367fc58ead45c8bcd15cc1f3f", - "0x000000000000000000000000000000ce8849634968ab5a89645a628dd516fa43", - "0x00000000000000000000000000000000001be73afa99d0a719448a60270d0f66", - "0x000000000000000000000000000000a30b018c10572ca79f2cfcb649ec821dde", - "0x00000000000000000000000000000000000c65f34f0dd14b23a2b887db6ea6a9", - "0x0000000000000000000000000000008eb94be05a4d8dc93a419207364f56848d", - "0x0000000000000000000000000000000000088fe48b861b00f31c13bdcedc4bd8", - "0x000000000000000000000000000000a895b221a3859252baf6ac0d108b290eff", - "0x000000000000000000000000000000000015d6e5248f7462fd6ec075a890932e", - "0x000000000000000000000000000000a1380717c8551bcefe75fdf0a7eca15894", - "0x00000000000000000000000000000000000b2dad4619d107b2405cf42c140992", - "0x000000000000000000000000000000143c48a08573b83b4a937ea0d6c81e3aa2", - "0x00000000000000000000000000000000002d37e05e51d9e25458bc47d1a443e1", - "0x00000000000000000000000000000081309b246e5462390bc0f52f1169663404", - "0x00000000000000000000000000000000001ab8585b7bcd729f9c458bd6744891", - "0x000000000000000000000000000000ee91ec36d0a4aaa5e5f22e9ef7ebe77912", - "0x00000000000000000000000000000000002a7d9c205758972d09f00986876d01", - "0x00000000000000000000000000000056db483d894348b5bd1002bcab733c10fd", - "0x00000000000000000000000000000000000ce8bf107cb2c5f7dcdd0be3fb94b7", - "0x000000000000000000000000000000ede840df2859bf1e16023bcdecb058e2aa", - "0x00000000000000000000000000000000002c8da3bbe0640b54adbceddf5d3113", + "0x00000000000000000000000000000084071fef1e506405849404cfa4668b07a8", + "0x00000000000000000000000000000000000df56444b8390a850e082f96b58898", + "0x000000000000000000000000000000fabff7285d099a635a2118ae4d3c91869e", + "0x00000000000000000000000000000000000a1d1b0fd21b2d9380ac1c14439979", + "0x0000000000000000000000000000005c40071039715eff596586ced4956c4a3e", + "0x00000000000000000000000000000000000b64fc97a4b7548197efba6b34969c", + "0x0000000000000000000000000000005b8c78744fd69bf4bda4c55204f589beed", + "0x00000000000000000000000000000000002c8ef485097cc5bf912b8c24d160c4", + "0x000000000000000000000000000000a10b16d39c44b67291d510ab6081013c13", + "0x0000000000000000000000000000000000096a53ed525184f22037e4f7187969", + "0x0000000000000000000000000000004b283c63236c2b238be83d30aec32d64a6", + "0x000000000000000000000000000000000017e43e9fa2ba732a05fa025b419013", + "0x0000000000000000000000000000009caa1f8e2c1906cf187425c1a12cc5e2eb", + "0x0000000000000000000000000000000000238b0945ded5c14bc198275d641a05", + "0x000000000000000000000000000000efe623c8e2cc8f3dd0b9b8e0ccd1860c48", + "0x0000000000000000000000000000000000190f30e8bfe084ed6292750ba28220", + "0x0000000000000000000000000000004608efa06d64506e1d55e12bda95dc4d64", + "0x00000000000000000000000000000000001d3787ea2285e15c87888c74a7b79e", + "0x000000000000000000000000000000a0f1793b0f68416be2cf98246384b7e9e7", + "0x000000000000000000000000000000000018ca4c2c18e2c4bc73267839803d5c", + "0x0000000000000000000000000000005127834809d88d5c2d9cb33c198cf4d619", + "0x00000000000000000000000000000000002e1891df95c1060d7f35dc172fb343", + "0x0000000000000000000000000000002d54ea21979ca277ecbfa61048b5332dcd", + "0x00000000000000000000000000000000002466098086a863fe6faf27bfb4e4cf", + "0x000000000000000000000000000000121d8a58e67b6a547490c03de054d55d34", + "0x0000000000000000000000000000000000244a58d1452463e58c10b58cba70ab", + "0x000000000000000000000000000000f392ac0a3e2f7b8151c5593fb1d324b588", + "0x00000000000000000000000000000000000d898f3caddd07df432decae296d6e", + "0x000000000000000000000000000000e996a9a215b3b8d98fb5ddf7e1d66f73b8", + "0x00000000000000000000000000000000000826c897731ed4d89bbeb17df8d724", + "0x0000000000000000000000000000004945a58aa0204547f42b7203e507e10b82", + "0x00000000000000000000000000000000000f89541de136167ba98cf794890e3a", + "0x0000000000000000000000000000006b4bacb8191f0fb2d279c9e8cb26f29e95", + "0x00000000000000000000000000000000002194d2abe3501df3cdee344c7abfec", + "0x0000000000000000000000000000009cfaa3c5363e7cd59cc462e0be96d4fcd3", + "0x000000000000000000000000000000000000668ca0835847ad6b73be91be39cb", + "0x0000000000000000000000000000000a043f369d69c88e3c786b349b4773956c", + "0x00000000000000000000000000000000000f2141e60d4178ab7ce561176f093f", + "0x00000000000000000000000000000011b60369347bea0d4f1a0d7cc700e410a8", + "0x000000000000000000000000000000000011146d73e929254e37b20984908e06", + "0x000000000000000000000000000000a798cc78813dcd2b88b32c45b3a8156405", + "0x000000000000000000000000000000000024260645e5ccab7c95538a01688fb1", + "0x00000000000000000000000000000072037fb4ff8ac36b3fd8516d12b98c1ee1", + "0x000000000000000000000000000000000021e7350226ee803e5116d233e264b1", + "0x00000000000000000000000000000097337c8bfad3f3d84b4baef1ebf1d6b68a", + "0x00000000000000000000000000000000001a8b6736a0c50b9c7a2337329f2096", + "0x000000000000000000000000000000be024941bacbd6c507b22a852e9357ab1b", + "0x0000000000000000000000000000000000303e33570d9f97c334d51ee76be596", + "0x0000000000000000000000000000005d81b8c66d05dca6837bb2444dccd7c5b8", + "0x0000000000000000000000000000000000270e79f7f7d32cfe77c5703d6ac8c9", + "0x00000000000000000000000000000054221fe5aa8d18384b23b11dc3408d0263", + "0x00000000000000000000000000000000002c561dfec624b700dd7c5d3620bbe5", + "0x0000000000000000000000000000000db86e4b4ab67ebaff78d251772bbeb747", + "0x00000000000000000000000000000000000023c26e9d867abcc7fe5f22261593", + "0x000000000000000000000000000000b499cef076c7ef244a722561da10209f11", + "0x000000000000000000000000000000000008b58481798ec1608aa9a5e1f8f20c", + "0x000000000000000000000000000000c4c41a457a4eb4c51f75209b267a558c9d", + "0x000000000000000000000000000000000015394aedb57a91179286136a8d4fe7", + "0x0000000000000000000000000000003a54101c2c6efb515c4cb2c9b011dddf88", + "0x0000000000000000000000000000000000089faf54694c90758dad850b619072", "0x0000000000000000000000000000007efa390a6b36c5e3c5aa3690ebfc66fc21", "0x0000000000000000000000000000000000131fc65a69d1ad3cb3ef3ee85a29a0", "0x000000000000000000000000000000e9d28af119c9ab6ef78af21bc294ab983c", @@ -1527,9 +1527,9 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000fd5761597d72f8f5bf49326178811ad8a6", - "0x00000000000000000000000000000000000cc91e05a1e8533fc2917466bb3756", - "0x0000000000000000000000000000002c84fefd86fe9e3650471b8f07275a8dc8", - "0x000000000000000000000000000000000013ad214417d480b87ff334a9b72e8a" + "0x0000000000000000000000000000003aaeebb046336aab06f7808f93f90ae0fb", + "0x00000000000000000000000000000000001818a471618df8d42ce0d9ee3657eb", + "0x0000000000000000000000000000004eec8807def8981d9891eae9d2ec68d840", + "0x00000000000000000000000000000000000eeb32475bc9c2c82125ab0775d9fa" ] - hash = "0x18619a5c91bfc60ab7fb2364208c69416e07e96239c568ea30c5f4405bd95178" + hash = "0x2855a3cb34a2fcc8f489276dff5a22e3ca9d9a628d9a20d46dd1baecd18997d2" 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 bd2bcefd9412..78b110a5e7a0 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-root/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-root/Prover.toml @@ -2,8 +2,8 @@ [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs] out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" proposed_block_header_hashes = [ - "0x009dde93c9081ba3573e209a8d5a3cd4edd6bc25fdff9f2a702f6fe852215e11", - "0x0013678033aa88fb313bd4046a49bc89e1a7deeaf2a77b0eb2bebfcd9c574088", + "0x008e666a0896eb91ec1bb2556ef22fcb7dd7cff25632dd11ce355eb7a69f080a", + "0x005c03421a202e860aa4dc341db3a92e3bdff4324f574d6e3db68fc333a9132b", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -53,63 +53,63 @@ proposed_block_header_hashes = [ ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.constants] - vk_tree_root = "0x1f8cde81e0c5165be68b2c47089d558a335abff180d3369d351ad6aac4e73ecd" - protocol_contract_tree_root = "0x18eb72d449788231796808c5a8c66b8611b36598807bc2b42c8f554d397b1052" + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" + protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.previous_archive] - root = "0x3041291318fe407738df7576699fd4afe4553834293e9655a79da498230994d8" + root = "0x1cc6ac2ba9b54c98d9d90b4dc003fb7398fb91b0f35ac5c11380e7d46c4e6660" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.new_archive] - root = "0x26e8797213e16b2afdb8b989dc4ec4ea6651bd26796f560d178bc749af7c34d9" + root = "0x18e9774f809b764075cb3470ad9e8d5fd9544ed4ae875958d890ff9910440407" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000007" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000021" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c6007" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff8c4" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000960" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c602b" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff8e8" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000681a" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000960" [[inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.fees]] - value = "0x000000000000000000000000000000000000000000000000000000000c14f47c" + value = "0x0000000000000000000000000000000000000000000000000000000001168a40" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.fees.recipient] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [[inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.fees]] - value = "0x000000000000000000000000000000000000000000000000000000008a839840" + value = "0x000000000000000000000000000000000000000000000000000000000c4da240" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.fees.recipient] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [[inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -426,15 +426,15 @@ gamma_acc = "0x0000000000000000000000000000000000000000000000000000000000000000" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator] -blob_commitments_hash_acc = "0x006aa43b3baa44db9956a51e6ddea239a5acb011adfc45140eed499324c80a87" -z_acc = "0x1e1b1319aee8541c2c7ad6bef33b881b263dfdcf00f76305b5610f74199d9abe" -gamma_acc = "0x2de26cee52742c48e9ab064a1b3a75756417aa5cbedae75517e3405651791783" +blob_commitments_hash_acc = "0x0016546635a952b8af7a5bc8e7b75d38784929448b464aa214d2384a97fce669" +z_acc = "0x2dc064ebccf5fff833eaba1c775e616842510fff0758ef91e35cccadb6a2e4a4" +gamma_acc = "0x0d8eeebfef84bb15d60340c36556fc3e441e9f75af6665fa5d842f7b010533b2" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0x3aa85542704fb084140861d792abb5", - "0x9883500373bdc09d2bac6293fcfefd", - "0x5e18" + "0xb8b63da08e3915f3f0b6494dc8f26b", + "0x8d3860221d12229a7ae1ba4df1425f", + "0x1359" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.c_acc] @@ -442,35 +442,35 @@ gamma_acc = "0x2de26cee52742c48e9ab064a1b3a75756417aa5cbedae75517e3405651791783" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0x5296121a634a219995cde35e6435e0", - "0x2d19ed893d84cbd37eb7c473bcfa86", - "0x461ee695ad131a1d4dc01f35533316", - "0x132059" + "0xbc86538fa0fba5bd03e594230395e7", + "0x2a5ed273bfcf097373081ed630b0cf", + "0x37d26b0862c3c00f9a2f260623a702", + "0x04c247" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0x5befde6b67af7e07baa1b540a635c2", - "0xc5e457d1d21f67c0681123c3ad1676", - "0xf7ac39bc1cb7d9dd4cd775d807cda2", - "0x175ca1" + "0xa47ce87a994f4e7e4f34bd49fb8d45", + "0xe7b7e6fb1ad2fd88fa508265c7ea0e", + "0x2d002d6db1a781f208b8a581981bbc", + "0x1856e4" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0x7eeb1ffd87e0080a99843111237d57", - "0xf5820dc489508265646cbf21b08a47", - "0x0c66" + "0x638a90b7ce12e5d9663647e561ea45", + "0xc5c0d3d0fc7deb11a408fc7fdf5c95", + "0x662e" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.final_blob_challenges] -z = "0x1ab46cbe6f46cf755545f6961caf8bd4b4c1d136beb0acffdac5cc9817a17837" +z = "0x0a42b8b65e888ddc5a838bd20048d8d961c74c4e66a43ec847aa6cd9e3946630" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.final_blob_challenges.gamma] limbs = [ - "0x85007a5e009822dcd4aeca118f7c86", - "0x30b1ea19fad58fd38a267ab9643db0", - "0x0b03" + "0xa7a37450b9f22a2966cb7c4cff4281", + "0xd53e870aae716f5dc79344956d1752", + "0x207b" ] [inputs.previous_rollup_data.proof] @@ -1015,12 +1015,12 @@ fields = [ [inputs.previous_rollup_data.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000010" sibling_path = [ - "0x06d1a6ba23b0f17ca8f2188f7d4f404b7e96f9768f4baac00c5996a60054bc30", - "0x2339fb92e01d28438cf98349a740a675941d61ea32345ddc4e10356b77853782", - "0x2560fcff0be135f62ec1ac1ffbc852433261323927c374366017d05f4804e727", - "0x27b8d5b9d83c415a9742d70218008ba9c0f5a35df8b84d05bd6ef872e11940b6", - "0x186d392bd1603b21f750409ff01e8216d44ccb745048248fe4c6682077e5a30c", - "0x2ac35a585f37cd8b1e9ab4423155da6325d6a2406f6ed8d4fff29af478a2783c" + "0x27b76d01cc1ea78ae0c8cf3225eb613b0d972a52d3a043786ec39610b786aef1", + "0x0bcba3a0adb5cd7408b044271ef22b887a1f2f5216d446e4aade005a23bf0117", + "0x1d6cc635a4fb91830162757c5e4f715e2c41261b893844d605d0601df3246dd8", + "0x1323a1c5c27e0b984b96bcc6de175bc569cd495a1b155fda1422938b684c2301", + "0x2888ebba6c3f25e0757855fa46622c406dda5e50c9522cb1295d83e0d129339f", + "0x1cb36c900588afc3a59d2d9c4b45ae89b78611c0b8ae393f0f3776887d40ce60" ] [inputs.previous_rollup_data.vk_data.vk] @@ -1028,94 +1028,94 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000015", "0x00000000000000000000000000000000000000000000000000000000000000ec", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x00000000000000000000000000000096cf1860852d08fe3a475c3e143ee433b7", - "0x00000000000000000000000000000000002bc5837b2bce68015ec4a3be76b172", - "0x0000000000000000000000000000004d089fa0c228c3466431d10765b2cae2e2", - "0x00000000000000000000000000000000002a3c802892d089ac7ecff5922c732a", - "0x000000000000000000000000000000afbd870a4feef05ece8c66742eaf1ff131", - "0x0000000000000000000000000000000000013f1c8285f18b51eca996a114f867", - "0x000000000000000000000000000000920261423608b5d172a6fe21167c8b42c1", - "0x00000000000000000000000000000000002dc2db96da515d77885dfca61c069f", - "0x0000000000000000000000000000009b304c8f99bb25a0a2a843b6054d4b6238", - "0x00000000000000000000000000000000002c3d36fc8348d9965f83fd9d994fd0", - "0x000000000000000000000000000000936238f5505a82f844a53a0e952617af07", - "0x00000000000000000000000000000000002d2a13b4f7567c521c113de5717191", - "0x000000000000000000000000000000f29245c7c4aaebf0cd8bd0424f349defae", - "0x00000000000000000000000000000000000f6dc8a1685da4a7ccd3cb2329d0b3", - "0x000000000000000000000000000000db4799d26c005d88808b559d67ab1fa4cb", - "0x00000000000000000000000000000000003030c7d2ca179ea4b20bf6c2c9ade8", - "0x0000000000000000000000000000006c730520c5626d6fd2e7aca693c19f1bb2", - "0x000000000000000000000000000000000002f85c80fb858782c9318a548da5eb", - "0x00000000000000000000000000000064ef2d2bff48f2cc72bb3c8e238f849ada", - "0x000000000000000000000000000000000023ecfa942524aeac16989df284b6ad", - "0x000000000000000000000000000000929b24fbea16310f1b11faf08e2a3d21e1", - "0x000000000000000000000000000000000002433094e7d60bf1cb90bde541413a", - "0x000000000000000000000000000000190d1cb14f52450466460ea1ac58361307", - "0x000000000000000000000000000000000017388ad665e231e95b8d9882d0c62e", + "0x0000000000000000000000000000007ffedc10fc020f93907eafa9a2b2c8e1f5", + "0x00000000000000000000000000000000001ebefd01573d94556c227d03580d05", + "0x00000000000000000000000000000020534ffd4b6d4347ad80fe57f905f50fad", + "0x00000000000000000000000000000000001f44f7791f564495982857abd8036f", + "0x000000000000000000000000000000c22071020f00f6feee2e285fee11e37341", + "0x000000000000000000000000000000000021cffc7f1fbddd3202fc392ecb337f", + "0x0000000000000000000000000000009c8a5e49a098cf33922af7c1c504d94235", + "0x0000000000000000000000000000000000122ab6242754f418d836a65a1103de", + "0x000000000000000000000000000000ce05f312afd6af8c55a566ed1f178afa6a", + "0x0000000000000000000000000000000000151bdde0d83dc82e4c930c82ffb360", + "0x00000000000000000000000000000090a3437eaf13c7e0813f0c617a329367ec", + "0x0000000000000000000000000000000000116810a86af731f9282d90ba7cd2db", + "0x0000000000000000000000000000004cf05691e0a864762c96deabd573e78207", + "0x00000000000000000000000000000000000d7085748e8e6f44a0935f5e5ff79b", + "0x000000000000000000000000000000bcdfd2bb29b0d5bc8805f089302822d73b", + "0x00000000000000000000000000000000001d4e7a923d7b80694f514f1236d61f", + "0x0000000000000000000000000000009c239d406f3678924810de3e4849295ef8", + "0x00000000000000000000000000000000000e5072cd8f9134ef6f7b31adc57be1", + "0x0000000000000000000000000000001c6bfcb9467ac3abcfbb97a331e84ba776", + "0x0000000000000000000000000000000000034b7f5673e37177f69c86ad5bb3ce", + "0x00000000000000000000000000000003367773935298698ec743cd2235705154", + "0x000000000000000000000000000000000016c9ca3ef20e34504495df171bbf52", + "0x000000000000000000000000000000dda759f9264a356690f220e63ee7c40d50", + "0x0000000000000000000000000000000000266b5d359a4a1e34a70587d8961ec0", "0x000000000000000000000000000000ba7ec3cc3c37cbbec651f06ab1f2c17b7c", "0x0000000000000000000000000000000000296f55171ef5e1ecd3fff0d0520fc1", "0x00000000000000000000000000000038b9ea2da202c8ab51a8e3ada87214ce58", "0x00000000000000000000000000000000000a91af487beb1e59bcbe6b90e87236", - "0x00000000000000000000000000000057bc128da635e1f2949053ab2c92059720", - "0x000000000000000000000000000000000027a7e95800f8ab428f5a5e65b669df", - "0x000000000000000000000000000000e2a061b03f1f82038ced8d7c7053e8dfed", - "0x00000000000000000000000000000000000ee2b4ca5030cfa8a93aaa9272c8b4", - "0x000000000000000000000000000000b7e418360da95f76faf85a461ff71807c0", - "0x00000000000000000000000000000000002a5be6314e254750aab289ced54893", - "0x000000000000000000000000000000b07477c2dbea3b5113465f93d27e3ee7fa", - "0x00000000000000000000000000000000001a6c7b881ad286adfedaa0c24b250b", - "0x0000000000000000000000000000006b390d86946cdec66e54589a014fd91193", - "0x00000000000000000000000000000000002b9391294340ac9ad2307bd178e684", - "0x0000000000000000000000000000006c0acf1415ad9004a1a1380025336e2ced", - "0x0000000000000000000000000000000000286b7fdfdbd4db366d5e5ce5afada9", - "0x000000000000000000000000000000bc567d9d178a2d91b4bf596a022bf089b0", - "0x000000000000000000000000000000000029e3192fd45cc59ab6a28a83c28a71", - "0x000000000000000000000000000000d725c907673e85f3f54a5ba8980b8a9cc7", - "0x00000000000000000000000000000000002144eed2a384c240ee76bbc37ea5a8", - "0x0000000000000000000000000000006e7ebec764c62375ea1f154b97191af9a2", - "0x00000000000000000000000000000000001d7ac04ad27bfc1438b40839846b27", - "0x0000000000000000000000000000003cdc5a60a7257f2f9fe134e73e20f60afe", - "0x00000000000000000000000000000000002fca29c273804f9f20781f853dc2f7", - "0x0000000000000000000000000000006a8701f1777171163c4cca153d9ea083ed", - "0x000000000000000000000000000000000019f3a85039104963fde4c5db05105e", - "0x000000000000000000000000000000300a7ad7f201edbefead7cc73d6cefff1c", - "0x000000000000000000000000000000000001a5bdcb4531e37b52f7c8ed1608a2", - "0x00000000000000000000000000000031fcede7d2787d935e8e84b34a0cd709f3", - "0x00000000000000000000000000000000002e97177f303bab42f1e813585cfed2", - "0x000000000000000000000000000000467b8fdd5acf402d1d7a6f49ca8e01338c", - "0x00000000000000000000000000000000002a96703cd8608e63c64fcf6016ae5d", - "0x0000000000000000000000000000000400ef91f171f08e5a5097459dea8a00d2", - "0x000000000000000000000000000000000023716f2f029021049b24114a413a28", - "0x00000000000000000000000000000024aea3905a2e9cb4964863002e52975454", - "0x00000000000000000000000000000000002a337f51ea0261d170b390c6fc7799", - "0x0000000000000000000000000000005d675788c8c7f02ed18c58736614bf0e1a", - "0x0000000000000000000000000000000000097fe75ce927eb0d37fda2bec53879", - "0x000000000000000000000000000000eba7456630f57a9b36d457f0a713b8e808", - "0x0000000000000000000000000000000000225f441d8cae1908ae2fbc7b9bc640", - "0x000000000000000000000000000000307a40c1f0e710f00b261b3bc6a197306e", - "0x00000000000000000000000000000000001c12f97518ebcf756968717375edbc", - "0x000000000000000000000000000000a24549ebf3c0e7143191fd33f10639f017", - "0x000000000000000000000000000000000028a7dcfccad44ea9d2da41f1634595", - "0x000000000000000000000000000000457f5ba223a5a53e456ec82cb0b0878c08", - "0x00000000000000000000000000000000001339f8059f8dd80fc1a3a95d1717e1", - "0x0000000000000000000000000000001e463883e64586633185ba488d42dda31d", - "0x00000000000000000000000000000000000352ad7f2f5a97c1e36b028158c32e", - "0x000000000000000000000000000000ee82621233f5d4f4e2d81e133c23c8f0a9", - "0x00000000000000000000000000000000001299fbd5339c0299b0b842c4c6ecdc", - "0x000000000000000000000000000000867fa44b33eb03f5e167759f9daac326dc", - "0x000000000000000000000000000000000028cdf73e91f7c3fe8b644e7b6e4c2b", - "0x00000000000000000000000000000009c639426f0bd127b0a48dd74ec3840e3f", - "0x000000000000000000000000000000000026f6cb6e863a1770b913efcfb3993b", - "0x0000000000000000000000000000000b8239572c82e7b2ee27d893c1e8854f4c", - "0x00000000000000000000000000000000001c2d62474a6f3a283a9db4c96b3306", - "0x0000000000000000000000000000007f934b6aed84a9d97052bc7d666069d130", - "0x00000000000000000000000000000000000c23760fe07db6ca599d15a52cc3f2", - "0x000000000000000000000000000000c1ecef3798c736122e0333116e047879ea", - "0x00000000000000000000000000000000000d7bbe961d142e14f1fdc56656f3ab", - "0x00000000000000000000000000000070e997d52247bef60a2f6fb784443cdb25", - "0x000000000000000000000000000000000012054abec2bdd7d72fe13857f8bc66", - "0x000000000000000000000000000000e146ac0b743bb4cdf6f418b8a3c279d3fc", - "0x00000000000000000000000000000000002693dacfc3840452170e6909850674", + "0x00000000000000000000000000000068ad266ca50d523686b0790494073e4ebd", + "0x000000000000000000000000000000000003979f45c4fe01c5f886cfde8ce68f", + "0x0000000000000000000000000000003504b65965207c0d2d89cc7613e0224cec", + "0x00000000000000000000000000000000000293fdd0ef7551f178a7010be0607f", + "0x00000000000000000000000000000049902814d93b8de93d750466cedcb4b8a6", + "0x0000000000000000000000000000000000181e58940d121c0bb5c57d436bc0de", + "0x000000000000000000000000000000c865ff7bb4a0293c8ad502fb91f9a3e824", + "0x00000000000000000000000000000000002d05170265f9c7075a4af73ddf4fb5", + "0x000000000000000000000000000000f6ceeca564526d23a310a8edcb8287adb6", + "0x000000000000000000000000000000000004b30b00ec67bcd931410913e2c30a", + "0x0000000000000000000000000000009273b05892d5f41105d13c88aed3add92c", + "0x00000000000000000000000000000000001fce163733a87ed3342fa22576d68b", + "0x000000000000000000000000000000afb909324f45f38a1265ac8cf4483d89cf", + "0x0000000000000000000000000000000000095510d64ef61063067d06441cced5", + "0x0000000000000000000000000000004a643aac4d0ded022c3d5151e08586cd6b", + "0x00000000000000000000000000000000000be6b4c263c3e57b32b8a7e20472fd", + "0x00000000000000000000000000000008e9dad38d221a81ae5fefebec07bc0ce4", + "0x000000000000000000000000000000000020866c589607ac03c00e67f77b9be5", + "0x0000000000000000000000000000002bd9050c76018b786825dc89ec9998b8df", + "0x0000000000000000000000000000000000155dfe9bcfb034ce4dd1c919a1f1fa", + "0x00000000000000000000000000000088d9733df158c7b8d3f989372fb37929ba", + "0x000000000000000000000000000000000029dc317dc46b6caa4b8d96d688149a", + "0x000000000000000000000000000000a2466a7e9ed369c824e6aec048c1585bac", + "0x00000000000000000000000000000000002760e596f545264d8096fd92b601b7", + "0x000000000000000000000000000000fb77665c189e0eae284c36242e1f52bad0", + "0x00000000000000000000000000000000000ed00a68c1630415b7b9ee397bb001", + "0x000000000000000000000000000000d4158dfbe1a13afad10b493f02873c0224", + "0x00000000000000000000000000000000001ab5f33440dbb775ddf25ff828f31a", + "0x000000000000000000000000000000adefd5eca9744db7bd7fbc1585b7ecd67c", + "0x00000000000000000000000000000000002b5cd4fd8aa0c1ea91bb78542b3a5f", + "0x000000000000000000000000000000a99726242801bca956a941efcee41f0f00", + "0x00000000000000000000000000000000002fdcbba53d4b9bb0402a7a5668c417", + "0x00000000000000000000000000000068d088994bda39db68dc810031acef6f5b", + "0x00000000000000000000000000000000001dd8a149c5ffa8ec75c36a1698b1b1", + "0x000000000000000000000000000000b17c8c2f15d64fd623f718cee723768e97", + "0x00000000000000000000000000000000000bbaa76589cfa2866e6280199ff3d4", + "0x0000000000000000000000000000004a34e736dcae1d43788f34f4d715bde612", + "0x000000000000000000000000000000000023765cd9a8d2a63b4d05f5c86eb754", + "0x000000000000000000000000000000e005f2ccbde37008e3e8bdec15157eb675", + "0x00000000000000000000000000000000000cd82626d9496539054cfeaf619ea0", + "0x0000000000000000000000000000002e038b04c9b43732b2200fb0913434c489", + "0x00000000000000000000000000000000001a1a22f930deb27f50ca9bc1a498be", + "0x000000000000000000000000000000fad36d417fdeafc61b5d561c35d939f1e8", + "0x0000000000000000000000000000000000302aa71b14807acd5edc4652f3307c", + "0x0000000000000000000000000000007b6b828b011438e39a4d64f34265bc0a95", + "0x000000000000000000000000000000000012fecd12799cbaaee58e558ff74cd9", + "0x00000000000000000000000000000039aa345bb67417b5c621c455ec4e21d9cd", + "0x0000000000000000000000000000000000162d34b3f2a829904bb34eeaf268e7", + "0x000000000000000000000000000000ae881a30dfe868352d582c8282c4919089", + "0x00000000000000000000000000000000002a03cd856f334a3e99e484b68e2cfe", + "0x0000000000000000000000000000004881a967f47989fe50a4d442b0cf29f48f", + "0x00000000000000000000000000000000000efed7ae44345387b9609ec638eb76", + "0x000000000000000000000000000000d7a89396722770bddfad1991fea0ffcf8a", + "0x00000000000000000000000000000000002541932d80dd9c746ca85008f70013", + "0x0000000000000000000000000000008bca3f104785d49668686c5ab2b0a7661d", + "0x00000000000000000000000000000000001882ec1db000366cf0e25874502513", + "0x000000000000000000000000000000ce64023b96e662b01e5b7e6b6880726fba", + "0x00000000000000000000000000000000002a76bfe91688566a55fba0255f160e", + "0x000000000000000000000000000000a49564edf1f80160602933c7ed5bae359b", + "0x00000000000000000000000000000000002df32315948cac05020a31451a3367", "0x000000000000000000000000000000afba4b0f96dc20ed6abd554f3c0e56babc", "0x00000000000000000000000000000000000b6fe257440039858c2e98d9689575", "0x000000000000000000000000000000638950ff9748a9099878091a1c37b7893c", @@ -1136,18 +1136,18 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000b8e997b1fc607836a42619a0d778a46981", - "0x00000000000000000000000000000000002d1c21917ee42c6fa07c510f0df594", - "0x0000000000000000000000000000000544c297092655aad8fb6318d81114533f", - "0x000000000000000000000000000000000005a0b8d4141a8cc5c396f3f2a4750f" + "0x000000000000000000000000000000c47d993ee289f21e2a1136be8f57828b1d", + "0x00000000000000000000000000000000001949c1cecb618b328fdec276e6c6de", + "0x0000000000000000000000000000001def3367f2007a42bf983a65330fb3a2ab", + "0x0000000000000000000000000000000000063d66a708af9f173522317a3c415d" ] - hash = "0x29036c064712bf94009b2d0d55194ed144d4252af56155d98f294e690a1a6533" + hash = "0x11fb6f65584a29f3341eef1576f84a2c667612cca63f222535e9ddabb3217800" [[inputs.previous_rollup_data]] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs] out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" proposed_block_header_hashes = [ - "0x0037cfc8bb08345a81f320e1ad4b5f0af33cd4060e7fafbeee1a4f7eaf3a57ef", + "0x00eebb2535e498d94625d135d21936578ea4fa2c034b29070ed03b079f53356b", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1198,57 +1198,57 @@ proposed_block_header_hashes = [ ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.constants] - vk_tree_root = "0x1f8cde81e0c5165be68b2c47089d558a335abff180d3369d351ad6aac4e73ecd" - protocol_contract_tree_root = "0x18eb72d449788231796808c5a8c66b8611b36598807bc2b42c8f554d397b1052" + vk_tree_root = "0x192443f420e50cbc3fd8cf70681fd257553af510bcd263863b8b7149c4f82a79" + protocol_contract_tree_root = "0x227802391f582e49922178a4d4de61384eda4ee4ba69708f0349b76dd04db461" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.previous_archive] - root = "0x26e8797213e16b2afdb8b989dc4ec4ea6651bd26796f560d178bc749af7c34d9" + root = "0x18e9774f809b764075cb3470ad9e8d5fd9544ed4ae875958d890ff9910440407" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.new_archive] - root = "0x0fdde47f2938306dd3150162580067e6641c8475859bb4cc39639985c6412175" + root = "0x1151168cca6751fefcd0fdf0fe975487973950e82bbdc71a8e6da27402c5caf4" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c604f" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff90c" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.start_global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000000009ec" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000071c" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000692d6628" + version = "0x0000000000000000000000000000000000000000000000000000000033363966" block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000023" - timestamp = "0x00000000000000000000000000000000000000000000000000000000689c604f" + timestamp = "0x0000000000000000000000000000000000000000000000000000000068bff90c" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables.coinbase] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.end_global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000000009ec" + fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000071c" [[inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.fees]] - value = "0x0000000000000000000000000000000000000000000000000000000008126c9c" + value = "0x0000000000000000000000000000000000000000000000000000000005a06d10" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.fees.recipient] - inner = "0x0000000000000000000000004b4909df3feaaaf6935c7ceefac082d322c19503" + inner = "0x0000000000000000000000001079d05777378854869511dc92082596388c531a" [[inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1533,15 +1533,15 @@ proposed_block_header_hashes = [ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.start_blob_accumulator] -blob_commitments_hash_acc = "0x006aa43b3baa44db9956a51e6ddea239a5acb011adfc45140eed499324c80a87" -z_acc = "0x1e1b1319aee8541c2c7ad6bef33b881b263dfdcf00f76305b5610f74199d9abe" -gamma_acc = "0x2de26cee52742c48e9ab064a1b3a75756417aa5cbedae75517e3405651791783" +blob_commitments_hash_acc = "0x0016546635a952b8af7a5bc8e7b75d38784929448b464aa214d2384a97fce669" +z_acc = "0x2dc064ebccf5fff833eaba1c775e616842510fff0758ef91e35cccadb6a2e4a4" +gamma_acc = "0x0d8eeebfef84bb15d60340c36556fc3e441e9f75af6665fa5d842f7b010533b2" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.start_blob_accumulator.y_acc] limbs = [ - "0x3aa85542704fb084140861d792abb5", - "0x9883500373bdc09d2bac6293fcfefd", - "0x5e18" + "0xb8b63da08e3915f3f0b6494dc8f26b", + "0x8d3860221d12229a7ae1ba4df1425f", + "0x1359" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.start_blob_accumulator.c_acc] @@ -1549,37 +1549,37 @@ gamma_acc = "0x2de26cee52742c48e9ab064a1b3a75756417aa5cbedae75517e3405651791783" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.start_blob_accumulator.c_acc.x] limbs = [ - "0x5296121a634a219995cde35e6435e0", - "0x2d19ed893d84cbd37eb7c473bcfa86", - "0x461ee695ad131a1d4dc01f35533316", - "0x132059" + "0xbc86538fa0fba5bd03e594230395e7", + "0x2a5ed273bfcf097373081ed630b0cf", + "0x37d26b0862c3c00f9a2f260623a702", + "0x04c247" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.start_blob_accumulator.c_acc.y] limbs = [ - "0x5befde6b67af7e07baa1b540a635c2", - "0xc5e457d1d21f67c0681123c3ad1676", - "0xf7ac39bc1cb7d9dd4cd775d807cda2", - "0x175ca1" + "0xa47ce87a994f4e7e4f34bd49fb8d45", + "0xe7b7e6fb1ad2fd88fa508265c7ea0e", + "0x2d002d6db1a781f208b8a581981bbc", + "0x1856e4" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0x7eeb1ffd87e0080a99843111237d57", - "0xf5820dc489508265646cbf21b08a47", - "0x0c66" + "0x638a90b7ce12e5d9663647e561ea45", + "0xc5c0d3d0fc7deb11a408fc7fdf5c95", + "0x662e" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator] -blob_commitments_hash_acc = "0x000031ed0409c86eb880947aaa411d6850f4a5dd312cb8bb224802c58b6584c3" -z_acc = "0x1ab46cbe6f46cf755545f6961caf8bd4b4c1d136beb0acffdac5cc9817a17837" -gamma_acc = "0x285b517eb3b4bad9813d2376301f4f1ee1823874342f973dc77548a90a56c1e8" +blob_commitments_hash_acc = "0x0089a3fee2478fff4d286c1108047859544153002a4051f9247ee632f74728f1" +z_acc = "0x0a42b8b65e888ddc5a838bd20048d8d961c74c4e66a43ec847aa6cd9e3946630" +gamma_acc = "0x2798368f17bf1da14834d56f8f499b0adca202bba9220a20a549039c963823d7" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0x73e7c8ec19b3ca55c3f3f6beb354ad", - "0xbc735faef5bba074ce70d5e0156634", - "0x5daa" + "0x9a369a53ab4f7cf141d743c283da59", + "0xdd6aeaf9dbe343699eb3b3bccfcf3a", + "0x0769" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.c_acc] @@ -1587,35 +1587,35 @@ gamma_acc = "0x285b517eb3b4bad9813d2376301f4f1ee1823874342f973dc77548a90a56c1e8" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0x1543604f9b69d0c74a02860f5c020d", - "0x7c79d8485695195e63158ecc0892b4", - "0xc0ac6517864c9a52b881128df37d1f", - "0x18eceb" + "0xfc41339f1db4725368db7a0f900bd2", + "0x464bfe7dbe08f8c94099de44940127", + "0x1a850b58ff01528ed45839c91ccef0", + "0x076eea" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0x31e62ce8ce794fb74fa82b23c62041", - "0x5b71082e5935b48d140d1a3dac8e75", - "0x2dae32faddab57b89442739f9d47a7", - "0x1540ba" + "0x8a287aaf907fdb015d7e087f1c51ef", + "0x6a7a3a6d15931f405ab77829daa526", + "0x8eaafa25a9f06e8cb3aa0845d33e76", + "0x180c6a" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0x681e341d34ba441314162f9b219777", - "0xef38276a01174be75319cf596abf02", - "0x13fa" + "0xee5479e408c38678bfe3cb0470ce15", + "0xf2ca9f10ddd6fbd601d84372ef1be8", + "0x02a4" ] [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.final_blob_challenges] -z = "0x1ab46cbe6f46cf755545f6961caf8bd4b4c1d136beb0acffdac5cc9817a17837" +z = "0x0a42b8b65e888ddc5a838bd20048d8d961c74c4e66a43ec847aa6cd9e3946630" [inputs.previous_rollup_data.block_root_or_block_merge_public_inputs.blob_public_inputs.final_blob_challenges.gamma] limbs = [ - "0x85007a5e009822dcd4aeca118f7c86", - "0x30b1ea19fad58fd38a267ab9643db0", - "0x0b03" + "0xa7a37450b9f22a2966cb7c4cff4281", + "0xd53e870aae716f5dc79344956d1752", + "0x207b" ] [inputs.previous_rollup_data.proof] @@ -2160,12 +2160,12 @@ fields = [ [inputs.previous_rollup_data.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000d" sibling_path = [ - "0x2ded3ae984e9a6f7437b3054c5ef7c57b7ca516b3ea2e0c8482b6851cf2debc8", - "0x27ad5ec4728a5caf10841114f6da59081261dd265790c6b5bd15f19fb888dcab", - "0x01f56fa966168d32b058bfd6decd2d196e5955ee21db926f93136181d7c7622b", - "0x1e666d9cdf70e3f69df41e43b2bf64c3b82da16d6960159969bf63a06bb8a930", - "0x2ceb8c9f55a85f4b5c8c7795bf162b303e2ce1d86bba80ef5a37f045df17273f", - "0x2ac35a585f37cd8b1e9ab4423155da6325d6a2406f6ed8d4fff29af478a2783c" + "0x09291aae80836bbb6f6d6fb9e4a7b92a10e5bc394f818f46089578b76f8989db", + "0x2b7d6de30e0db38f67303550749911660581191fcfc9aa4bc5e8e14fff9ab35b", + "0x21689739720b4da70916ca6d44e282a2eb64d62ca08de1418dd980ba90a77756", + "0x12c49ef7f7f08c55efc7e39b04e211b63667eaa18ba622a01ee645ba2ce79842", + "0x2e4e5b7e23ac6533333c43f70db2a3c699240ba4adc372b2a3d13a000b41199c", + "0x1cb36c900588afc3a59d2d9c4b45ae89b78611c0b8ae393f0f3776887d40ce60" ] [inputs.previous_rollup_data.vk_data.vk] @@ -2173,94 +2173,94 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000017", "0x00000000000000000000000000000000000000000000000000000000000000ec", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000e5f480a6e341b4d58c8756ba3fc041fbd7", - "0x000000000000000000000000000000000024c768ace511f952888ebbe96fa907", - "0x00000000000000000000000000000049a6b1cc0ecc7315d5fb358631ee93c591", - "0x000000000000000000000000000000000015e731ca69d9275944739adc6baa29", - "0x0000000000000000000000000000009a34283840b85f8ae530e083fd75f6002f", - "0x000000000000000000000000000000000007909901f293648706b98d64d5fd9e", - "0x00000000000000000000000000000038c3bf024882046d4ff28da7546df6fd38", - "0x000000000000000000000000000000000015a38e95c4821bbf3b60442499c4cd", - "0x000000000000000000000000000000fdf307fc2b4164f53c3338bd86e6356120", - "0x000000000000000000000000000000000008deb60220432778c49e02cc14f093", - "0x00000000000000000000000000000075e137b809482b86187b41e897e9758e25", - "0x00000000000000000000000000000000001c1764508ccc742930c4bb9dd2b174", - "0x00000000000000000000000000000090478f42d5fc9de9db03c4263ca8c76af4", - "0x000000000000000000000000000000000025aaf6660c5741b9958dff0ecc7f3c", - "0x000000000000000000000000000000ad04655475eca1cb6a67253f1177384a62", - "0x00000000000000000000000000000000001b3411a736140ae5056006e4083d01", - "0x00000000000000000000000000000099336bd026a839ed77ffd1d365309a8287", - "0x00000000000000000000000000000000001284c9b5c8ffd8426a86ce90b5ab82", - "0x000000000000000000000000000000a10d5416122b7d92affe0c3cbd5c133385", - "0x00000000000000000000000000000000001d64a1b42f3632b08b0f8a813171a5", - "0x0000000000000000000000000000002de0abc597b22deab8cf94f506f42edbf9", - "0x0000000000000000000000000000000000121802d95e73daa9c59fe2d40f089e", - "0x000000000000000000000000000000365d1c2cade054253132791f7e5eb8fb5d", - "0x00000000000000000000000000000000002305b0c61e6ebd16ff09d3d842509b", + "0x000000000000000000000000000000ce953c2c6c27d6ea173ca2770ba29f466d", + "0x00000000000000000000000000000000000e58006b5c09620064ce4a0bc24026", + "0x0000000000000000000000000000005cc4fa8b2c64e41665d33824b6235fe655", + "0x000000000000000000000000000000000006507658a3277734f23e6ecc314568", + "0x000000000000000000000000000000d93732a58245e86c3bbfa1e4afc4dc0ea8", + "0x00000000000000000000000000000000000b6f45074decd97571bb9e41c56549", + "0x000000000000000000000000000000c62dc92c89504ef90ce88b3820f046f740", + "0x00000000000000000000000000000000002e9ffba962190bcd9525da35570bea", + "0x000000000000000000000000000000c515ad4ab569331ce867a5465b3ca5c103", + "0x00000000000000000000000000000000002ef5bd2cb4c45a843d9379094b0ca3", + "0x00000000000000000000000000000094e3b59ed3ee6f8586a60de732dd39262d", + "0x00000000000000000000000000000000002dc261ecdd1de726cc6a47c08db593", + "0x000000000000000000000000000000d95867159c0e9c3c14d5a08d6c136de64f", + "0x00000000000000000000000000000000001b38c6921279778b84ecd4ac71b39e", + "0x0000000000000000000000000000005c0f6c861c102813182040f5d292ed9e63", + "0x000000000000000000000000000000000017251f6cd4fa9c54e8be4b26c69d2c", + "0x0000000000000000000000000000001764b61dea29eefd5127114b698523aaa3", + "0x00000000000000000000000000000000001a18cef09a506d376003f72ce87d4e", + "0x00000000000000000000000000000011a02370f2993d7481858559b93a7883d9", + "0x000000000000000000000000000000000011bec741c4be04ba60b9b323b01492", + "0x000000000000000000000000000000e095cc3d704ab4e43d65c0fbc8460b653b", + "0x0000000000000000000000000000000000057de488b37efbc532170d220e5481", + "0x00000000000000000000000000000073365617f431fccb44d943ed79ee1911bf", + "0x0000000000000000000000000000000000131d1a2aa58d9f65637f026da54b7b", "0x00000000000000000000000000000010a38f556c223974b85eb494776b4e81d7", "0x00000000000000000000000000000000000508564e99b0877ed37f27bd3373f7", "0x00000000000000000000000000000051a6b286a85912fdcb9af58508f980999c", "0x0000000000000000000000000000000000204c34d7bfb08b882df66b9a80090e", - "0x0000000000000000000000000000007881cc37065b70ac9f8a393e0e4addcf3a", - "0x00000000000000000000000000000000000c7b20454f33e2104e687182b03cae", - "0x0000000000000000000000000000001f635f96023cce29a8b49a0e8bb98d3246", - "0x000000000000000000000000000000000001dc59eec55ae2547941504007be39", - "0x000000000000000000000000000000cee154c718a918626b8014a4442999217f", - "0x00000000000000000000000000000000001e750e46f50d47168836943895dc0c", - "0x000000000000000000000000000000aec5f6a9e7eabfe8cedc7d8c7bc014413e", - "0x000000000000000000000000000000000015c87dbd81d4dc34a9e01f19d3a682", - "0x000000000000000000000000000000ef445dd8eafde7efe0e6e039e9afd45abe", - "0x00000000000000000000000000000000002876df499d899699f45d3c234299c0", - "0x000000000000000000000000000000cba663e2d2750057905c34820a2640bd23", - "0x000000000000000000000000000000000019686da394c88e904689ed89920b46", - "0x00000000000000000000000000000073a68925dbd23e1d0a8d9584185ddbb061", - "0x000000000000000000000000000000000025b1831b47d9357638ed975604c796", - "0x000000000000000000000000000000b236cecc882646187d2fb6273c0efeeabc", - "0x00000000000000000000000000000000001a433d7c2fa31350e1d5dcf4242bc3", - "0x000000000000000000000000000000f56d7587f899db5181bc3465929133ef20", - "0x0000000000000000000000000000000000260f78b710cbc9f555d2d7c2efec15", - "0x0000000000000000000000000000000ad9399f291a670f7ea255e9919b4eed5f", - "0x0000000000000000000000000000000000051c26a847c5c4bf6056aada468acd", - "0x000000000000000000000000000000dbfab8d6b4a1c323a455e4d353d640ec78", - "0x000000000000000000000000000000000001fb42717469da6ba0105a0c2150eb", - "0x00000000000000000000000000000037f35418fa43dc56323151da92fa05e22c", - "0x000000000000000000000000000000000024e2ca5a0f16bf4bcf8bfea0f25d65", - "0x0000000000000000000000000000004ca766cc716cf7283cb4abdbc37845e44d", - "0x000000000000000000000000000000000010559fa6a69951ead0d7a82df7abbb", - "0x000000000000000000000000000000ccbaefba28dc892cb21801f36096ed72bf", - "0x0000000000000000000000000000000000289c6f1b54d47cfdf9717bbb137645", - "0x0000000000000000000000000000006fb5c18ac259a913bf9e3886199225e57a", - "0x000000000000000000000000000000000026a188f618208ef845ad0b9b1b1582", - "0x0000000000000000000000000000008ac8a1006129d6337b610ef3ca8e869594", - "0x00000000000000000000000000000000001638b7300a6bfcb83b1b48fb62c07b", - "0x000000000000000000000000000000e1e1ab111e9774c4a8f69fb6a65c61cf1e", - "0x00000000000000000000000000000000000ede2a35bfa2281f31b7f195e2db26", - "0x0000000000000000000000000000008d6283d01af4b2f04000512a4a11ceb568", - "0x000000000000000000000000000000000013986d7079cd184d9775f5c4fa321d", - "0x000000000000000000000000000000976c43e988b40255474580317301be7d39", - "0x0000000000000000000000000000000000052af2b6a325a85a83fd679a069b0a", - "0x00000000000000000000000000000050ad8b1b932c549116f12e173ebcef9fcc", - "0x000000000000000000000000000000000018e60fe2c26b01e121468bb96642cb", - "0x00000000000000000000000000000008ceece221aa4411ba5b9ddb8a9a00c28d", - "0x00000000000000000000000000000000000e82e1613d0cfdefb9f6abab8ea418", - "0x00000000000000000000000000000007bced6d51556745fa9152831c39fa3331", - "0x00000000000000000000000000000000002280b4f37ece9e78026c5b44ed9d87", - "0x000000000000000000000000000000ce31ef0fffc91a4912e4ea90fcc151f453", - "0x00000000000000000000000000000000002858477e905b31c6472394c0af7458", - "0x000000000000000000000000000000e79248523235e192aa0a5fc1e0cee3da0f", - "0x0000000000000000000000000000000000260cb2625cf848c59b67ab76c54f22", - "0x000000000000000000000000000000cda2d14b05e8fc8af3150bf3121580c2eb", - "0x000000000000000000000000000000000015731f778f67e6e34049bd0791ea69", - "0x000000000000000000000000000000b815a574abe9975cddc9c2fcbd4ab4d16b", - "0x00000000000000000000000000000000002c9d5b2cdb66298506c6a1c486ac16", - "0x0000000000000000000000000000001ee720fde9bbfe46d8e679ccfe6581f364", - "0x00000000000000000000000000000000001575b937789c8c3c2a5396f1888d85", - "0x0000000000000000000000000000000f4a304b1fc59757264f18826341cd4ca5", - "0x000000000000000000000000000000000015dabab98917bd2a1e354cb7c04772", - "0x0000000000000000000000000000005d6400a060de46af779982af6cd262b877", - "0x000000000000000000000000000000000024cfda1b0f60d0a5f19135f4b3882c", - "0x000000000000000000000000000000b2978bfc925cbbea4b2b418fa51af49a83", - "0x000000000000000000000000000000000016bc8538916eb30157dabc323b0506", + "0x000000000000000000000000000000831dfea3e79bc30462396a51feeb205708", + "0x0000000000000000000000000000000000147736a1a19e8d0677fc0b758d694c", + "0x0000000000000000000000000000005a5f659e7f9a7c5de4329c586643e534b8", + "0x000000000000000000000000000000000008dcd31dd2d8bdd6c8f6d5b8191ee4", + "0x000000000000000000000000000000975ec7659b2a38090ad6560b9ef2702e9b", + "0x00000000000000000000000000000000000e861f2356b9a85ad70cad41dbeda4", + "0x000000000000000000000000000000793f23cad0391b44df43e3a1b175c7bd73", + "0x00000000000000000000000000000000002fe5e66805e4e869fedd14d3e52458", + "0x0000000000000000000000000000007a4007af367d2fc3690bb8759c34d7c900", + "0x00000000000000000000000000000000002b74d4f5c48bfb6acb0a3f47fd4fd8", + "0x0000000000000000000000000000009166e15e6f0b30dc44aa4f72469aad65e0", + "0x00000000000000000000000000000000000fcfb9218af24af9cc49644b01d91c", + "0x0000000000000000000000000000009e7b7fddcf667207ec7059b3965c007bed", + "0x00000000000000000000000000000000002ee45dcd0e01fcba7160dcf8129be5", + "0x0000000000000000000000000000003588dc99e0f32408189178e39461d78711", + "0x0000000000000000000000000000000000183fd7f6152262613daafd2e8b7745", + "0x0000000000000000000000000000000b8e37ec105951c77f0c9eb3a1aaa93f68", + "0x00000000000000000000000000000000001910a426c12319313699030e8476b3", + "0x0000000000000000000000000000007beeb4b55f3f2dd36c2be707e706bbe935", + "0x00000000000000000000000000000000001ad29d5680781cfa06afb6e70a1547", + "0x00000000000000000000000000000072bd5664ac175f61fe7e92787714ffb7c5", + "0x000000000000000000000000000000000016cb5d47b1a42fc8f4eaa7ed35c71e", + "0x00000000000000000000000000000028f36a97eda3ac358269d98fd0f2b83f14", + "0x00000000000000000000000000000000002ec5cea0b897f9c1fa3394d1146dd1", + "0x000000000000000000000000000000f3ed7c0104ff80f1cbeec4b97dd8f1883f", + "0x00000000000000000000000000000000002c15258c0e493bab9f05783520d48a", + "0x000000000000000000000000000000f32ae3ad739949edf908e762063dc33a1a", + "0x0000000000000000000000000000000000040b739fb999174e4f080418e3d223", + "0x000000000000000000000000000000614596530951b14d72c10af8304571aed1", + "0x00000000000000000000000000000000002ac0a08035e89da3869d8509e749f1", + "0x0000000000000000000000000000007cb6f9ba0d9a2b8abb5a306c113587620e", + "0x00000000000000000000000000000000000615fe40206e3c0dae6a4882fd366d", + "0x000000000000000000000000000000f0fe3641387a437561b266f5c470e8be27", + "0x0000000000000000000000000000000000201b4839eeb8ec301b3517239e2f9d", + "0x000000000000000000000000000000b41f9be00225b9b1645ab1924e5cc2990e", + "0x000000000000000000000000000000000013c2fd69fdca4fa007ed88d8fb5796", + "0x00000000000000000000000000000036ab18b0d02f84b96232fb3e0e9c2009e6", + "0x00000000000000000000000000000000001ba20246bdb41962a42abac207fa5f", + "0x0000000000000000000000000000001f1bbe050cf66186ac48a21c16da881e63", + "0x0000000000000000000000000000000000245b8e82c4519c1b86998ec3910558", + "0x0000000000000000000000000000002540538015a260ed4f921d871ef1eeb558", + "0x0000000000000000000000000000000000054cbfda1fde5254c452de1353c5c4", + "0x0000000000000000000000000000003ba68d5ac627c41adf7a1255ba0930e9f6", + "0x000000000000000000000000000000000009b96ec1684410824d43eb93d6d4e1", + "0x0000000000000000000000000000000b323204216df4637ce74e4b36497f38d1", + "0x000000000000000000000000000000000000cf66df33d13ac17980d3de06322c", + "0x0000000000000000000000000000007f14651468fae63a5220a7539f1072e8f6", + "0x0000000000000000000000000000000000019ea3ff22d09a2e52f386a3d59474", + "0x000000000000000000000000000000ca4f747133bc9f746818db2807f11f2444", + "0x000000000000000000000000000000000024a509f1d9bcd9b44b4cf9735c246d", + "0x000000000000000000000000000000f663150ac8f7fee372893af17f3aa02923", + "0x00000000000000000000000000000000002c0eb8b5ac49b4574d7d3f227ebe52", + "0x000000000000000000000000000000c00da98036e27ebb3b12e99201143e0d7b", + "0x00000000000000000000000000000000000450e568852aab85ea82184bab52d8", + "0x000000000000000000000000000000931d31d8bbc24d79bc96afe80f64f756f4", + "0x00000000000000000000000000000000000f5bdee746341c5f1a5d366e6634af", + "0x0000000000000000000000000000005f44298aa4fccf4c8b6bda6a2aeb0d5dd9", + "0x00000000000000000000000000000000001d3f49af3573e59cc54ce18c654488", + "0x000000000000000000000000000000574eed43be74f67557fbbac1dc1872633b", + "0x00000000000000000000000000000000000e0808c8739e24ba462ce01ea31383", "0x0000000000000000000000000000002efaca4d96d128cd16f053120bc300398c", "0x000000000000000000000000000000000018b4165f92668f57edfc78be6db828", "0x000000000000000000000000000000a312930706e419ed9153f698f593f95349", @@ -2281,9 +2281,9 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000007338096232242abe040e1ae02bb9408b40", - "0x00000000000000000000000000000000000710131ad0ac2ca9d365fafcebf796", - "0x000000000000000000000000000000ace48317998096284f98ad48154136542e", - "0x000000000000000000000000000000000011fc28b11937e7adaa0efbb9b229c5" + "0x000000000000000000000000000000e6861749a0bb4373b06da39c231e32a84f", + "0x00000000000000000000000000000000000f16f04e1c5379f39602451edf640d", + "0x000000000000000000000000000000ffe57011db17ec8c05ea4be7b92ca8cfee", + "0x00000000000000000000000000000000002c3cd60f62b879666220dfff536beb" ] - hash = "0x2ef36a9f2fe0b7a82703d5483fb14ba51dad7e47660b8ecbcb1127e82438e250" + hash = "0x06e5bbb65122dbf65663c498be2437d466225d6059d13f8f2fe086a528fe4122" diff --git a/noir-projects/noir-protocol-circuits/crates/tube-public/Nargo.toml b/noir-projects/noir-protocol-circuits/crates/tube-public/Nargo.toml new file mode 100644 index 000000000000..41a8b4ecf4b9 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/tube-public/Nargo.toml @@ -0,0 +1,9 @@ +[package] +name = "tube_public" +type = "bin" +authors = [""] +compiler_version = ">=0.18.0" + +[dependencies] +rollup_lib = { path = "../rollup-lib" } +types = { path = "../types" } diff --git a/noir-projects/noir-protocol-circuits/crates/tube-public/src/main.nr b/noir-projects/noir-protocol-circuits/crates/tube-public/src/main.nr new file mode 100644 index 000000000000..7759f1065325 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/tube-public/src/main.nr @@ -0,0 +1,6 @@ +use dep::rollup_lib::base::PublicTubePrivateInputs; +use types::abis::kernel_circuit_public_inputs::PrivateToPublicKernelCircuitPublicInputs; + +fn main(inputs: PublicTubePrivateInputs) -> pub PrivateToPublicKernelCircuitPublicInputs { + inputs.execute() +} diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/mod.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/mod.nr index 9159b385111c..08a0736de623 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/mod.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/mod.nr @@ -56,5 +56,3 @@ pub mod private_kernel_data; pub mod private_circuit_public_inputs; pub mod sponge_blob; - -pub mod tube; diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/tube.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/tube.nr deleted file mode 100644 index 00860a887602..000000000000 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/tube.nr +++ /dev/null @@ -1,71 +0,0 @@ -use crate::{ - abis::kernel_circuit_public_inputs::{ - PrivateToPublicKernelCircuitPublicInputs, PrivateToRollupKernelCircuitPublicInputs, - }, - constants::{ - PRIVATE_TUBE_VK_INDEX, PROOF_TYPE_ROLLUP_HONK, PUBLIC_TUBE_VK_INDEX, - ULTRA_VK_LENGTH_IN_FIELDS, - }, - proof::{traits::Verifiable, tube_proof::TubeProof, vk_data::VkData}, - traits::Serialize, -}; - -pub struct PublicTubeData { - pub public_inputs: PrivateToPublicKernelCircuitPublicInputs, - pub proof: TubeProof, - pub vk_data: VkData, -} - -impl Verifiable for PublicTubeData { - /// Verifies the proof against the verification key and public inputs. - /// The vk hash is also checked in the backend to match the key. - fn verify(self) { - let inputs = PrivateToPublicKernelCircuitPublicInputs::serialize(self.public_inputs); - std::verify_proof_with_type( - self.vk_data.vk.key, - self.proof.fields, - inputs, - self.vk_data.vk.hash, - PROOF_TYPE_ROLLUP_HONK, - ); - } -} - -impl PublicTubeData { - /// Validates that the vk hash exists in the vk tree at the expected index. - pub fn validate_vk_in_vk_tree(self) { - assert_eq(self.vk_data.leaf_index, PUBLIC_TUBE_VK_INDEX); - // Note: The hash of the verification key is checked in `verify_proof_with_type` against the given vk hash. - self.vk_data.validate_in_vk_tree(self.public_inputs.constants.vk_tree_root); - } -} - -pub struct PrivateTubeData { - pub public_inputs: PrivateToRollupKernelCircuitPublicInputs, - pub proof: TubeProof, - pub vk_data: VkData, -} - -impl Verifiable for PrivateTubeData { - /// Verifies the proof against the verification key and public inputs. - /// The vk hash is also checked in the backend to match the key. - fn verify(self) { - let inputs = PrivateToRollupKernelCircuitPublicInputs::serialize(self.public_inputs); - std::verify_proof_with_type( - self.vk_data.vk.key, - self.proof.fields, - inputs, - self.vk_data.vk.hash, - PROOF_TYPE_ROLLUP_HONK, - ); - } -} - -impl PrivateTubeData { - /// Validates that the vk hash exists in the vk tree at the expected index. - pub fn validate_vk_in_vk_tree(self) { - assert_eq(self.vk_data.leaf_index, PRIVATE_TUBE_VK_INDEX); - // Note: The hash of the verification key is checked in `verify_proof_with_type` against the given vk hash. - self.vk_data.validate_in_vk_tree(self.public_inputs.constants.vk_tree_root); - } -} 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 4c911a3ce813..c71a6d47faa7 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr @@ -112,8 +112,9 @@ pub comptime global PRIVATE_KERNEL_TAIL_INDEX: u32 = 2; pub comptime global PRIVATE_KERNEL_TAIL_TO_PUBLIC_INDEX: u32 = 3; pub comptime global HIDING_KERNEL_TO_ROLLUP_VK_INDEX: u32 = 4; pub comptime global HIDING_KERNEL_TO_PUBLIC_VK_INDEX: u32 = 5; -pub comptime global PRIVATE_TUBE_VK_INDEX: u32 = 6; -pub comptime global PUBLIC_TUBE_VK_INDEX: u32 = 7; +pub comptime global PUBLIC_TUBE_VK_INDEX: u32 = 6; +// TODO(Leila): Skipping 7 for now because in the checkpoint pr the following vk indices will be rearranged and I don't +// want to introduce too many conflicts. Remove this comment and define the vk indices properly before merging the checkpoint pr. pub comptime global AVM_VK_INDEX: u32 = 8; pub comptime global PRIVATE_BASE_ROLLUP_VK_INDEX: u32 = 9; pub comptime global PUBLIC_BASE_ROLLUP_VK_INDEX: u32 = 10; @@ -371,6 +372,9 @@ pub global PRIVATE_CONTEXT_INPUTS_LENGTH: u32 = CALL_CONTEXT_LENGTH + BLOCK_HEADER_LENGTH + TX_CONTEXT_LENGTH + 1; pub global FEE_RECIPIENT_LENGTH: u32 = 2; +// The hiding kernel IO public inputs consist of pairing_inputs and table_commitments. +// They are independent of the circuit's custom public inputs. +pub global HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE: u32 = 48; pub global PAIRING_POINTS_SIZE: u32 = 16; pub global IPA_CLAIM_SIZE: u32 = 10; @@ -527,10 +531,11 @@ pub global ULTRA_KECCAK_PROOF_LENGTH: u32 = 350; // See UltraKeccakFlavor for fo pub global RECURSIVE_ROLLUP_HONK_PROOF_LENGTH: u32 = RECURSIVE_PROOF_LENGTH + IPA_CLAIM_SIZE + IPA_PROOF_LENGTH; pub global NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH: u32 = RECURSIVE_ROLLUP_HONK_PROOF_LENGTH; -pub global TUBE_PROOF_LENGTH: u32 = RECURSIVE_ROLLUP_HONK_PROOF_LENGTH; // in the future these can differ +pub global CIVC_PROOF_LENGTH: u32 = 2076; pub global ULTRA_VK_LENGTH_IN_FIELDS: u32 = 115; // size of an Ultra verification key pub global MEGA_VK_LENGTH_IN_FIELDS: u32 = 127; // size of a Mega verification key +pub global CIVC_VK_LENGTH_IN_FIELDS: u32 = MEGA_VK_LENGTH_IN_FIELDS; // size of a client ivc verification key // VK is composed of // - circuit size encoded as a fr field element (32 bytes) // - num of inputs encoded as a fr field element (32 bytes) diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/proof/mod.nr b/noir-projects/noir-protocol-circuits/crates/types/src/proof/mod.nr index ee669f003146..01b7e3635cce 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/proof/mod.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/proof/mod.nr @@ -2,6 +2,6 @@ pub mod avm_proof; pub mod recursive_proof; pub mod rollup_recursive_proof; pub mod traits; -pub mod tube_proof; pub mod verification_key; pub mod vk_data; +pub mod proof_data; diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/proof/proof_data.nr b/noir-projects/noir-protocol-circuits/crates/types/src/proof/proof_data.nr new file mode 100644 index 000000000000..876cf58388ed --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/types/src/proof/proof_data.nr @@ -0,0 +1,56 @@ +use crate::{ + constants::{ + CIVC_PROOF_LENGTH, CIVC_VK_LENGTH_IN_FIELDS, PROOF_TYPE_CIVC, PROOF_TYPE_ROLLUP_HONK, + RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, ULTRA_VK_LENGTH_IN_FIELDS, + }, + proof::vk_data::VkData, + traits::Serialize, +}; + +// TODO(#14345): Use the proof verification lib from bb. + +pub struct ProofData { + pub public_inputs: T, + pub proof: [Field; ProofLen], + pub vk_data: VkData, +} + +impl ProofData +where + T: Serialize, +{ + /// Verifies the proof against the verification key and public inputs. + /// The vk hash is also checked in the backend to match the key. + pub fn verify(self, proof_type: u32) { + let public_inputs = self.public_inputs.serialize(); + std::verify_proof_with_type( + self.vk_data.vk.key, + self.proof, + public_inputs, + self.vk_data.vk.hash, + proof_type, + ); + } +} + +impl ProofData +where + T: Serialize, +{ + pub fn verify_proof(self) { + self.verify(PROOF_TYPE_CIVC); + } +} + +impl ProofData +where + T: Serialize, +{ + pub fn verify_proof(self) { + self.verify(PROOF_TYPE_ROLLUP_HONK); + } +} + +pub type CivcProofData = ProofData; + +pub type RollupHonkProofData = ProofData; diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/proof/tube_proof.nr b/noir-projects/noir-protocol-circuits/crates/types/src/proof/tube_proof.nr deleted file mode 100644 index 91ece1d12a24..000000000000 --- a/noir-projects/noir-protocol-circuits/crates/types/src/proof/tube_proof.nr +++ /dev/null @@ -1,31 +0,0 @@ -use crate::{constants::TUBE_PROOF_LENGTH, traits::{Deserialize, Empty, Serialize}}; -use std::meta::derive; - -#[derive(Deserialize, Eq, Serialize)] -pub struct TubeProof { - pub fields: [Field; TUBE_PROOF_LENGTH], -} - -impl Empty for TubeProof { - fn empty() -> Self { - TubeProof { fields: [0; TUBE_PROOF_LENGTH] } - } -} - -mod test { - use crate::{ - constants::TUBE_PROOF_LENGTH, - proof::tube_proof::TubeProof, - traits::{Deserialize, Serialize}, - }; - - #[test] - fn serialization_of_tube_proof() { - let item = TubeProof { fields: [1; TUBE_PROOF_LENGTH] }; - // We use the TUBE_PROOF_LENGTH constant to ensure that there is a match between the derived trait - // implementation and the constant. - let serialized: [Field; TUBE_PROOF_LENGTH] = item.serialize(); - let deserialized = TubeProof::deserialize(serialized); - assert_eq(item, deserialized); - } -} diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixture_builder.nr b/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixture_builder.nr index 9a3f6874d6f1..664c860da8a4 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixture_builder.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixture_builder.nr @@ -42,7 +42,6 @@ use crate::{ side_effect::{Counted, Ordered, scoped::Scoped}, transaction::{tx_context::TxContext, tx_request::TxRequest}, tree_snapshots::TreeSnapshots, - tube::{PrivateTubeData, PublicTubeData}, tx_constant_data::TxConstantData, validation_requests::{ KeyValidationRequest, KeyValidationRequestAndGenerator, PrivateValidationRequests, @@ -80,6 +79,7 @@ use crate::{ messaging::l2_to_l1_message::L2ToL1Message, point::Point, proof::{ + proof_data::ProofData, recursive_proof::NestedRecursiveProof, verification_key::{ClientIVCVerificationKey, HonkVerificationKey, VerificationKey}, vk_data::VkData, @@ -88,10 +88,14 @@ use crate::{ storage::map::derive_storage_slot_in_map, tests::{ fixtures::{ - self, contract_functions::ContractFunction, contracts::ContractData, + self, + contract_functions::ContractFunction, + contracts::ContractData, public_data_tree::empty_public_data_tree, + vk_tree::{generate_fake_vk_for_index, VK_MERKLE_TREE}, }, merkle_tree_utils::NonEmptyMerkleTree, + utils::pad_end_with_empty, }, traits::{Deserialize, Empty, FromField, Hash, Packable, ToField}, utils::arrays::ClaimedLengthArray, @@ -383,6 +387,29 @@ impl FixtureBuilder { *self } + pub fn make_proof_data( + public_inputs: T, + vk_index: u32, + ) -> ProofData { + let value_offset = vk_index as Field * 8976; + ProofData { + public_inputs, + proof: pad_end_with_empty([ + value_offset + 79427943, + value_offset + 94340, + value_offset + 4789150, + value_offset + 524, + ]), + vk_data: Self::get_vk_data(vk_index), + } + } + + pub fn get_vk_data(vk_index: u32) -> VkData { + let vk = generate_fake_vk_for_index(vk_index); + let sibling_path = VK_MERKLE_TREE.get_sibling_path(vk_index); + VkData { vk, leaf_index: vk_index, sibling_path } + } + pub fn to_tx_constant_data(self) -> TxConstantData { TxConstantData { historical_header: self.historical_header, @@ -753,18 +780,6 @@ impl FixtureBuilder { } } - pub fn to_private_tube_data(self) -> PrivateTubeData { - let mut result: PrivateTubeData = std::mem::zeroed(); - result.public_inputs = self.to_private_to_rollup_kernel_circuit_public_inputs(); - result - } - - pub fn to_public_tube_data(self) -> PublicTubeData { - let mut result: PublicTubeData = std::mem::zeroed(); - result.public_inputs = self.to_private_to_public_kernel_circuit_public_inputs(); - result - } - pub fn to_avm_accumulated_data(self) -> AvmAccumulatedData { AvmAccumulatedData { note_hashes: self.note_hashes.storage().map(|n: ScopedNoteHash| n.note_hash.value), diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixtures/vk_tree.nr b/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixtures/vk_tree.nr index 3b1104e679ef..ad5ff260b870 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixtures/vk_tree.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixtures/vk_tree.nr @@ -1,77 +1,61 @@ use crate::constants::{ - AVM_VK_INDEX, BASE_PARITY_INDEX, BLOCK_MERGE_ROLLUP_INDEX, BLOCK_ROOT_ROLLUP_EMPTY_INDEX, - BLOCK_ROOT_ROLLUP_INDEX, BLOCK_ROOT_ROLLUP_SINGLE_TX_INDEX, MEGA_VK_LENGTH_IN_FIELDS, - MERGE_ROLLUP_INDEX, PRIVATE_BASE_ROLLUP_VK_INDEX, PRIVATE_KERNEL_INIT_INDEX, - PRIVATE_KERNEL_INNER_INDEX, PRIVATE_KERNEL_RESET_INDEX, PRIVATE_KERNEL_TAIL_INDEX, - PRIVATE_KERNEL_TAIL_TO_PUBLIC_INDEX, PRIVATE_TUBE_VK_INDEX, PUBLIC_BASE_ROLLUP_VK_INDEX, - PUBLIC_TUBE_VK_INDEX, ROOT_PARITY_INDEX, ROOT_ROLLUP_INDEX, ULTRA_VK_LENGTH_IN_FIELDS, + AVM_VK_INDEX, BASE_PARITY_INDEX, HIDING_KERNEL_TO_PUBLIC_VK_INDEX, MEGA_VK_LENGTH_IN_FIELDS, + PRIVATE_KERNEL_RESET_INDEX, ROOT_PARITY_INDEX, ROOT_ROLLUP_INDEX, ULTRA_VK_LENGTH_IN_FIELDS, VK_TREE_HEIGHT, }; use crate::merkle_tree::merkle_tree::MerkleTree; -use crate::proof::verification_key::VerificationKey; +use crate::{proof::verification_key::VerificationKey, tests::utils::pad_end_with_empty}; pub global VK_TREE_WIDTH: u32 = (1 as u8 << VK_TREE_HEIGHT as u8) as u32; -fn generate_fake_vk_for_index(index: u32) -> [Field; N] { - let mut vk = [0; N]; - vk[0] = index as Field; - vk +pub fn generate_fake_vk_for_index(vk_index: u32) -> VerificationKey { + let v = vk_index as Field; + let key = pad_end_with_empty([v + 234234, v + 6565, v + 77889900]); + let hash = v + 123123; + VerificationKey { key, hash } } pub fn generate_fake_honk_vk_for_index(index: u32) -> VerificationKey { - let key = generate_fake_vk_for_index(index); - VerificationKey { key, hash: index as Field + 234234 } + generate_fake_vk_for_index(index) } pub fn generate_fake_rollup_honk_vk_for_index( index: u32, ) -> VerificationKey { - let key = generate_fake_vk_for_index(index); - VerificationKey { key, hash: index as Field + 567567 } + generate_fake_vk_for_index(index) } pub fn generate_fake_client_ivc_vk_for_index( index: u32, ) -> VerificationKey { - let key = generate_fake_vk_for_index(index); - VerificationKey { key, hash: index as Field + 890890 } + generate_fake_vk_for_index(index) } pub global VK_MERKLE_TREE: MerkleTree = { let mut leaves = [0; VK_TREE_WIDTH]; // Fake VK hashes for testing purposes - leaves[PRIVATE_KERNEL_INIT_INDEX] = - generate_fake_client_ivc_vk_for_index(PRIVATE_KERNEL_INIT_INDEX).hash; - leaves[PRIVATE_KERNEL_INNER_INDEX] = - generate_fake_client_ivc_vk_for_index(PRIVATE_KERNEL_INNER_INDEX).hash; - leaves[PRIVATE_KERNEL_TAIL_INDEX] = - generate_fake_client_ivc_vk_for_index(PRIVATE_KERNEL_TAIL_INDEX).hash; - leaves[PRIVATE_KERNEL_TAIL_TO_PUBLIC_INDEX] = - generate_fake_client_ivc_vk_for_index(PRIVATE_KERNEL_TAIL_TO_PUBLIC_INDEX).hash; - leaves[PRIVATE_KERNEL_RESET_INDEX] = - generate_fake_client_ivc_vk_for_index(PRIVATE_KERNEL_RESET_INDEX).hash; - leaves[PRIVATE_TUBE_VK_INDEX] = - generate_fake_rollup_honk_vk_for_index(PRIVATE_TUBE_VK_INDEX).hash; - leaves[PUBLIC_TUBE_VK_INDEX] = - generate_fake_rollup_honk_vk_for_index(PUBLIC_TUBE_VK_INDEX).hash; + + // Client IVC + for i in 0..HIDING_KERNEL_TO_PUBLIC_VK_INDEX + 1 { + leaves[i] = generate_fake_client_ivc_vk_for_index(i).hash; + } + // Creating 4 reset variants. + for i in PRIVATE_KERNEL_RESET_INDEX..PRIVATE_KERNEL_RESET_INDEX + 4 { + leaves[i] = generate_fake_client_ivc_vk_for_index(i).hash; + } + + // Rollup Honk + for i in HIDING_KERNEL_TO_PUBLIC_VK_INDEX + 1..PRIVATE_KERNEL_RESET_INDEX { + leaves[i] = generate_fake_rollup_honk_vk_for_index(i).hash; + } + + // Honk + // Override some of the above with Honk Vks. leaves[AVM_VK_INDEX] = generate_fake_honk_vk_for_index(AVM_VK_INDEX).hash; - leaves[PRIVATE_BASE_ROLLUP_VK_INDEX] = - generate_fake_rollup_honk_vk_for_index(PRIVATE_BASE_ROLLUP_VK_INDEX).hash; - leaves[PUBLIC_BASE_ROLLUP_VK_INDEX] = - generate_fake_rollup_honk_vk_for_index(PUBLIC_BASE_ROLLUP_VK_INDEX).hash; leaves[BASE_PARITY_INDEX] = generate_fake_honk_vk_for_index(BASE_PARITY_INDEX).hash; leaves[ROOT_PARITY_INDEX] = generate_fake_honk_vk_for_index(ROOT_PARITY_INDEX).hash; - leaves[MERGE_ROLLUP_INDEX] = generate_fake_rollup_honk_vk_for_index(MERGE_ROLLUP_INDEX).hash; - leaves[BLOCK_ROOT_ROLLUP_INDEX] = - generate_fake_rollup_honk_vk_for_index(BLOCK_ROOT_ROLLUP_INDEX).hash; - leaves[BLOCK_ROOT_ROLLUP_SINGLE_TX_INDEX] = - generate_fake_rollup_honk_vk_for_index(BLOCK_ROOT_ROLLUP_SINGLE_TX_INDEX).hash; - leaves[BLOCK_MERGE_ROLLUP_INDEX] = - generate_fake_rollup_honk_vk_for_index(BLOCK_MERGE_ROLLUP_INDEX).hash; leaves[ROOT_ROLLUP_INDEX] = generate_fake_honk_vk_for_index(ROOT_ROLLUP_INDEX).hash; - leaves[BLOCK_ROOT_ROLLUP_EMPTY_INDEX] = - generate_fake_rollup_honk_vk_for_index(BLOCK_ROOT_ROLLUP_EMPTY_INDEX).hash; MerkleTree::new(leaves) }; diff --git a/noir-projects/rollup_honk_circuits.json b/noir-projects/rollup_honk_circuits.json index 2ba0dca2c48a..7727a6060244 100644 --- a/noir-projects/rollup_honk_circuits.json +++ b/noir-projects/rollup_honk_circuits.json @@ -1 +1 @@ -["rollup_base.*", "rollup_block.*", "rollup_merge"] +["tube.*", "rollup_base.*", "rollup_block.*", "rollup_merge"] diff --git a/yarn-project/bb-prover/package.json b/yarn-project/bb-prover/package.json index ba17d4434ac7..d292ddd16c26 100644 --- a/yarn-project/bb-prover/package.json +++ b/yarn-project/bb-prover/package.json @@ -28,7 +28,6 @@ "build": "yarn clean && tsc -b", "build:dev": "tsc -b --watch", "clean": "rm -rf ./dest .tsbuildinfo", - "generate": "scripts/copy_ivc_hiding_circuit_vks.sh", "bb": "node --no-warnings ./dest/bb/index.js", "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}" }, diff --git a/yarn-project/bb-prover/scripts/copy_ivc_hiding_circuit_vks.sh b/yarn-project/bb-prover/scripts/copy_ivc_hiding_circuit_vks.sh deleted file mode 100755 index f2f397aee700..000000000000 --- a/yarn-project/bb-prover/scripts/copy_ivc_hiding_circuit_vks.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -source $(git rev-parse --show-toplevel)/ci3/source -rm -rf ../artifacts -mkdir -p ../artifacts - -# Copy from noir-projects. Bootstrap must have ran in noir-projects. -private_to_rollup_vk=../../../noir-projects/noir-protocol-circuits/target/keys/hiding_kernel_to_rollup.ivc.vk -private_to_public_vk=../../../noir-projects/noir-protocol-circuits/target/keys/hiding_kernel_to_public.ivc.vk -if [[ -f "$private_to_rollup_vk" && -f "$private_to_public_vk" ]]; then - cp "$private_to_rollup_vk" ../artifacts/private-civc-vk - cp "$private_to_public_vk" ../artifacts/public-civc-vk -else - echo_stderr "You may need to run ./bootstrap.sh in the noir-projects folder. Could not find the IVC VKs at $private_to_rollup_vk and $private_to_public_vk." - exit 1 -fi diff --git a/yarn-project/bb-prover/src/bb/execute.ts b/yarn-project/bb-prover/src/bb/execute.ts index 06661d25c904..7397d45afdc9 100644 --- a/yarn-project/bb-prover/src/bb/execute.ts +++ b/yarn-project/bb-prover/src/bb/execute.ts @@ -15,7 +15,6 @@ export const PROOF_FILENAME = 'proof'; export const AVM_INPUTS_FILENAME = 'avm_inputs.bin'; export const AVM_BYTECODE_FILENAME = 'avm_bytecode.bin'; export const AVM_PUBLIC_INPUTS_FILENAME = 'avm_public_inputs.bin'; -export const CLIENT_IVC_PROOF_FILE_NAME = 'proof'; export enum BB_RESULT { SUCCESS, @@ -288,74 +287,6 @@ export async function generateProof( } } -/** - * Used for generating proofs of the tube circuit - * It is assumed that the working directory is a temporary and/or random directory used solely for generating this proof. - * - * @returns An object containing a result indication, the location of the proof and the duration taken - */ -export async function generateTubeProof( - pathToBB: string, - workingDirectory: string, - vkPath: string, - log: LogFn, -): Promise { - // Check that the working directory exists - try { - await fs.access(workingDirectory); - } catch { - return { status: BB_RESULT.FAILURE, reason: `Working directory ${workingDirectory} does not exist` }; - } - - // Paths for the inputs - const proofPath = join(workingDirectory, CLIENT_IVC_PROOF_FILE_NAME); - - // The proof is written to e.g. /workingDirectory/proof - const outputPath = workingDirectory; - const filePresent = async (file: string) => - await fs - .access(file, fs.constants.R_OK) - .then(_ => true) - .catch(_ => false); - - const binaryPresent = await filePresent(pathToBB); - if (!binaryPresent) { - return { status: BB_RESULT.FAILURE, reason: `Failed to find bb binary at ${pathToBB}` }; - } - - try { - if (!(await filePresent(proofPath))) { - return { status: BB_RESULT.FAILURE, reason: `Client IVC input files not present in ${workingDirectory}` }; - } - const args = ['-o', outputPath, '-k', vkPath, '-v']; - - const timer = new Timer(); - const logFunction = (message: string) => { - log(`TubeCircuit (prove) BB out - ${message}`); - }; - const result = await executeBB(pathToBB, 'prove_tube', args, logFunction); - const durationMs = timer.ms(); - - if (result.status == BB_RESULT.SUCCESS) { - return { - status: BB_RESULT.SUCCESS, - durationMs, - proofPath: outputPath, - pkPath: undefined, - vkDirectoryPath: outputPath, - }; - } - // Not a great error message here but it is difficult to decipher what comes from bb - return { - status: BB_RESULT.FAILURE, - reason: `Failed to generate proof. Exit code ${result.exitCode}. Signal ${result.signal}.`, - retry: !!result.signal, - }; - } catch (error) { - return { status: BB_RESULT.FAILURE, reason: `${error}` }; - } -} - /** * Used for generating AVM proofs. * It is assumed that the working directory is a temporary and/or random directory used solely for generating this proof. diff --git a/yarn-project/bb-prover/src/instrumentation.ts b/yarn-project/bb-prover/src/instrumentation.ts index 1490ea6fec59..e882b1dce704 100644 --- a/yarn-project/bb-prover/src/instrumentation.ts +++ b/yarn-project/bb-prover/src/instrumentation.ts @@ -86,7 +86,7 @@ export class ProverInstrumentation { */ recordDuration( metric: 'simulationDuration' | 'witGenDuration' | 'provingDuration', - circuitName: CircuitName | 'tubeCircuit', + circuitName: CircuitName, timerOrMS: Timer | number, ) { const s = typeof timerOrMS === 'number' ? timerOrMS / 1000 : timerOrMS.s(); @@ -116,7 +116,7 @@ export class ProverInstrumentation { */ recordSize( metric: 'witGenInputSize' | 'witGenOutputSize' | 'proofSize' | 'circuitSize' | 'circuitPublicInputCount', - circuitName: CircuitName | 'tubeCircuit', + circuitName: CircuitName, size: number, ) { this[metric].record(Math.ceil(size), { diff --git a/yarn-project/bb-prover/src/prover/client/wasm/bb_wasm_private_kernel_prover.ts b/yarn-project/bb-prover/src/prover/client/wasm/bb_wasm_private_kernel_prover.ts index d424e0b04767..28412f1c3122 100644 --- a/yarn-project/bb-prover/src/prover/client/wasm/bb_wasm_private_kernel_prover.ts +++ b/yarn-project/bb-prover/src/prover/client/wasm/bb_wasm_private_kernel_prover.ts @@ -29,9 +29,7 @@ export abstract class BBWASMPrivateKernelProver extends BBPrivateKernelProver { { threads: this.threads, logger: this.log.verbose, wasmPath: process.env.BB_WASM_PATH }, ); - // TODO(https://github.com/AztecProtocol/barretenberg/issues/1297): the vk is not provided to the network anymore. - // Move this sanity check inside the wasm code and remove the vk from the return value. - const [proof, _vk] = await backend.prove( + const [proof] = await backend.prove( executionSteps.map(step => ungzip(serializeWitness(step.witness))), executionSteps.map(step => step.vk), ); @@ -41,7 +39,7 @@ export abstract class BBWASMPrivateKernelProver extends BBPrivateKernelProver { duration: timer.ms(), proofSize: proof.length, }); - return new ClientIvcProof(Buffer.from(proof)); + return ClientIvcProof.fromBufferArray(proof); } public override async computeGateCountForCircuit(_bytecode: Buffer, _circuitName: string): Promise { diff --git a/yarn-project/bb-prover/src/prover/proof_utils.ts b/yarn-project/bb-prover/src/prover/proof_utils.ts index dabe7e432b2e..3b6ff7ce7c3b 100644 --- a/yarn-project/bb-prover/src/prover/proof_utils.ts +++ b/yarn-project/bb-prover/src/prover/proof_utils.ts @@ -1,4 +1,6 @@ import { + CIVC_PROOF_LENGTH, + HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE, IPA_CLAIM_SIZE, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, @@ -14,7 +16,7 @@ import assert from 'assert'; import { promises as fs } from 'fs'; import * as path from 'path'; -import { CLIENT_IVC_PROOF_FILE_NAME, PROOF_FILENAME, PUBLIC_INPUTS_FILENAME } from '../bb/execute.js'; +import { PROOF_FILENAME, PUBLIC_INPUTS_FILENAME } from '../bb/execute.js'; /** * Create a ClientIvcProof proof file. @@ -23,8 +25,10 @@ import { CLIENT_IVC_PROOF_FILE_NAME, PROOF_FILENAME, PUBLIC_INPUTS_FILENAME } fr * @returns the encapsulated client ivc proof */ export async function readClientIVCProofFromOutputDirectory(directory: string) { - const clientIvcProofBuffer = await fs.readFile(path.join(directory, CLIENT_IVC_PROOF_FILE_NAME)); - return new ClientIvcProof(clientIvcProofBuffer); + const proofFilename = path.join(directory, PROOF_FILENAME); + const binaryProof = await fs.readFile(proofFilename); + const proofFields = splitBufferIntoFields(binaryProof); + return new ClientIvcProof(proofFields); } /** @@ -33,9 +37,23 @@ export async function readClientIVCProofFromOutputDirectory(directory: string) { * @param proof the ClientIvcProof from object * @param directory the directory to write in */ -export async function writeClientIVCProofToOutputDirectory(clientIvcProof: ClientIvcProof, directory: string) { - const { clientIvcProofBuffer } = clientIvcProof; - await fs.writeFile(path.join(directory, CLIENT_IVC_PROOF_FILE_NAME), clientIvcProofBuffer); +export async function writeClientIVCProofToPath(clientIvcProof: ClientIvcProof, outputPath: string) { + // NB: Don't use clientIvcProof.toBuffer here because it will include the proof length. + const fieldsBuf = Buffer.concat(clientIvcProof.proof.map(field => field.toBuffer())); + await fs.writeFile(outputPath, fieldsBuf); +} + +function getNumCustomPublicInputs(proofLength: number, vkData: VerificationKeyData) { + let numPublicInputs = vkData.numPublicInputs; + if (proofLength == CIVC_PROOF_LENGTH) { + numPublicInputs -= HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE; + } else { + numPublicInputs -= PAIRING_POINTS_SIZE; + if (proofLength == NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH) { + numPublicInputs -= IPA_CLAIM_SIZE; + } + } + return numPublicInputs; } function splitBufferIntoFields(buffer: Buffer): Fr[] { @@ -46,43 +64,47 @@ function splitBufferIntoFields(buffer: Buffer): Fr[] { return fields; } -export async function readProofAsFields( - filePath: string, +export async function readProofsFromOutputDirectory( + directory: string, vkData: VerificationKeyData, proofLength: PROOF_LENGTH, logger: Logger, ): Promise> { - const publicInputsFilename = path.join(filePath, PUBLIC_INPUTS_FILENAME); - const proofFilename = path.join(filePath, PROOF_FILENAME); - - const [binaryPublicInputs, binaryProof] = await Promise.all([ - fs.readFile(publicInputsFilename), - fs.readFile(proofFilename), - ]); - - const fieldsWithoutPublicInputs = splitBufferIntoFields(binaryProof); - - let numPublicInputs = vkData.numPublicInputs - PAIRING_POINTS_SIZE; assert( - proofLength == NESTED_RECURSIVE_PROOF_LENGTH || + proofLength == CIVC_PROOF_LENGTH || + proofLength == NESTED_RECURSIVE_PROOF_LENGTH || proofLength == NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH || proofLength == ULTRA_KECCAK_PROOF_LENGTH, `Proof length must be one of the expected proof lengths, received ${proofLength}`, ); - if (proofLength == NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH) { - numPublicInputs -= IPA_CLAIM_SIZE; + + const publicInputsFilename = path.join(directory, PUBLIC_INPUTS_FILENAME); + const proofFilename = path.join(directory, PROOF_FILENAME); + + // Handle CIVC separately because bb outputs the proof fields with public inputs for CIVC. + const isCIVC = proofLength == CIVC_PROOF_LENGTH; + + const [binaryPublicInputs, binaryProof] = await Promise.all([ + isCIVC ? Buffer.alloc(0) : fs.readFile(publicInputsFilename), + fs.readFile(proofFilename), + ]); + + const numPublicInputs = getNumCustomPublicInputs(proofLength, vkData); + let fieldsWithoutPublicInputs = splitBufferIntoFields(binaryProof); + if (isCIVC) { + fieldsWithoutPublicInputs = fieldsWithoutPublicInputs.slice(numPublicInputs); } assert( fieldsWithoutPublicInputs.length == proofLength, - `Proof length mismatch: ${fieldsWithoutPublicInputs.length} != ${proofLength}`, + `Proof fields length mismatch: ${fieldsWithoutPublicInputs.length} != ${proofLength}`, ); // Concat binary public inputs and binary proof // This buffer will have the form: [binary public inputs, binary proof] const binaryProofWithPublicInputs = Buffer.concat([binaryPublicInputs, binaryProof]); logger.debug( - `Circuit path: ${filePath}, complete proof length: ${fieldsWithoutPublicInputs.length}, num public inputs: ${numPublicInputs}, circuit size: ${vkData.circuitSize}`, + `Circuit path: ${directory}, proof fields length: ${fieldsWithoutPublicInputs.length}, num public inputs: ${numPublicInputs}, circuit size: ${vkData.circuitSize}`, ); return new RecursiveProof( fieldsWithoutPublicInputs, diff --git a/yarn-project/bb-prover/src/prover/server/bb_prover.ts b/yarn-project/bb-prover/src/prover/server/bb_prover.ts index ab18aecd1a81..cbb404a58064 100644 --- a/yarn-project/bb-prover/src/prover/server/bb_prover.ts +++ b/yarn-project/bb-prover/src/prover/server/bb_prover.ts @@ -4,7 +4,6 @@ import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, PAIRING_POINTS_SIZE, RECURSIVE_PROOF_LENGTH, - TUBE_PROOF_LENGTH, ULTRA_KECCAK_PROOF_LENGTH, } from '@aztec/constants'; import { Fr } from '@aztec/foundation/fields'; @@ -29,6 +28,8 @@ import { convertPrivateBaseRollupOutputsFromWitnessMap, convertPublicBaseRollupInputsToWitnessMap, convertPublicBaseRollupOutputsFromWitnessMap, + convertPublicTubeOutputsFromWitnessMap, + convertPublicTubePrivateInputsToWitnessMap, convertRootParityInputsToWitnessMap, convertRootParityOutputsFromWitnessMap, convertRootRollupInputsToWitnessMap, @@ -49,6 +50,7 @@ import { makeProofAndVerificationKey, makePublicInputsAndRecursiveProof, } from '@aztec/stdlib/interfaces/server'; +import type { PrivateToPublicKernelCircuitPublicInputs } from '@aztec/stdlib/kernel'; import type { BaseParityInputs, ParityPublicInputs, RootParityInputs } from '@aztec/stdlib/parity'; import { Proof, RecursiveProof, makeRecursiveProofFromBinary } from '@aztec/stdlib/proofs'; import { @@ -61,17 +63,16 @@ import { PaddingBlockRootRollupInputs, type PrivateBaseRollupInputs, PublicBaseRollupInputs, + PublicTubePrivateInputs, type RootRollupInputs, type RootRollupPublicInputs, type SingleTxBlockRootRollupInputs, - type TubeInputs, enhanceProofWithPiValidationFlag, } from '@aztec/stdlib/rollup'; import type { CircuitProvingStats, CircuitWitnessGenerationStats } from '@aztec/stdlib/stats'; import type { VerificationKeyData } from '@aztec/stdlib/vks'; import { Attributes, type TelemetryClient, getTelemetryClient, trackSpan } from '@aztec/telemetry-client'; -import crypto from 'crypto'; import { promises as fs } from 'fs'; import * as path from 'path'; @@ -84,7 +85,6 @@ import { VK_FILENAME, generateAvmProof, generateProof, - generateTubeProof, verifyAvmProof, verifyProof, } from '../../bb/execute.js'; @@ -92,9 +92,8 @@ import type { ACVMConfig, BBConfig } from '../../config.js'; import { type UltraHonkFlavor, getUltraHonkFlavorForCircuit } from '../../honk.js'; import { ProverInstrumentation } from '../../instrumentation.js'; import { mapProtocolArtifactNameToCircuitName } from '../../stats.js'; -import { extractAvmVkData, extractVkData } from '../../verification_key/verification_key_data.js'; -import { PRIVATE_TAIL_CIVC_VK, PUBLIC_TAIL_CIVC_VK } from '../../verifier/bb_verifier.js'; -import { readProofAsFields, writeClientIVCProofToOutputDirectory } from '../proof_utils.js'; +import { extractAvmVkData } from '../../verification_key/verification_key_data.js'; +import { readProofsFromOutputDirectory } from '../proof_utils.js'; const logger = createLogger('bb-prover'); @@ -197,6 +196,31 @@ export class BBNativeRollupProver implements ServerCircuitProver { return proofAndVk; } + public async getPublicTubeProof( + inputs: PublicTubePrivateInputs, + ): Promise< + PublicInputsAndRecursiveProof< + PrivateToPublicKernelCircuitPublicInputs, + typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH + > + > { + const artifactName = 'PublicTube'; + + const { circuitOutput, proof } = await this.createRecursiveProof( + inputs, + artifactName, + NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, + convertPublicTubePrivateInputsToWitnessMap, + convertPublicTubeOutputsFromWitnessMap, + ); + + const verificationKey = this.getVerificationKeyDataForCircuit(artifactName); + + await this.verifyProof(artifactName, proof.binaryProof); + + return makePublicInputsAndRecursiveProof(circuitOutput, proof, verificationKey); + } + /** * Simulates the base rollup circuit from its inputs. * @param inputs - Inputs to the circuit. @@ -501,7 +525,7 @@ export class BBNativeRollupProver implements ServerCircuitProver { const vkData = this.getVerificationKeyDataForCircuit(circuitType); const PROOF_LENGTH = circuitType == 'RootRollupArtifact' ? ULTRA_KECCAK_PROOF_LENGTH : RECURSIVE_PROOF_LENGTH; - const proof = await readProofAsFields(provingResult.proofPath!, vkData, PROOF_LENGTH, logger); + const proof = await readProofsFromOutputDirectory(provingResult.proofPath!, vkData, PROOF_LENGTH, logger); const circuitName = mapProtocolArtifactNameToCircuitName(circuitType); @@ -540,28 +564,6 @@ export class BBNativeRollupProver implements ServerCircuitProver { return provingResult; } - private async generateTubeProofWithBB(bbWorkingDirectory: string, input: TubeInputs): Promise { - logger.debug(`Proving tube...`); - - const hasher = crypto.createHash('sha256'); - hasher.update(input.toBuffer()); - - await writeClientIVCProofToOutputDirectory(input.clientIVCData, bbWorkingDirectory); - const provingResult = await generateTubeProof( - this.config.bbBinaryPath, - bbWorkingDirectory, - input.usePublicTailVk ? PUBLIC_TAIL_CIVC_VK : PRIVATE_TAIL_CIVC_VK, - logger.verbose, - ); - - if (provingResult.status === BB_RESULT.FAILURE) { - logger.error(`Failed to generate proof for tube circuit: ${provingResult.reason}`); - throw new ProvingError(provingResult.reason, provingResult, provingResult.retry); - } - - return provingResult; - } - private async createAvmProof( input: AvmCircuitInputs, ): Promise> { @@ -596,35 +598,6 @@ export class BBNativeRollupProver implements ServerCircuitProver { return await this.runInDirectory(operation); } - public async getTubeProof(input: TubeInputs): Promise> { - const operation = async (bbWorkingDirectory: string) => { - logger.debug(`createTubeProof: ${bbWorkingDirectory}`); - const provingResult = await this.generateTubeProofWithBB(bbWorkingDirectory, input); - - // Read the proof as fields - // TODO(AD): this is the only remaining use of extractVkData. - const tubeVK = await extractVkData(provingResult.vkDirectoryPath!); - const tubeProof = await readProofAsFields(provingResult.proofPath!, tubeVK, TUBE_PROOF_LENGTH, logger); - - this.instrumentation.recordDuration('provingDuration', 'tubeCircuit', provingResult.durationMs); - this.instrumentation.recordSize('proofSize', 'tubeCircuit', tubeProof.binaryProof.buffer.length); - this.instrumentation.recordSize('circuitPublicInputCount', 'tubeCircuit', tubeVK.numPublicInputs); - this.instrumentation.recordSize('circuitSize', 'tubeCircuit', tubeVK.circuitSize); - - // Sanity check the tube proof (can be removed later) - await this.verifyWithKey('ultra_rollup_honk', tubeVK, tubeProof.binaryProof); - - logger.info( - `Generated proof for tubeCircuit in ${Math.ceil(provingResult.durationMs)} ms, size: ${ - tubeProof.proof.length - } fields`, - ); - - return makeProofAndVerificationKey(tubeProof, tubeVK); - }; - return await this.runInDirectory(operation); - } - /** * Executes a circuit and returns its outputs and corresponding proof with embedded aggregation object * @param witnessMap - The input witness @@ -657,7 +630,7 @@ export class BBNativeRollupProver implements ServerCircuitProver { const vkData = this.getVerificationKeyDataForCircuit(circuitType); // Read the proof as fields - const proof = await readProofAsFields(provingResult.proofPath!, vkData, proofLength, logger); + const proof = await readProofsFromOutputDirectory(provingResult.proofPath!, vkData, proofLength, logger); const circuitName = mapProtocolArtifactNameToCircuitName(circuitType); this.instrumentation.recordDuration('provingDuration', circuitName, provingResult.durationMs); diff --git a/yarn-project/bb-prover/src/stats.ts b/yarn-project/bb-prover/src/stats.ts index 492fada7d5dd..a0b30313facd 100644 --- a/yarn-project/bb-prover/src/stats.ts +++ b/yarn-project/bb-prover/src/stats.ts @@ -7,6 +7,8 @@ export function mapProtocolArtifactNameToCircuitName(artifact: ProtocolArtifact) return 'base-parity'; case 'RootParityArtifact': return 'root-parity'; + case 'PublicTube': + return 'public-tube'; case 'PrivateBaseRollupArtifact': return 'private-base-rollup'; case 'PublicBaseRollupArtifact': diff --git a/yarn-project/bb-prover/src/test/delay_values.ts b/yarn-project/bb-prover/src/test/delay_values.ts index bdaddcfbf375..cb5e173995ed 100644 --- a/yarn-project/bb-prover/src/test/delay_values.ts +++ b/yarn-project/bb-prover/src/test/delay_values.ts @@ -12,7 +12,7 @@ export const WITGEN_DELAY_MS: Record = { [ProvingRequestType.PUBLIC_BASE_ROLLUP]: 470_000, [ProvingRequestType.ROOT_PARITY]: 100, [ProvingRequestType.ROOT_ROLLUP]: 650, - [ProvingRequestType.TUBE_PROOF]: 0, + [ProvingRequestType.PUBLIC_TUBE]: 0, [ProvingRequestType.PUBLIC_VM]: 0, }; @@ -28,6 +28,6 @@ export const PROOF_DELAY_MS: Record = { [ProvingRequestType.PUBLIC_BASE_ROLLUP]: 160_000, [ProvingRequestType.ROOT_PARITY]: 30_000, [ProvingRequestType.ROOT_ROLLUP]: 15_000, - [ProvingRequestType.TUBE_PROOF]: 30_000, + [ProvingRequestType.PUBLIC_TUBE]: 30_000, [ProvingRequestType.PUBLIC_VM]: 0, }; diff --git a/yarn-project/bb-prover/src/test/test_circuit_prover.ts b/yarn-project/bb-prover/src/test/test_circuit_prover.ts index 8c828759eb59..933a4ce3d0b9 100644 --- a/yarn-project/bb-prover/src/test/test_circuit_prover.ts +++ b/yarn-project/bb-prover/src/test/test_circuit_prover.ts @@ -4,7 +4,6 @@ import { NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, - TUBE_PROOF_LENGTH, } from '@aztec/constants'; import { createLogger } from '@aztec/foundation/log'; import { sleep } from '@aztec/foundation/sleep'; @@ -47,6 +46,7 @@ import { makeProofAndVerificationKey, makePublicInputsAndRecursiveProof, } from '@aztec/stdlib/interfaces/server'; +import type { PrivateToPublicKernelCircuitPublicInputs } from '@aztec/stdlib/kernel'; import type { BaseParityInputs, ParityPublicInputs, RootParityInputs } from '@aztec/stdlib/parity'; import { type Proof, ProvingRequestType, makeEmptyRecursiveProof, makeRecursiveProof } from '@aztec/stdlib/proofs'; import type { @@ -59,10 +59,10 @@ import type { PaddingBlockRootRollupInputs, PrivateBaseRollupInputs, PublicBaseRollupInputs, + PublicTubePrivateInputs, RootRollupInputs, RootRollupPublicInputs, SingleTxBlockRootRollupInputs, - TubeInputs, } from '@aztec/stdlib/rollup'; import { VerificationKeyData } from '@aztec/stdlib/vks'; import { type TelemetryClient, getTelemetryClient, trackSpan } from '@aztec/telemetry-client'; @@ -142,9 +142,20 @@ export class TestCircuitProver implements ServerCircuitProver { ); } - public getTubeProof(_tubeInput: TubeInputs): Promise> { - return this.applyDelay(ProvingRequestType.TUBE_PROOF, () => - makeProofAndVerificationKey(makeEmptyRecursiveProof(TUBE_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()), + public getPublicTubeProof( + inputs: PublicTubePrivateInputs, + ): Promise< + PublicInputsAndRecursiveProof< + PrivateToPublicKernelCircuitPublicInputs, + typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH + > + > { + return this.applyDelay(ProvingRequestType.PUBLIC_TUBE, () => + makePublicInputsAndRecursiveProof( + inputs.hidingKernelProofData.publicInputs, + makeEmptyRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), + ProtocolCircuitVks.PublicTube, + ), ); } diff --git a/yarn-project/bb-prover/src/verifier/bb_verifier.ts b/yarn-project/bb-prover/src/verifier/bb_verifier.ts index 97f9bf2f68c6..1fbf822c2548 100644 --- a/yarn-project/bb-prover/src/verifier/bb_verifier.ts +++ b/yarn-project/bb-prover/src/verifier/bb_verifier.ts @@ -1,8 +1,12 @@ import { runInDirectory } from '@aztec/foundation/fs'; import { type Logger, createLogger } from '@aztec/foundation/log'; import { Timer } from '@aztec/foundation/timer'; -import { ServerCircuitVks } from '@aztec/noir-protocol-circuits-types/server/vks'; -import type { ClientProtocolArtifact, ServerProtocolArtifact } from '@aztec/noir-protocol-circuits-types/types'; +import { ProtocolCircuitVks } from '@aztec/noir-protocol-circuits-types/server/vks'; +import type { + ClientProtocolArtifact, + ProtocolArtifact, + ServerProtocolArtifact, +} from '@aztec/noir-protocol-circuits-types/types'; import type { ClientProtocolCircuitVerifier, IVCProofVerificationResult } from '@aztec/stdlib/interfaces/server'; import type { Proof } from '@aztec/stdlib/proofs'; import type { CircuitVerificationStats } from '@aztec/stdlib/stats'; @@ -11,7 +15,6 @@ import type { VerificationKeyData } from '@aztec/stdlib/vks'; import { promises as fs } from 'fs'; import * as path from 'path'; -import { fileURLToPath } from 'url'; import { BB_RESULT, @@ -23,15 +26,9 @@ import { } from '../bb/execute.js'; import type { BBConfig } from '../config.js'; import { getUltraHonkFlavorForCircuit } from '../honk.js'; -import { writeClientIVCProofToOutputDirectory } from '../prover/proof_utils.js'; +import { writeClientIVCProofToPath } from '../prover/proof_utils.js'; import { mapProtocolArtifactNameToCircuitName } from '../stats.js'; -const __dirname = path.dirname(fileURLToPath(import.meta.url)); - -// Built by yarn generate -export const PRIVATE_TAIL_CIVC_VK = path.join(__dirname, '../../artifacts/private-civc-vk'); -export const PUBLIC_TAIL_CIVC_VK = path.join(__dirname, '../../artifacts/public-civc-vk'); - export class BBCircuitVerifier implements ClientProtocolCircuitVerifier { private constructor( private config: BBConfig, @@ -47,10 +44,10 @@ export class BBCircuitVerifier implements ClientProtocolCircuitVerifier { return new BBCircuitVerifier(config, logger); } - public getVerificationKeyData(circuitType: ServerProtocolArtifact): VerificationKeyData { - const vk = ServerCircuitVks[circuitType]; + public getVerificationKeyData(circuit: ProtocolArtifact): VerificationKeyData { + const vk = ProtocolCircuitVks[circuit]; if (vk === undefined) { - throw new Error('Could not find VK for server artifact ' + circuitType); + throw new Error(`Could not find VK for artifact ${circuit}`); } return vk; } @@ -93,42 +90,43 @@ export class BBCircuitVerifier implements ClientProtocolCircuitVerifier { } public async verifyProof(tx: Tx): Promise { + const proofType = 'ClientIVC'; try { const totalTimer = new Timer(); let verificationDuration = 0; - // TODO(#7370) The verification keys should be supplied separately and based on the expectedCircuit - // rather than read from the tx object itself. We also need the vks for the translator and ecc, which - // are not being saved along the other vks yet. Reuse the 'verifyProofForCircuit' method above once - // we have all the verification keys available. - const expectedCircuit: ClientProtocolArtifact = tx.data.forPublic - ? 'PrivateKernelTailToPublicArtifact' - : 'PrivateKernelTailArtifact'; - const circuit = 'ClientIVC'; + + const circuit: ClientProtocolArtifact = tx.data.forPublic ? 'HidingKernelToPublic' : 'HidingKernelToRollup'; // Block below is almost copy-pasted from verifyProofForCircuit const operation = async (bbWorkingDirectory: string) => { const logFunction = (message: string) => { - this.logger.debug(`${circuit} BB out - ${message}`); + this.logger.debug(`${proofType} BB out - ${message}`); }; - await writeClientIVCProofToOutputDirectory(tx.clientIvcProof, bbWorkingDirectory); + const proofPath = path.join(bbWorkingDirectory, PROOF_FILENAME); + await writeClientIVCProofToPath(tx.clientIvcProof, proofPath); + + const verificationKeyPath = path.join(bbWorkingDirectory, VK_FILENAME); + const verificationKey = this.getVerificationKeyData(circuit); + await fs.writeFile(verificationKeyPath, verificationKey.keyAsBytes); + const timer = new Timer(); const result = await verifyClientIvcProof( this.config.bbBinaryPath, - bbWorkingDirectory.concat('/proof'), - tx.data.forPublic ? PUBLIC_TAIL_CIVC_VK : PRIVATE_TAIL_CIVC_VK, + proofPath, + verificationKeyPath, logFunction, this.config.bbIVCConcurrency, ); verificationDuration = timer.ms(); if (result.status === BB_RESULT.FAILURE) { - const errorMessage = `Failed to verify ${circuit} proof for ${expectedCircuit}!`; + const errorMessage = `Failed to verify ${proofType} proof for ${circuit}!`; throw new Error(errorMessage); } - this.logger.debug(`${circuit} verification successful`, { - circuitName: mapProtocolArtifactNameToCircuitName(expectedCircuit), + this.logger.debug(`${proofType} verification successful`, { + circuitName: mapProtocolArtifactNameToCircuitName(circuit), duration: result.durationMs, eventName: 'circuit-verification', proofType: 'client-ivc', @@ -137,7 +135,7 @@ export class BBCircuitVerifier implements ClientProtocolCircuitVerifier { await runInDirectory(this.config.bbWorkingDirectory, operation, this.config.bbSkipCleanup, this.logger); return { valid: true, durationMs: verificationDuration, totalDurationMs: totalTimer.ms() }; } catch (err) { - this.logger.warn(`Failed to verify ClientIVC proof for tx ${tx.getTxHash().toString()}: ${String(err)}`); + this.logger.warn(`Failed to verify ${proofType} proof for tx ${tx.getTxHash().toString()}: ${String(err)}`); return { valid: false, durationMs: 0, totalDurationMs: 0 }; } } diff --git a/yarn-project/bootstrap.sh b/yarn-project/bootstrap.sh index 0a4707214747..53f5cca8e345 100755 --- a/yarn-project/bootstrap.sh +++ b/yarn-project/bootstrap.sh @@ -56,7 +56,6 @@ function compile_all { # Call all projects that have a generation stage. parallel --joblog joblog.txt --line-buffered --tag 'cd {} && yarn generate' ::: \ accounts \ - bb-prover \ stdlib \ ivc-integration \ l1-artifacts \ diff --git a/yarn-project/constants/src/constants.gen.ts b/yarn-project/constants/src/constants.gen.ts index 62ad574f4293..522f36e8bc12 100644 --- a/yarn-project/constants/src/constants.gen.ts +++ b/yarn-project/constants/src/constants.gen.ts @@ -67,8 +67,7 @@ export const PRIVATE_KERNEL_TAIL_INDEX = 2; export const PRIVATE_KERNEL_TAIL_TO_PUBLIC_INDEX = 3; export const HIDING_KERNEL_TO_ROLLUP_VK_INDEX = 4; export const HIDING_KERNEL_TO_PUBLIC_VK_INDEX = 5; -export const PRIVATE_TUBE_VK_INDEX = 6; -export const PUBLIC_TUBE_VK_INDEX = 7; +export const PUBLIC_TUBE_VK_INDEX = 6; export const AVM_VK_INDEX = 8; export const PRIVATE_BASE_ROLLUP_VK_INDEX = 9; export const PUBLIC_BASE_ROLLUP_VK_INDEX = 10; @@ -192,6 +191,7 @@ export const PROPOSED_BLOCK_HEADER_LENGTH_BYTES = 284; export const PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH = 748; export const PRIVATE_CONTEXT_INPUTS_LENGTH = 39; export const FEE_RECIPIENT_LENGTH = 2; +export const HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE = 48; export const PAIRING_POINTS_SIZE = 16; export const IPA_CLAIM_SIZE = 10; export const SCOPED_READ_REQUEST_LEN = 3; @@ -232,9 +232,10 @@ export const IPA_PROOF_LENGTH = 68; export const ULTRA_KECCAK_PROOF_LENGTH = 350; export const RECURSIVE_ROLLUP_HONK_PROOF_LENGTH = 535; export const NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH = 535; -export const TUBE_PROOF_LENGTH = 535; +export const CIVC_PROOF_LENGTH = 2076; export const ULTRA_VK_LENGTH_IN_FIELDS = 115; export const MEGA_VK_LENGTH_IN_FIELDS = 127; +export const CIVC_VK_LENGTH_IN_FIELDS = 127; export const AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS = 86; export const MAX_PUBLIC_BYTECODE_SIZE_IN_BYTES = 96000; export const MAX_PUBLIC_CALLS_TO_UNIQUE_CONTRACT_CLASS_IDS = 21; diff --git a/yarn-project/ivc-integration/src/avm_integration.test.ts b/yarn-project/ivc-integration/src/avm_integration.test.ts index b634c26809fd..b7c4f0a6b3fd 100644 --- a/yarn-project/ivc-integration/src/avm_integration.test.ts +++ b/yarn-project/ivc-integration/src/avm_integration.test.ts @@ -1,22 +1,24 @@ -import { BB_RESULT, verifyClientIvcProof, writeClientIVCProofToOutputDirectory } from '@aztec/bb-prover'; import { AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED, - TUBE_PROOF_LENGTH, - ULTRA_VK_LENGTH_IN_FIELDS, + CIVC_PROOF_LENGTH, + CIVC_VK_LENGTH_IN_FIELDS, } from '@aztec/constants'; +import { Fr } from '@aztec/foundation/fields'; import { createLogger } from '@aztec/foundation/log'; import { mapAvmCircuitPublicInputsToNoir } from '@aztec/noir-protocol-circuits-types/server'; import { AvmTestContractArtifact } from '@aztec/noir-test-contracts.js/AvmTest'; import { PublicTxSimulationTester, bulkTest, createAvmMinimalPublicTx } from '@aztec/simulator/public/fixtures'; import type { AvmCircuitInputs } from '@aztec/stdlib/avm'; import type { ProofAndVerificationKey } from '@aztec/stdlib/interfaces/server'; +import { VerificationKeyAsFields } from '@aztec/stdlib/vks'; import { jest } from '@jest/globals'; import path from 'path'; import { fileURLToPath } from 'url'; +import MockHidingJson from '../artifacts/mock_hiding.json' with { type: 'json' }; import { getWorkingDirectory } from './bb_working_directory.js'; -import { proveAvm, proveClientIVC, proveRollupHonk, proveTube } from './prove_native.js'; +import { proveAvm, proveClientIVC, proveRollupHonk } from './prove_native.js'; import type { KernelPublicInputs } from './types/index.js'; import { MockRollupBasePublicCircuit, @@ -39,7 +41,7 @@ async function proveMockPublicBaseRollup( bbWorkingDirectory: string, bbBinaryPath: string, clientIVCPublicInputs: KernelPublicInputs, - tubeProof: ProofAndVerificationKey, + civcProof: ProofAndVerificationKey, skipPublicInputsValidation: boolean = false, ) { const { vk, proof, publicInputs } = await proveAvm( @@ -49,11 +51,15 @@ async function proveMockPublicBaseRollup( skipPublicInputsValidation, ); + // Use the pre-generated standalone vk to verify the proof recursively. + const ivcVk = await VerificationKeyAsFields.fromKey( + MockHidingJson.verificationKey.fields.map((str: string) => Fr.fromHexString(str)), + ); const baseWitnessResult = await witnessGenMockPublicBaseCircuit({ - tube_data: { + civc_proof_data: { public_inputs: clientIVCPublicInputs, - proof: mapRecursiveProofToNoir(tubeProof.proof), - vk_data: mapVerificationKeyToNoir(tubeProof.verificationKey.keyAsFields, ULTRA_VK_LENGTH_IN_FIELDS), + proof: mapRecursiveProofToNoir(civcProof.proof), + vk_data: mapVerificationKeyToNoir(ivcVk, CIVC_VK_LENGTH_IN_FIELDS), }, verification_key: mapVerificationKeyToNoir(vk, AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED), proof: mapAvmProofToNoir(proof), @@ -73,7 +79,7 @@ async function proveMockPublicBaseRollup( describe('AVM Integration', () => { let bbWorkingDirectory: string; let bbBinaryPath: string; - let tubeProof: ProofAndVerificationKey; + let civcProof: ProofAndVerificationKey; let clientIVCPublicInputs: KernelPublicInputs; let simTester: PublicTxSimulationTester; @@ -83,16 +89,7 @@ describe('AVM Integration', () => { bbBinaryPath = path.join(path.dirname(fileURLToPath(import.meta.url)), '../../../barretenberg/cpp/build/bin', 'bb'); const [bytecodes, witnessStack, tailPublicInputs, vks] = await generateTestingIVCStack(1, 0); clientIVCPublicInputs = tailPublicInputs; - const proof = await proveClientIVC(bbBinaryPath, clientIVCProofPath, witnessStack, bytecodes, vks, logger); - await writeClientIVCProofToOutputDirectory(proof, clientIVCProofPath); - const verifyResult = await verifyClientIvcProof( - bbBinaryPath, - clientIVCProofPath.concat('/proof'), - clientIVCProofPath.concat('/vk'), - logger.info, - ); - expect(verifyResult.status).toEqual(BB_RESULT.SUCCESS); - tubeProof = await proveTube(bbBinaryPath, clientIVCProofPath, logger); + civcProof = await proveClientIVC(bbBinaryPath, clientIVCProofPath, witnessStack, bytecodes, vks, logger); }); beforeEach(async () => { @@ -112,7 +109,7 @@ describe('AVM Integration', () => { bbWorkingDirectory, bbBinaryPath, clientIVCPublicInputs, - tubeProof, + civcProof, ); }, 240_000); @@ -125,7 +122,7 @@ describe('AVM Integration', () => { bbWorkingDirectory, bbBinaryPath, clientIVCPublicInputs, - tubeProof, + civcProof, true, ); }, 240_000); diff --git a/yarn-project/ivc-integration/src/native_client_ivc_integration.test.ts b/yarn-project/ivc-integration/src/native_client_ivc_integration.test.ts index 1db2427891f6..80897c0d5705 100644 --- a/yarn-project/ivc-integration/src/native_client_ivc_integration.test.ts +++ b/yarn-project/ivc-integration/src/native_client_ivc_integration.test.ts @@ -1,4 +1,4 @@ -import { BB_RESULT, verifyClientIvcProof, writeClientIVCProofToOutputDirectory } from '@aztec/bb-prover'; +import { BB_RESULT, verifyClientIvcProof } from '@aztec/bb-prover'; import { createLogger } from '@aztec/foundation/log'; import { jest } from '@jest/globals'; @@ -31,15 +31,14 @@ describe('Client IVC Integration', () => { it('Should generate a verifiable client IVC proof from a simple mock tx', async () => { const [bytecodes, witnessStack, _, vks] = await generateTestingIVCStack(1, 0); - const proof = await proveClientIVC(bbBinaryPath, bbWorkingDirectory, witnessStack, bytecodes, vks, logger); - await writeClientIVCProofToOutputDirectory(proof, bbWorkingDirectory); + await proveClientIVC(bbBinaryPath, bbWorkingDirectory, witnessStack, bytecodes, vks, logger); + const verifyResult = await verifyClientIvcProof( bbBinaryPath, bbWorkingDirectory.concat('/proof'), bbWorkingDirectory.concat('/vk'), logger.info, ); - expect(verifyResult.status).toEqual(BB_RESULT.SUCCESS); }); @@ -54,15 +53,14 @@ describe('Client IVC Integration', () => { it('Should generate a verifiable client IVC proof from a complex mock tx', async () => { const [bytecodes, witnessStack, _, vks] = await generateTestingIVCStack(1, 1); - const proof = await proveClientIVC(bbBinaryPath, bbWorkingDirectory, witnessStack, bytecodes, vks, logger); - await writeClientIVCProofToOutputDirectory(proof, bbWorkingDirectory); + await proveClientIVC(bbBinaryPath, bbWorkingDirectory, witnessStack, bytecodes, vks, logger); + const verifyResult = await verifyClientIvcProof( bbBinaryPath, bbWorkingDirectory.concat('/proof'), bbWorkingDirectory.concat('/vk'), logger.info, ); - expect(verifyResult.status).toEqual(BB_RESULT.SUCCESS); }); }); diff --git a/yarn-project/ivc-integration/src/prove_native.ts b/yarn-project/ivc-integration/src/prove_native.ts index f48de7ab8acc..956bde26da2f 100644 --- a/yarn-project/ivc-integration/src/prove_native.ts +++ b/yarn-project/ivc-integration/src/prove_native.ts @@ -8,26 +8,24 @@ import { extractVkData, generateAvmProof, generateProof, - generateTubeProof, - readClientIVCProofFromOutputDirectory, - readProofAsFields, + readProofsFromOutputDirectory, verifyAvmProof, verifyProof, } from '@aztec/bb-prover'; import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED, + CIVC_PROOF_LENGTH, NESTED_RECURSIVE_PROOF_LENGTH, RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, - TUBE_PROOF_LENGTH, } from '@aztec/constants'; import { Fr } from '@aztec/foundation/fields'; import type { Logger } from '@aztec/foundation/log'; import { BufferReader } from '@aztec/foundation/serialize'; import type { AvmCircuitInputs, AvmCircuitPublicInputs } from '@aztec/stdlib/avm'; -import { makeProofAndVerificationKey } from '@aztec/stdlib/interfaces/server'; +import { type ProofAndVerificationKey, makeProofAndVerificationKey } from '@aztec/stdlib/interfaces/server'; import type { NoirCompiledCircuit } from '@aztec/stdlib/noir'; -import type { ClientIvcProof, Proof } from '@aztec/stdlib/proofs'; +import type { Proof } from '@aztec/stdlib/proofs'; import { enhanceProofWithPiValidationFlag } from '@aztec/stdlib/rollup'; import { VerificationKeyAsFields, VerificationKeyData } from '@aztec/stdlib/vks'; @@ -57,7 +55,7 @@ export async function proveClientIVC( bytecodes: string[], vks: string[], logger: Logger, -): Promise { +): Promise> { const stepToStruct = (bytecode: string, index: number) => { return { bytecode: Buffer.from(bytecode, 'base64'), @@ -82,7 +80,10 @@ export async function proveClientIVC( throw new Error(provingResult.reason); } - return readClientIVCProofFromOutputDirectory(bbWorkingDirectory); + const vk = await extractVkData(provingResult.vkDirectoryPath!); + const proof = await readProofsFromOutputDirectory(provingResult.proofPath!, vk, CIVC_PROOF_LENGTH, logger); + + return makeProofAndVerificationKey(proof, vk); } async function verifyProofWithKey( @@ -108,22 +109,6 @@ async function verifyProofWithKey( logger.info(`Successfully verified proof from key in ${result.durationMs} ms`); } -export async function proveTube(pathToBB: string, workingDirectory: string, logger: Logger) { - const tubeResult = await generateTubeProof(pathToBB, workingDirectory, workingDirectory.concat('/vk'), logger.info); - - if (tubeResult.status != BB_RESULT.SUCCESS) { - throw new Error('Failed to prove tube'); - } - - const tubeVK = await extractVkData(tubeResult.vkDirectoryPath!); - const tubeProof = await readProofAsFields(tubeResult.proofPath!, tubeVK, TUBE_PROOF_LENGTH, logger); - - // Sanity check the tube proof - await verifyProofWithKey(pathToBB, workingDirectory, tubeVK, tubeProof.binaryProof, 'ultra_rollup_honk', logger); - - return makeProofAndVerificationKey(tubeProof, tubeVK); -} - async function proveRollupCircuit( name: string, pathToBB: string, @@ -152,7 +137,7 @@ async function proveRollupCircuit ungzip(arr)), vks.map(hex => new Uint8Array(Buffer.from(hex, 'hex'))), ); - return new ClientIvcProof(Buffer.from(proof)); + return ClientIvcProof.fromBufferArray(proof); } finally { await backend.destroy(); } @@ -45,11 +45,11 @@ export async function proveThenVerifyAztecClient( ); try { // These are optional - easier not to pass them. - const [proof, vk] = await backend.prove( + const [_, msgpackProof, vk] = await backend.prove( witnessStack.map((arr: Uint8Array) => ungzip(arr)), vks.map(hex => new Uint8Array(Buffer.from(hex, 'hex'))), ); - const verified = await backend.verify(proof, vk); + const verified = await backend.verify(msgpackProof, vk); return verified; } finally { await backend.destroy(); diff --git a/yarn-project/ivc-integration/src/rollup_ivc_integration.test.ts b/yarn-project/ivc-integration/src/rollup_ivc_integration.test.ts index 7c1234f31724..39aa4c6b9c94 100644 --- a/yarn-project/ivc-integration/src/rollup_ivc_integration.test.ts +++ b/yarn-project/ivc-integration/src/rollup_ivc_integration.test.ts @@ -1,7 +1,8 @@ -import { BB_RESULT, verifyClientIvcProof, writeClientIVCProofToOutputDirectory } from '@aztec/bb-prover'; +import { BB_RESULT, verifyClientIvcProof } from '@aztec/bb-prover'; import { AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED, - TUBE_PROOF_LENGTH, + CIVC_PROOF_LENGTH, + CIVC_VK_LENGTH_IN_FIELDS, ULTRA_VK_LENGTH_IN_FIELDS, } from '@aztec/constants'; import { Fr } from '@aztec/foundation/fields'; @@ -17,8 +18,9 @@ import { jest } from '@jest/globals'; import path from 'path'; import { fileURLToPath } from 'url'; +import MockHidingJson from '../artifacts/mock_hiding.json' with { type: 'json' }; import { getWorkingDirectory } from './bb_working_directory.js'; -import { proveAvm, proveClientIVC, proveRollupHonk, proveTube } from './prove_native.js'; +import { proveAvm, proveClientIVC, proveRollupHonk } from './prove_native.js'; import type { KernelPublicInputs } from './types/index.js'; import { MockRollupBasePrivateCircuit, @@ -43,7 +45,7 @@ const logger = createLogger('ivc-integration:test:rollup-native'); describe('Rollup IVC Integration', () => { let bbBinaryPath: string; - let tubeProof: ProofAndVerificationKey; + let ivcProof: ProofAndVerificationKey; let avmVK: VerificationKeyAsFields; let avmProof: Fr[]; let avmPublicInputs: AvmCircuitPublicInputs; @@ -58,17 +60,15 @@ describe('Rollup IVC Integration', () => { const clientIVCWorkingDirectory = await getWorkingDirectory('bb-rollup-ivc-integration-client-ivc-'); const [bytecodes, witnessStack, tailPublicInputs, vks] = await generateTestingIVCStack(1, 0); clientIVCPublicInputs = tailPublicInputs; - const proof = await proveClientIVC(bbBinaryPath, clientIVCWorkingDirectory, witnessStack, bytecodes, vks, logger); - await writeClientIVCProofToOutputDirectory(proof, clientIVCWorkingDirectory); - const verifyResult = await verifyClientIvcProof( + + ivcProof = await proveClientIVC(bbBinaryPath, clientIVCWorkingDirectory, witnessStack, bytecodes, vks, logger); + const ivcVerifyResult = await verifyClientIvcProof( bbBinaryPath, clientIVCWorkingDirectory.concat('/proof'), clientIVCWorkingDirectory.concat('/vk'), logger.info, ); - expect(verifyResult.status).toEqual(BB_RESULT.SUCCESS); - - tubeProof = await proveTube(bbBinaryPath, clientIVCWorkingDirectory, logger); + expect(ivcVerifyResult.status).toEqual(BB_RESULT.SUCCESS); // Create an AVM proof const avmWorkingDirectory = await getWorkingDirectory('bb-rollup-ivc-integration-avm-'); @@ -90,11 +90,16 @@ describe('Rollup IVC Integration', () => { }); it('Should be able to generate a proof of a 3 transaction rollup', async () => { + // Use the pre-generated standalone vk to verify the proof recursively. + const ivcVk = await VerificationKeyAsFields.fromKey( + MockHidingJson.verificationKey.fields.map((str: string) => Fr.fromHexString(str)), + ); + const privateBaseRollupWitnessResult = await witnessGenMockRollupBasePrivateCircuit({ - tube_data: { + civc_proof_data: { public_inputs: clientIVCPublicInputs, - proof: mapRecursiveProofToNoir(tubeProof.proof), - vk_data: mapVerificationKeyToNoir(tubeProof.verificationKey.keyAsFields, ULTRA_VK_LENGTH_IN_FIELDS), + proof: mapRecursiveProofToNoir(ivcProof.proof), + vk_data: mapVerificationKeyToNoir(ivcVk, CIVC_VK_LENGTH_IN_FIELDS), }, }); @@ -114,10 +119,10 @@ describe('Rollup IVC Integration', () => { }; const publicBaseRollupWitnessResult = await witnessGenMockPublicBaseCircuit({ - tube_data: { + civc_proof_data: { public_inputs: clientIVCPublicInputs, - proof: mapRecursiveProofToNoir(tubeProof.proof), - vk_data: mapVerificationKeyToNoir(tubeProof.verificationKey.keyAsFields, ULTRA_VK_LENGTH_IN_FIELDS), + proof: mapRecursiveProofToNoir(ivcProof.proof), + vk_data: mapVerificationKeyToNoir(ivcVk, CIVC_VK_LENGTH_IN_FIELDS), }, verification_key: mapVerificationKeyToNoir(avmVK, AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED), proof: mapAvmProofToNoir(avmProof), diff --git a/yarn-project/ivc-integration/src/wasm_client_ivc_integration.test.ts b/yarn-project/ivc-integration/src/wasm_client_ivc_integration.test.ts index b8bb4d5f3401..4d0591d5c892 100644 --- a/yarn-project/ivc-integration/src/wasm_client_ivc_integration.test.ts +++ b/yarn-project/ivc-integration/src/wasm_client_ivc_integration.test.ts @@ -1,4 +1,4 @@ -import { BB_RESULT, verifyClientIvcProof, writeClientIVCProofToOutputDirectory } from '@aztec/bb-prover'; +import { BB_RESULT, verifyClientIvcProof, writeClientIVCProofToPath } from '@aztec/bb-prover'; import { AztecClientBackend } from '@aztec/bb.js'; import { createLogger } from '@aztec/foundation/log'; @@ -8,7 +8,6 @@ import path from 'path'; import { fileURLToPath } from 'url'; import { getWorkingDirectory } from './bb_working_directory.js'; -import { proveClientIVC as proveClientIVCNative } from './prove_native.js'; import { proveClientIVC as proveClientIVCWasm, proveThenVerifyAztecClient } from './prove_wasm.js'; import { MockAppCreatorCircuit, @@ -40,20 +39,16 @@ describe('Client IVC Integration', () => { 'bb', ); const clientIVCWorkingDirectory = await getWorkingDirectory('bb-client-ivc-integration-'); - const tasks = [ - proveClientIVCNative(bbBinaryPath, clientIVCWorkingDirectory, witnessStack, bytecodes, vks, logger), - proveClientIVCWasm(bytecodes, witnessStack, vks), - ]; - const [_, wasmProof] = await Promise.all(tasks); + const wasmProof = await proveClientIVCWasm(bytecodes, witnessStack, vks); - // Write the WASM proof over the output directory (the bb cli will have output to this folder, we need the vk to be in place). - await writeClientIVCProofToOutputDirectory(wasmProof, clientIVCWorkingDirectory); - const verifyWasmResultInNative = await verifyClientIvcProof( - bbBinaryPath, - clientIVCWorkingDirectory.concat('/proof'), - clientIVCWorkingDirectory.concat('/vk'), - logger.info, - ); + // Write the WASM proof to the working directory. + const proofPath = path.join(clientIVCWorkingDirectory, 'proof'); + await writeClientIVCProofToPath(wasmProof, proofPath); + + // Use the pre-generated ivc vk to verify the proof. + const vkPath = path.join(path.dirname(fileURLToPath(import.meta.url)), '../artifacts/keys/mock_hiding.ivc.vk'); + + const verifyWasmResultInNative = await verifyClientIvcProof(bbBinaryPath, proofPath, vkPath, logger.info); expect(verifyWasmResultInNative.status).toEqual(BB_RESULT.SUCCESS); }); diff --git a/yarn-project/noir-protocol-circuits-types/src/artifacts/server.ts b/yarn-project/noir-protocol-circuits-types/src/artifacts/server.ts index b3f7cf3bb027..9001ba729e03 100644 --- a/yarn-project/noir-protocol-circuits-types/src/artifacts/server.ts +++ b/yarn-project/noir-protocol-circuits-types/src/artifacts/server.ts @@ -15,11 +15,13 @@ import SingleTxBlockRootRollupJson from '../../artifacts/rollup_block_root_singl import SingleTxBlockRootRollupSimulatedJson from '../../artifacts/rollup_block_root_single_tx_simulated.json' with { type: 'json' }; import MergeRollupJson from '../../artifacts/rollup_merge.json' with { type: 'json' }; import RootRollupJson from '../../artifacts/rollup_root.json' with { type: 'json' }; +import PublicTubeJson from '../../artifacts/tube_public.json' with { type: 'json' }; import type { ServerProtocolArtifact } from './types.js'; export const ServerCircuitArtifacts: Record = { BaseParityArtifact: BaseParityJson as NoirCompiledCircuit, RootParityArtifact: RootParityJson as NoirCompiledCircuit, + PublicTube: PublicTubeJson as NoirCompiledCircuit, PrivateBaseRollupArtifact: PrivateBaseRollupJson as NoirCompiledCircuit, PublicBaseRollupArtifact: PublicBaseRollupJson as NoirCompiledCircuit, MergeRollupArtifact: MergeRollupJson as NoirCompiledCircuit, @@ -34,6 +36,7 @@ export const ServerCircuitArtifacts: Record = { BaseParityArtifact: BaseParityJson as NoirCompiledCircuit, RootParityArtifact: RootParityJson as NoirCompiledCircuit, + PublicTube: PublicTubeJson as NoirCompiledCircuit, PrivateBaseRollupArtifact: PrivateBaseRollupSimulatedJson as NoirCompiledCircuit, PublicBaseRollupArtifact: PublicBaseRollupSimulatedJson as NoirCompiledCircuit, MergeRollupArtifact: MergeRollupJson as NoirCompiledCircuit, diff --git a/yarn-project/noir-protocol-circuits-types/src/artifacts/types.ts b/yarn-project/noir-protocol-circuits-types/src/artifacts/types.ts index f61cd558bf74..7b71e5d7b212 100644 --- a/yarn-project/noir-protocol-circuits-types/src/artifacts/types.ts +++ b/yarn-project/noir-protocol-circuits-types/src/artifacts/types.ts @@ -17,6 +17,7 @@ export type ServerProtocolArtifact = | 'BaseParityArtifact' | 'RootParityArtifact' | 'PrivateBaseRollupArtifact' + | 'PublicTube' | 'PublicBaseRollupArtifact' | 'MergeRollupArtifact' | 'BlockRootRollupArtifact' @@ -29,8 +30,8 @@ export type ServerProtocolArtifact = export type ProtocolArtifact = ServerProtocolArtifact | ClientProtocolArtifact; // TODO: Change the names in the Artifact types above to not include the word 'Artifact'. -export type ServerProtocolCircuitName = ServerProtocolArtifact | 'PrivateTube' | 'PublicTube'; -export type ProtocolCircuitName = ProtocolArtifact | 'PrivateTube' | 'PublicTube'; +export type ServerProtocolCircuitName = ServerProtocolArtifact; +export type ProtocolCircuitName = ProtocolArtifact; export interface ArtifactProvider { getClientCircuitArtifactByName(artifact: ClientProtocolArtifact): Promise; diff --git a/yarn-project/noir-protocol-circuits-types/src/artifacts/vks/server.ts b/yarn-project/noir-protocol-circuits-types/src/artifacts/vks/server.ts index bb7afbff723d..de43ea69e9b3 100644 --- a/yarn-project/noir-protocol-circuits-types/src/artifacts/vks/server.ts +++ b/yarn-project/noir-protocol-circuits-types/src/artifacts/vks/server.ts @@ -13,7 +13,6 @@ import { PRIVATE_KERNEL_INNER_INDEX, PRIVATE_KERNEL_TAIL_INDEX, PRIVATE_KERNEL_TAIL_TO_PUBLIC_INDEX, - PRIVATE_TUBE_VK_INDEX, PUBLIC_BASE_ROLLUP_VK_INDEX, PUBLIC_TUBE_VK_INDEX, ROOT_PARITY_INDEX, @@ -23,8 +22,6 @@ import { VerificationKeyData } from '@aztec/stdlib/vks'; import BaseParity from '../../../artifacts/parity_base.json' with { type: 'json' }; import RootParity from '../../../artifacts/parity_root.json' with { type: 'json' }; -import PrivateTube from '../../../artifacts/private_tube.json' with { type: 'json' }; -import PublicTube from '../../../artifacts/public_tube.json' with { type: 'json' }; import PrivateBaseRollup from '../../../artifacts/rollup_base_private.json' with { type: 'json' }; import PublicBaseRollup from '../../../artifacts/rollup_base_public.json' with { type: 'json' }; import BlockMergeRollup from '../../../artifacts/rollup_block_merge.json' with { type: 'json' }; @@ -34,6 +31,7 @@ import PaddingBlockRootRollup from '../../../artifacts/rollup_block_root_padding import SingleTxBlockRootRollup from '../../../artifacts/rollup_block_root_single_tx.json' with { type: 'json' }; import MergeRollup from '../../../artifacts/rollup_merge.json' with { type: 'json' }; import RootRollup from '../../../artifacts/rollup_root.json' with { type: 'json' }; +import PublicTube from '../../../artifacts/tube_public.json' with { type: 'json' }; import { PrivateKernelResetVkIndexes } from '../../private_kernel_reset_vks.js'; import { abiToVKData } from '../../utils/vk_json.js'; import type { ProtocolCircuitName, ServerProtocolCircuitName } from '../types.js'; @@ -41,6 +39,7 @@ import type { ProtocolCircuitName, ServerProtocolCircuitName } from '../types.js export const ServerCircuitVks: Record = { BaseParityArtifact: abiToVKData(BaseParity), RootParityArtifact: abiToVKData(RootParity), + PublicTube: abiToVKData(PublicTube), PrivateBaseRollupArtifact: abiToVKData(PrivateBaseRollup), PublicBaseRollupArtifact: abiToVKData(PublicBaseRollup), MergeRollupArtifact: abiToVKData(MergeRollup), @@ -50,8 +49,6 @@ export const ServerCircuitVks: Record = { @@ -61,6 +58,7 @@ export const ProtocolCircuitVkIndexes: Record = { PrivateKernelTailToPublicArtifact: PRIVATE_KERNEL_TAIL_TO_PUBLIC_INDEX, HidingKernelToRollup: HIDING_KERNEL_TO_ROLLUP_VK_INDEX, HidingKernelToPublic: HIDING_KERNEL_TO_PUBLIC_VK_INDEX, + PublicTube: PUBLIC_TUBE_VK_INDEX, BaseParityArtifact: BASE_PARITY_INDEX, RootParityArtifact: ROOT_PARITY_INDEX, PrivateBaseRollupArtifact: PRIVATE_BASE_ROLLUP_VK_INDEX, @@ -72,7 +70,5 @@ export const ProtocolCircuitVkIndexes: Record = { PaddingBlockRootRollupArtifact: BLOCK_ROOT_ROLLUP_PADDING_INDEX, BlockMergeRollupArtifact: BLOCK_MERGE_ROLLUP_INDEX, RootRollupArtifact: ROOT_ROLLUP_INDEX, - PrivateTube: PRIVATE_TUBE_VK_INDEX, - PublicTube: PUBLIC_TUBE_VK_INDEX, ...PrivateKernelResetVkIndexes, }; 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 25a2018e83c7..9b34373b4110 100644 --- a/yarn-project/noir-protocol-circuits-types/src/conversion/client.ts +++ b/yarn-project/noir-protocol-circuits-types/src/conversion/client.ts @@ -1,10 +1,4 @@ import { - MAX_CONTRACT_CLASS_LOGS_PER_TX, - MAX_ENQUEUED_CALLS_PER_TX, - MAX_L2_TO_L1_MSGS_PER_TX, - MAX_NOTE_HASHES_PER_TX, - MAX_NULLIFIERS_PER_TX, - MAX_PRIVATE_LOGS_PER_TX, MEGA_VK_LENGTH_IN_FIELDS, type NOTE_HASH_TREE_HEIGHT, type NULLIFIER_TREE_HEIGHT, @@ -35,7 +29,6 @@ import { PrivateKernelResetHints, PrivateKernelTailCircuitPublicInputs, PrivateLogData, - PrivateToPublicAccumulatedData, PrivateValidationRequests, type PrivateVerificationKeyHints, ReadRequest, @@ -78,7 +71,6 @@ import type { PrivateKernelDataWithoutPublicInputs as PrivateKernelDataWithoutPublicInputsNoir, PrivateKernelResetHints as PrivateKernelResetHintsNoir, PrivateLogData as PrivateLogDataNoir, - PrivateToPublicAccumulatedData as PrivateToPublicAccumulatedDataNoir, PrivateToPublicKernelCircuitPublicInputs as PrivateToPublicKernelCircuitPublicInputsNoir, PrivateToRollupKernelCircuitPublicInputs as PrivateToRollupKernelCircuitPublicInputsNoir, PrivateValidationRequests as PrivateValidationRequestsNoir, @@ -110,7 +102,6 @@ import { mapFunctionSelectorToNoir, mapGasFromNoir, mapGrumpkinScalarToNoir, - mapHeaderFromNoir, mapHeaderToNoir, mapMembershipWitnessToNoir, mapNullifierLeafPreimageToNoir, @@ -122,6 +113,7 @@ import { mapPointToNoir, mapPrivateLogFromNoir, mapPrivateLogToNoir, + mapPrivateToPublicAccumulatedDataFromNoir, mapPrivateToRollupAccumulatedDataFromNoir, mapProtocolContractLeafPreimageToNoir, mapPublicCallRequestFromNoir, @@ -131,10 +123,7 @@ import { mapScopedCountedL2ToL1MessageToNoir, mapScopedCountedLogHashFromNoir, mapScopedCountedLogHashToNoir, - mapScopedL2ToL1MessageFromNoir, - mapScopedLogHashFromNoir, - mapTupleFromNoir, - mapTxContextFromNoir, + mapTxConstantDataFromNoir, mapTxContextToNoir, mapU64FromNoir, mapU64ToNoir, @@ -590,15 +579,6 @@ export function mapPrivateCallDataToNoir(privateCallData: PrivateCallData): Priv }; } -function mapTxConstantDataFromNoir(data: TxConstantDataNoir) { - return new TxConstantData( - mapHeaderFromNoir(data.historical_header), - mapTxContextFromNoir(data.tx_context), - mapFieldFromNoir(data.vk_tree_root), - mapFieldFromNoir(data.protocol_contract_tree_root), - ); -} - function mapTxConstantDataToNoir(data: TxConstantData): TxConstantDataNoir { return { historical_header: mapHeaderToNoir(data.historicalHeader), @@ -667,17 +647,6 @@ export function mapPrivateKernelTailCircuitPublicInputsForRollupFromNoir( ); } -export function mapPrivateToPublicAccumulatedDataFromNoir(data: PrivateToPublicAccumulatedDataNoir) { - return new PrivateToPublicAccumulatedData( - mapTupleFromNoir(data.note_hashes, MAX_NOTE_HASHES_PER_TX, mapFieldFromNoir), - mapTupleFromNoir(data.nullifiers, MAX_NULLIFIERS_PER_TX, mapFieldFromNoir), - mapTupleFromNoir(data.l2_to_l1_msgs, MAX_L2_TO_L1_MSGS_PER_TX, mapScopedL2ToL1MessageFromNoir), - mapTupleFromNoir(data.private_logs, MAX_PRIVATE_LOGS_PER_TX, mapPrivateLogFromNoir), - mapTupleFromNoir(data.contract_class_logs_hashes, MAX_CONTRACT_CLASS_LOGS_PER_TX, mapScopedLogHashFromNoir), - mapTupleFromNoir(data.public_call_requests, MAX_ENQUEUED_CALLS_PER_TX, mapPublicCallRequestFromNoir), - ); -} - export function mapPrivateKernelTailCircuitPublicInputsForPublicFromNoir( inputs: PrivateToPublicKernelCircuitPublicInputsNoir, ): PrivateKernelTailCircuitPublicInputs { diff --git a/yarn-project/noir-protocol-circuits-types/src/conversion/common.ts b/yarn-project/noir-protocol-circuits-types/src/conversion/common.ts index d63efc97dd2e..df665757f58e 100644 --- a/yarn-project/noir-protocol-circuits-types/src/conversion/common.ts +++ b/yarn-project/noir-protocol-circuits-types/src/conversion/common.ts @@ -1,5 +1,6 @@ import { MAX_CONTRACT_CLASS_LOGS_PER_TX, + MAX_ENQUEUED_CALLS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, @@ -855,6 +856,17 @@ export function mapPrivateToRollupAccumulatedDataFromNoir( ); } +export function mapPrivateToPublicAccumulatedDataFromNoir(data: PrivateToPublicAccumulatedDataNoir) { + return new PrivateToPublicAccumulatedData( + mapTupleFromNoir(data.note_hashes, MAX_NOTE_HASHES_PER_TX, mapFieldFromNoir), + mapTupleFromNoir(data.nullifiers, MAX_NULLIFIERS_PER_TX, mapFieldFromNoir), + mapTupleFromNoir(data.l2_to_l1_msgs, MAX_L2_TO_L1_MSGS_PER_TX, mapScopedL2ToL1MessageFromNoir), + mapTupleFromNoir(data.private_logs, MAX_PRIVATE_LOGS_PER_TX, mapPrivateLogFromNoir), + mapTupleFromNoir(data.contract_class_logs_hashes, MAX_CONTRACT_CLASS_LOGS_PER_TX, mapScopedLogHashFromNoir), + mapTupleFromNoir(data.public_call_requests, MAX_ENQUEUED_CALLS_PER_TX, mapPublicCallRequestFromNoir), + ); +} + function mapPrivateToPublicAccumulatedDataToNoir( data: PrivateToPublicAccumulatedData, ): PrivateToPublicAccumulatedDataNoir { @@ -894,6 +906,15 @@ export function mapTxContextFromNoir(txContext: TxContextNoir): TxContext { ); } +export function mapTxConstantDataFromNoir(data: TxConstantDataNoir) { + return new TxConstantData( + mapHeaderFromNoir(data.historical_header), + mapTxContextFromNoir(data.tx_context), + mapFieldFromNoir(data.vk_tree_root), + mapFieldFromNoir(data.protocol_contract_tree_root), + ); +} + export function mapTxConstantDataToNoir(data: TxConstantData): TxConstantDataNoir { return { historical_header: mapHeaderToNoir(data.historicalHeader), diff --git a/yarn-project/noir-protocol-circuits-types/src/conversion/server.ts b/yarn-project/noir-protocol-circuits-types/src/conversion/server.ts index 4b608458ef39..0b306b0c2b1d 100644 --- a/yarn-project/noir-protocol-circuits-types/src/conversion/server.ts +++ b/yarn-project/noir-protocol-circuits-types/src/conversion/server.ts @@ -16,11 +16,10 @@ import { type NESTED_RECURSIVE_PROOF_LENGTH, type NULLIFIER_TREE_HEIGHT, RECURSIVE_PROOF_LENGTH, - type TUBE_PROOF_LENGTH, ULTRA_VK_LENGTH_IN_FIELDS, } from '@aztec/constants'; import { BLS12Fq, BLS12Fr, BLS12Point, Fr } from '@aztec/foundation/fields'; -import { assertLength, mapTuple } from '@aztec/foundation/serialize'; +import { type Bufferable, assertLength, mapTuple } from '@aztec/foundation/serialize'; import type { MembershipWitness } from '@aztec/foundation/trees'; import { type AvmAccumulatedData, @@ -29,9 +28,13 @@ import { PublicDataHint, RevertCode, } from '@aztec/stdlib/avm'; -import type { PrivateToAvmAccumulatedData, PrivateToAvmAccumulatedDataArrayLengths } from '@aztec/stdlib/kernel'; +import { + type PrivateToAvmAccumulatedData, + type PrivateToAvmAccumulatedDataArrayLengths, + PrivateToPublicKernelCircuitPublicInputs, +} from '@aztec/stdlib/kernel'; import { BaseParityInputs, ParityPublicInputs, type RootParityInput, RootParityInputs } from '@aztec/stdlib/parity'; -import type { RecursiveProof } from '@aztec/stdlib/proofs'; +import type { ProofData, RecursiveProof } from '@aztec/stdlib/proofs'; import { type AvmProofData, BaseOrMergeRollupPublicInputs, @@ -50,9 +53,8 @@ import { type PreviousRollupData, type PrivateBaseRollupInputs, type PrivateBaseStateDiffHints, - type PrivateTubeData, type PublicBaseRollupInputs, - type PublicTubeData, + PublicTubePrivateInputs, type RootRollupInputs, RootRollupPublicInputs, type SingleTxBlockRootRollupInputs, @@ -94,10 +96,11 @@ import type { PrivateBaseStateDiffHints as PrivateBaseStateDiffHintsNoir, PrivateToAvmAccumulatedDataArrayLengths as PrivateToAvmAccumulatedDataArrayLengthsNoir, PrivateToAvmAccumulatedData as PrivateToAvmAccumulatedDataNoir, - PrivateTubeData as PrivateTubeDataNoir, + PrivateToPublicKernelCircuitPublicInputs as PrivateToPublicKernelCircuitPublicInputsNoir, + ProofData as ProofDataNoir, PublicBaseRollupInputs as PublicBaseRollupInputsNoir, PublicDataHint as PublicDataHintNoir, - PublicTubeData as PublicTubeDataNoir, + PublicTubePrivateInputs as PublicTubePrivateInputsNoir, RootParityInputs as RootParityInputsNoir, RootRollupInputs as RootRollupInputsNoir, RootRollupParityInput as RootRollupParityInputNoir, @@ -109,6 +112,7 @@ import type { import { mapAppendOnlyTreeSnapshotFromNoir, mapAppendOnlyTreeSnapshotToNoir, + mapAztecAddressFromNoir, mapAztecAddressToNoir, mapEthAddressFromNoir, mapEthAddressToNoir, @@ -116,6 +120,7 @@ import { mapFieldFromNoir, mapFieldToNoir, mapGasFeesToNoir, + mapGasFromNoir, mapGasSettingsToNoir, mapGasToNoir, mapGlobalVariablesFromNoir, @@ -127,15 +132,19 @@ import { mapNumberToNoir, mapPartialStateReferenceFromNoir, mapPartialStateReferenceToNoir, + mapPrivateToPublicAccumulatedDataFromNoir, mapPrivateToPublicKernelCircuitPublicInputsToNoir, mapPrivateToRollupKernelCircuitPublicInputsToNoir, mapPublicCallRequestArrayLengthsToNoir, + mapPublicCallRequestFromNoir, mapPublicCallRequestToNoir, mapPublicDataTreePreimageToNoir, mapPublicDataWriteToNoir, mapPublicLogToNoir, mapScopedL2ToL1MessageToNoir, mapTupleFromNoir, + mapTxConstantDataFromNoir, + mapU64FromNoir, mapVerificationKeyToNoir, mapVkDataToNoir, } from './common.js'; @@ -438,6 +447,18 @@ export function mapRecursiveProofToNoir( }; } +function mapProofDataToNoir( + proofData: ProofData, + publicInputsToNoir: (inputs: T) => TN, + vkLength: VK_LENGTH = proofData.vkData.vk.keyAsFields.key.length as VK_LENGTH, +): ProofDataNoir { + return { + public_inputs: publicInputsToNoir(proofData.publicInputs), + proof: mapFieldArrayToNoir(proofData.proof.proof), + vk_data: mapVkDataToNoir(proofData.vkData, vkLength as VK_LENGTH), + }; +} + export function mapRootParityInputToNoir( rootParityInput: RootParityInput, ): ParityRootParityInputNoir { @@ -736,6 +757,20 @@ export function mapRootRollupInputsToNoir(rootRollupInputs: RootRollupInputs): R }; } +export function mapPrivateToPublicKernelCircuitPublicInputsFromNoir( + inputs: PrivateToPublicKernelCircuitPublicInputsNoir, +) { + return new PrivateToPublicKernelCircuitPublicInputs( + mapTxConstantDataFromNoir(inputs.constants), + mapPrivateToPublicAccumulatedDataFromNoir(inputs.non_revertible_accumulated_data), + mapPrivateToPublicAccumulatedDataFromNoir(inputs.revertible_accumulated_data), + mapPublicCallRequestFromNoir(inputs.public_teardown_call_request), + mapGasFromNoir(inputs.gas_used), + mapAztecAddressFromNoir(inputs.fee_payer), + mapU64FromNoir(inputs.include_by_timestamp), + ); +} + /** * Maps a base or merge rollup public inputs from noir to the stdlib type. * @param baseOrMergeRollupPublicInputs - The noir base or merge rollup public inputs. @@ -802,11 +837,12 @@ export function mapRootParityInputsToNoir(inputs: RootParityInputs): RootParityI }; } -function mapPrivateTubeDataToNoir(data: PrivateTubeData): PrivateTubeDataNoir { +export function mapPublicTubePrivateInputsToNoir(inputs: PublicTubePrivateInputs): PublicTubePrivateInputsNoir { return { - public_inputs: mapPrivateToRollupKernelCircuitPublicInputsToNoir(data.publicInputs), - proof: mapRecursiveProofToNoir(data.proof), - vk_data: mapVkDataToNoir(data.vkData, ULTRA_VK_LENGTH_IN_FIELDS), + hiding_kernel_proof_data: mapProofDataToNoir( + inputs.hidingKernelProofData, + mapPrivateToPublicKernelCircuitPublicInputsToNoir, + ), }; } @@ -817,7 +853,10 @@ function mapPrivateTubeDataToNoir(data: PrivateTubeData): PrivateTubeDataNoir { */ export function mapPrivateBaseRollupInputsToNoir(inputs: PrivateBaseRollupInputs): PrivateBaseRollupInputsNoir { return { - tube_data: mapPrivateTubeDataToNoir(inputs.tubeData), + hiding_kernel_proof_data: mapProofDataToNoir( + inputs.hidingKernelProofData, + mapPrivateToRollupKernelCircuitPublicInputsToNoir, + ), start: mapPartialStateReferenceToNoir(inputs.hints.start), start_sponge_blob: mapSpongeBlobToNoir(inputs.hints.startSpongeBlob), state_diff_hints: mapPrivateBaseStateDiffHintsToNoir(inputs.hints.stateDiffHints), @@ -830,14 +869,6 @@ export function mapPrivateBaseRollupInputsToNoir(inputs: PrivateBaseRollupInputs }; } -function mapPublicTubeDataToNoir(data: PublicTubeData): PublicTubeDataNoir { - return { - public_inputs: mapPrivateToPublicKernelCircuitPublicInputsToNoir(data.publicInputs), - proof: mapRecursiveProofToNoir(data.proof), - vk_data: mapVkDataToNoir(data.vkData, ULTRA_VK_LENGTH_IN_FIELDS), - }; -} - function mapAvmProofDataToNoir(data: AvmProofData): AvmProofDataNoir { return { public_inputs: mapAvmCircuitPublicInputsToNoir(data.publicInputs), @@ -848,7 +879,10 @@ function mapAvmProofDataToNoir(data: AvmProofData): AvmProofDataNoir { export function mapPublicBaseRollupInputsToNoir(inputs: PublicBaseRollupInputs): PublicBaseRollupInputsNoir { return { - tube_data: mapPublicTubeDataToNoir(inputs.tubeData), + public_tube_proof_data: mapProofDataToNoir( + inputs.publicTubeProofData, + mapPrivateToPublicKernelCircuitPublicInputsToNoir, + ), avm_proof_data: mapAvmProofDataToNoir(inputs.avmProofData), start_sponge_blob: mapSpongeBlobToNoir(inputs.hints.startSpongeBlob), last_archive: mapAppendOnlyTreeSnapshotToNoir(inputs.hints.lastArchive), diff --git a/yarn-project/noir-protocol-circuits-types/src/entrypoint/server/vks.ts b/yarn-project/noir-protocol-circuits-types/src/entrypoint/server/vks.ts index 627e7f9a0289..c4ee4c914b71 100644 --- a/yarn-project/noir-protocol-circuits-types/src/entrypoint/server/vks.ts +++ b/yarn-project/noir-protocol-circuits-types/src/entrypoint/server/vks.ts @@ -1,8 +1,9 @@ -import type { VerificationKeyData } from '@aztec/stdlib/vks'; +import { type VerificationKeyData, VkData } from '@aztec/stdlib/vks'; import type { ProtocolCircuitName } from '../../artifacts/types.js'; import { ClientCircuitVks } from '../../artifacts/vks/client.js'; import { ServerCircuitVks } from '../../artifacts/vks/server.js'; +import { getVKIndex, getVKSiblingPath } from '../../artifacts/vks/tree.js'; export { ClientCircuitVks } from '../../artifacts/vks/client.js'; export { ProtocolCircuitVkIndexes, ServerCircuitVks } from '../../artifacts/vks/server.js'; @@ -11,3 +12,9 @@ export const ProtocolCircuitVks: Record field.toString()), - hash: tubeVK.keyAsFields.hash.toString(), - }, - }), - ); -} - const main = async () => { - // TODO(#7410) tube VK should have been generated in noir-projects, but since we don't have a limited set of tubes - // we fake it here. - await generateFakeTubeVK('private_tube'); - await generateFakeTubeVK('public_tube'); - const files = await fs.readdir(resolveRelativePath('../../artifacts')); for (const fileName of files) { if (fileName.endsWith('.json')) { diff --git a/yarn-project/noir-protocol-circuits-types/src/scripts/generate_vk_tree.ts b/yarn-project/noir-protocol-circuits-types/src/scripts/generate_vk_tree.ts index 5490d4893fde..16b3c962a616 100644 --- a/yarn-project/noir-protocol-circuits-types/src/scripts/generate_vk_tree.ts +++ b/yarn-project/noir-protocol-circuits-types/src/scripts/generate_vk_tree.ts @@ -7,7 +7,10 @@ import { fileURLToPath } from '@aztec/foundation/url'; import { promises as fs } from 'fs'; import type { ProtocolArtifact } from '../artifacts/types.js'; -import { ProtocolCircuitVkIndexes, ProtocolCircuitVks } from '../entrypoint/server/vks.js'; +import { ClientCircuitVks } from '../artifacts/vks/client.js'; +import { ProtocolCircuitVkIndexes, ServerCircuitVks } from '../artifacts/vks/server.js'; + +const allVks = { ...ServerCircuitVks, ...ClientCircuitVks }; const log = createConsoleLogger('autogenerate'); @@ -21,7 +24,7 @@ async function buildVKTree() { ); const vkHashes = new Array(2 ** VK_TREE_HEIGHT).fill(Buffer.alloc(32)); - for (const [key, value] of Object.entries(ProtocolCircuitVks)) { + for (const [key, value] of Object.entries(allVks)) { const index = ProtocolCircuitVkIndexes[key as ProtocolArtifact]; vkHashes[index] = value.keyAsFields.hash.toBuffer(); } diff --git a/yarn-project/p2p/src/mem_pools/tx_pool/aztec_kv_tx_pool.test.ts b/yarn-project/p2p/src/mem_pools/tx_pool/aztec_kv_tx_pool.test.ts index 5e55541124ae..3d2458a95496 100644 --- a/yarn-project/p2p/src/mem_pools/tx_pool/aztec_kv_tx_pool.test.ts +++ b/yarn-project/p2p/src/mem_pools/tx_pool/aztec_kv_tx_pool.test.ts @@ -4,6 +4,7 @@ import { map, sort, toArray } from '@aztec/foundation/iterable'; import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; import { GasFees } from '@aztec/stdlib/gas'; import type { MerkleTreeReadOperations, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server'; +import { ClientIvcProof } from '@aztec/stdlib/proofs'; import { mockTx } from '@aztec/stdlib/testing'; import { BlockHeader, GlobalVariables, Tx, TxHash, type TxValidationResult } from '@aztec/stdlib/tx'; @@ -20,6 +21,7 @@ describe('KV TX pool', () => { let db: MockProxy; let nextTxSeed: number; let mockTxSize: number; + const mockFixedTxSize = 100; const block1Header = BlockHeader.empty({ globalVariables: GlobalVariables.empty({ blockNumber: 1, timestamp: 0n }) }); const block2Header = BlockHeader.empty({ @@ -34,9 +36,12 @@ describe('KV TX pool', () => { expect(await txPool.getPendingTxCount()).toEqual(pendingTxHashCount); }; + beforeAll(async () => { + mockTxSize = (await mockTx(1)).getSize(); + }); + beforeEach(async () => { nextTxSeed = 1; - mockTxSize = 100; worldState = worldState = mock(); db = mock(); @@ -55,7 +60,7 @@ describe('KV TX pool', () => { const mockFixedSizeTx = async (maxPriorityFeesPerGas?: GasFees) => { const tx = await mockTx(nextTxSeed++, { maxPriorityFeesPerGas }); - jest.spyOn(tx, 'getSize').mockReturnValue(mockTxSize); + jest.spyOn(tx, 'getSize').mockReturnValue(mockFixedTxSize); return tx; }; @@ -65,36 +70,34 @@ describe('KV TX pool', () => { archivedTxLimit: 2, }); - const tx1 = await mockTx(1); - const tx2 = await mockTx(2); - const tx3 = await mockTx(3); - const tx4 = await mockTx(4); - const tx5 = await mockTx(5); - await txPool.addTxs([tx1, tx2, tx3, tx4, tx5]); + const txs = await timesAsync(5, i => mockTx(i + 1)); + await txPool.addTxs(txs); + + const expectedArchivedTxs = txs.map(tx => Tx.from({ ...tx, clientIvcProof: ClientIvcProof.empty() })); // delete two txs and assert that they are properly archived - await txPool.deleteTxs([tx1.getTxHash(), tx2.getTxHash()]); - await expect(txPool.getArchivedTxByHash(tx1.getTxHash())).resolves.toEqual(tx1); - await expect(txPool.getArchivedTxByHash(tx2.getTxHash())).resolves.toEqual(tx2); + await txPool.deleteTxs([txs[0].getTxHash(), txs[1].getTxHash()]); + await expect(txPool.getArchivedTxByHash(txs[0].getTxHash())).resolves.toEqual(expectedArchivedTxs[0]); + await expect(txPool.getArchivedTxByHash(txs[1].getTxHash())).resolves.toEqual(expectedArchivedTxs[1]); // delete a single tx and assert that the first tx is purged and the new tx is archived - await txPool.deleteTxs([tx3.getTxHash()]); - await expect(txPool.getArchivedTxByHash(tx1.getTxHash())).resolves.toBeUndefined(); - await expect(txPool.getArchivedTxByHash(tx2.getTxHash())).resolves.toEqual(tx2); - await expect(txPool.getArchivedTxByHash(tx3.getTxHash())).resolves.toEqual(tx3); + await txPool.deleteTxs([txs[2].getTxHash()]); + await expect(txPool.getArchivedTxByHash(txs[0].getTxHash())).resolves.toBeUndefined(); + await expect(txPool.getArchivedTxByHash(txs[1].getTxHash())).resolves.toEqual(expectedArchivedTxs[1]); + await expect(txPool.getArchivedTxByHash(txs[2].getTxHash())).resolves.toEqual(expectedArchivedTxs[2]); // delete multiple txs and assert that the old txs are purged and the new txs are archived - await txPool.deleteTxs([tx4.getTxHash(), tx5.getTxHash()]); - await expect(txPool.getArchivedTxByHash(tx1.getTxHash())).resolves.toBeUndefined(); - await expect(txPool.getArchivedTxByHash(tx2.getTxHash())).resolves.toBeUndefined(); - await expect(txPool.getArchivedTxByHash(tx3.getTxHash())).resolves.toBeUndefined(); - await expect(txPool.getArchivedTxByHash(tx4.getTxHash())).resolves.toEqual(tx4); - await expect(txPool.getArchivedTxByHash(tx5.getTxHash())).resolves.toEqual(tx5); + await txPool.deleteTxs([txs[3].getTxHash(), txs[4].getTxHash()]); + await expect(txPool.getArchivedTxByHash(txs[0].getTxHash())).resolves.toBeUndefined(); + await expect(txPool.getArchivedTxByHash(txs[1].getTxHash())).resolves.toBeUndefined(); + await expect(txPool.getArchivedTxByHash(txs[2].getTxHash())).resolves.toBeUndefined(); + await expect(txPool.getArchivedTxByHash(txs[3].getTxHash())).resolves.toEqual(expectedArchivedTxs[3]); + await expect(txPool.getArchivedTxByHash(txs[4].getTxHash())).resolves.toEqual(expectedArchivedTxs[4]); }); it('Evicts low priority txs to satisfy the pending tx size limit', async () => { txPool = new TestAztecKVTxPool(await openTmpStore('p2p'), await openTmpStore('archive'), worldState, undefined, { - maxTxPoolSize: 15000, + maxTxPoolSize: mockTxSize * 3, // pool should contain no more than 3 mock txs }); const tx1 = await mockTx(1, { maxPriorityFeesPerGas: new GasFees(1, 1) }); @@ -140,7 +143,7 @@ describe('KV TX pool', () => { it('respects the overflow factor configured', async () => { txPool = new TestAztecKVTxPool(await openTmpStore('p2p'), await openTmpStore('archive'), worldState, undefined, { - maxTxPoolSize: mockTxSize * 10, // pool should contain no more than 10 mock txs + maxTxPoolSize: mockFixedTxSize * 10, // pool should contain no more than 10 mock txs txPoolOverflowFactor: 1.5, // but allow it to grow up to 15, but then when it evicts, it evicts until it's left to 10 }); @@ -196,7 +199,7 @@ describe('KV TX pool', () => { it('evicts based on the updated size limit', async () => { txPool = new TestAztecKVTxPool(await openTmpStore('p2p'), await openTmpStore('archive'), worldState, undefined, { - maxTxPoolSize: mockTxSize * 10, // pool should contain no more than 10 mock txs + maxTxPoolSize: mockFixedTxSize * 10, // pool should contain no more than 10 mock txs }); const cmp = (a: TxHash, b: TxHash) => (a.toBigInt() < b.toBigInt() ? -1 : a.toBigInt() > b.toBigInt() ? 1 : 0); @@ -217,7 +220,7 @@ describe('KV TX pool', () => { // now set the limit to 5 txs const numRemainingTxs = 5; - txPool.updateConfig({ maxTxPoolSize: mockTxSize * numRemainingTxs }); + txPool.updateConfig({ maxTxPoolSize: mockFixedTxSize * numRemainingTxs }); // txs are not immediately evicted expect(await toArray(sort(await txPool.getPendingTxHashes(), cmp))).toEqual( @@ -347,9 +350,10 @@ describe('KV TX pool', () => { expect(pendingTxHashes).toEqual(expect.arrayContaining([tx2.getTxHash(), tx3.getTxHash()])); expect(pendingTxHashes).toHaveLength(2); }); + it('Does not evict low priority txs marked as non-evictable', async () => { txPool = new TestAztecKVTxPool(await openTmpStore('p2p'), await openTmpStore('archive'), worldState, undefined, { - maxTxPoolSize: 15000, + maxTxPoolSize: mockTxSize * 3, // pool should contain no more than 3 mock txs }); const tx1 = await mockTx(1, { maxPriorityFeesPerGas: new GasFees(1, 1) }); @@ -370,7 +374,7 @@ describe('KV TX pool', () => { it('Evicts low priority txs after block is mined', async () => { txPool = new TestAztecKVTxPool(await openTmpStore('p2p'), await openTmpStore('archive'), worldState, undefined, { - maxTxPoolSize: 15000, + maxTxPoolSize: mockTxSize * 3, // pool should contain no more than 3 mock txs }); const tx1 = await mockTx(1, { maxPriorityFeesPerGas: new GasFees(1, 1) }); diff --git a/yarn-project/prover-client/src/block-factory/light.test.ts b/yarn-project/prover-client/src/block-factory/light.test.ts index 0328c7257964..c3c7136a57e4 100644 --- a/yarn-project/prover-client/src/block-factory/light.test.ts +++ b/yarn-project/prover-client/src/block-factory/light.test.ts @@ -2,6 +2,7 @@ import { TestCircuitProver } from '@aztec/bb-prover'; import { BatchedBlob, BatchedBlobAccumulator, Blob, BlobAccumulatorPublicInputs, SpongeBlob } from '@aztec/blob-lib'; import { BLOBS_PER_BLOCK, + CIVC_PROOF_LENGTH, FIELDS_PER_BLOB, L1_TO_L2_MSG_SUBTREE_HEIGHT, L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, @@ -13,16 +14,15 @@ import { import { padArrayEnd, times, timesParallel } from '@aztec/foundation/collection'; import { BLS12Point, Fr } from '@aztec/foundation/fields'; import { type Tuple, assertLength } from '@aztec/foundation/serialize'; -import { ProtocolCircuitVkIndexes, ProtocolCircuitVks } from '@aztec/noir-protocol-circuits-types/server/vks'; -import type { ProtocolCircuitName } from '@aztec/noir-protocol-circuits-types/types'; -import { getVKSiblingPath, getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree'; +import { getVkData } from '@aztec/noir-protocol-circuits-types/server/vks'; +import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree'; import { protocolContractTreeRoot } from '@aztec/protocol-contracts'; import { computeFeePayerBalanceLeafSlot } from '@aztec/protocol-contracts/fee-juice'; import { PublicDataWrite } from '@aztec/stdlib/avm'; import { AztecAddress } from '@aztec/stdlib/aztec-address'; import type { MerkleTreeWriteOperations, ServerCircuitProver } from '@aztec/stdlib/interfaces/server'; import { BaseParityInputs, ParityPublicInputs, RootParityInput, RootParityInputs } from '@aztec/stdlib/parity'; -import { type RecursiveProof, makeEmptyRecursiveProof } from '@aztec/stdlib/proofs'; +import { ProofData, type RecursiveProof, makeEmptyRecursiveProof } from '@aztec/stdlib/proofs'; import { type BaseOrMergeRollupPublicInputs, BlockConstantData, @@ -34,7 +34,6 @@ import { PreviousRollupData, type PrivateBaseRollupHints, PrivateBaseRollupInputs, - PrivateTubeData, SingleTxBlockRootRollupInputs, } from '@aztec/stdlib/rollup'; import { makeBloatedProcessedTx, makeGlobalVariables } from '@aztec/stdlib/testing'; @@ -46,7 +45,6 @@ import { StateReference, toNumBlobFields, } from '@aztec/stdlib/tx'; -import { VkData } from '@aztec/stdlib/vks'; import { type MerkleTreeAdminDatabase, NativeWorldStateService } from '@aztec/world-state'; import { jest } from '@jest/globals'; @@ -76,22 +74,19 @@ describe('LightBlockBuilder', () => { let emptyProof: RecursiveProof; let emptyRollupProof: RecursiveProof; + let emptyCivcProof: RecursiveProof; let feePayer: AztecAddress; let feePayerSlot: Fr; let feePayerBalance: Fr; const expectedTxFee = new Fr(0x2200); - const getVkData = (artifact: ProtocolCircuitName) => { - const vkIndex = ProtocolCircuitVkIndexes[artifact]; - return new VkData(ProtocolCircuitVks[artifact], vkIndex, getVKSiblingPath(vkIndex)); - }; - beforeAll(() => { simulator = new TestCircuitProver(); vkTreeRoot = getVKTreeRoot(); emptyProof = makeEmptyRecursiveProof(NESTED_RECURSIVE_PROOF_LENGTH); emptyRollupProof = makeEmptyRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH); + emptyCivcProof = makeEmptyRecursiveProof(CIVC_PROOF_LENGTH); }); beforeEach(async () => { @@ -294,10 +289,10 @@ describe('LightBlockBuilder', () => { const rollupOutputs = []; const spongeBlobState = SpongeBlob.init(toNumBlobFields(txs)); for (const tx of txs) { - const vkData = getVkData('PrivateTube'); - const tubeData = new PrivateTubeData( + const vkData = getVkData('HidingKernelToRollup'); + const hidingKernelProofData = new ProofData( tx.data.toPrivateToRollupKernelCircuitPublicInputs(), - emptyRollupProof, + emptyCivcProof, vkData, ); const hints = await insertSideEffectsAndBuildBaseRollupHints( @@ -307,7 +302,7 @@ describe('LightBlockBuilder', () => { expectsFork, spongeBlobState, ); - const inputs = new PrivateBaseRollupInputs(tubeData, hints as PrivateBaseRollupHints); + const inputs = new PrivateBaseRollupInputs(hidingKernelProofData, hints as PrivateBaseRollupHints); const result = await simulator.getPrivateBaseRollupProof(inputs); // Update `expectedTxFee` if the fee changes. expect(result.inputs.accumulatedFees).toEqual(expectedTxFee); diff --git a/yarn-project/prover-client/src/orchestrator/block-building-helpers.ts b/yarn-project/prover-client/src/orchestrator/block-building-helpers.ts index aab48d0a05c3..bcb6b88abf8a 100644 --- a/yarn-project/prover-client/src/orchestrator/block-building-helpers.ts +++ b/yarn-project/prover-client/src/orchestrator/block-building-helpers.ts @@ -1,6 +1,7 @@ import { BatchedBlobAccumulator, Blob, type SpongeBlob } from '@aztec/blob-lib'; import { ARCHIVE_HEIGHT, + CIVC_PROOF_LENGTH, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, @@ -16,16 +17,18 @@ import { makeTuple } from '@aztec/foundation/array'; import { padArrayEnd } from '@aztec/foundation/collection'; import { sha256ToField, sha256Trunc } from '@aztec/foundation/crypto'; import { BLS12Point, Fr } from '@aztec/foundation/fields'; -import { type Tuple, assertLength, toFriendlyJSON } from '@aztec/foundation/serialize'; +import { type Bufferable, type Tuple, assertLength, toFriendlyJSON } from '@aztec/foundation/serialize'; import { MembershipWitness, MerkleTreeCalculator, computeUnbalancedMerkleTreeRoot } from '@aztec/foundation/trees'; -import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree'; +import { getVkData } from '@aztec/noir-protocol-circuits-types/server/vks'; +import { getVKIndex, getVKSiblingPath, getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree'; import { protocolContractTreeRoot } from '@aztec/protocol-contracts'; import { computeFeePayerBalanceLeafSlot } from '@aztec/protocol-contracts/fee-juice'; import { PublicDataHint } from '@aztec/stdlib/avm'; import { Body } from '@aztec/stdlib/block'; -import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server'; +import type { MerkleTreeWriteOperations, PublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server'; import { ContractClassLogFields } from '@aztec/stdlib/logs'; import type { ParityPublicInputs } from '@aztec/stdlib/parity'; +import { Proof, ProofData, RecursiveProof } from '@aztec/stdlib/proofs'; import { type BaseOrMergeRollupPublicInputs, BlockConstantData, @@ -33,6 +36,7 @@ import { PrivateBaseRollupHints, PrivateBaseStateDiffHints, PublicBaseRollupHints, + PublicTubePrivateInputs, } from '@aztec/stdlib/rollup'; import { AppendOnlyTreeSnapshot, @@ -49,8 +53,10 @@ import { PartialStateReference, type ProcessedTx, StateReference, + Tx, TxEffect, } from '@aztec/stdlib/tx'; +import { VkData } from '@aztec/stdlib/vks'; import { Attributes, type Span, runInSpan } from '@aztec/telemetry-client'; import type { MerkleTreeReadOperations } from '@aztec/world-state'; @@ -246,6 +252,23 @@ export async function getPublicDataHint(db: MerkleTreeWriteOperations, leafSlot: return new PublicDataHint(new Fr(leafSlot), value, membershipWitness, leafPreimage); } +export function getCivcProofFromTx(tx: Tx | ProcessedTx) { + const proofFields = tx.clientIvcProof.proof; + const numPublicInputs = proofFields.length - CIVC_PROOF_LENGTH; + const binaryProof = new Proof(Buffer.concat(proofFields.map(field => field.toBuffer())), numPublicInputs); + const proofFieldsWithoutPublicInputs = proofFields.slice(numPublicInputs); + return new RecursiveProof(proofFieldsWithoutPublicInputs, binaryProof, true, CIVC_PROOF_LENGTH); +} + +export function getPublicTubePrivateInputsFromTx(tx: Tx | ProcessedTx) { + const proofData = new ProofData( + tx.data.toPrivateToPublicKernelCircuitPublicInputs(), + getCivcProofFromTx(tx), + getVkData('HidingKernelToPublic'), + ); + return new PublicTubePrivateInputs(proofData); +} + export const buildBlobHints = runInSpan( 'BlockBuilderHelpers', 'buildBlobHints', @@ -555,3 +578,12 @@ export function validateTx(tx: ProcessedTx) { throw new Error(`Empty public data tree in tx: ${toFriendlyJSON(tx)}`); } } + +export function toProofData( + { inputs, proof, verificationKey }: PublicInputsAndRecursiveProof, + vkIndex?: number, +) { + const leafIndex = vkIndex || getVKIndex(verificationKey.keyAsFields); + const vkData = new VkData(verificationKey, leafIndex, getVKSiblingPath(leafIndex)); + return new ProofData(inputs, proof, vkData); +} diff --git a/yarn-project/prover-client/src/orchestrator/epoch-proving-state.ts b/yarn-project/prover-client/src/orchestrator/epoch-proving-state.ts index f5f45501a9bc..00e21d02b027 100644 --- a/yarn-project/prover-client/src/orchestrator/epoch-proving-state.ts +++ b/yarn-project/prover-client/src/orchestrator/epoch-proving-state.ts @@ -3,14 +3,14 @@ import type { ARCHIVE_HEIGHT, L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, - TUBE_PROOF_LENGTH, } from '@aztec/constants'; import type { EthAddress } from '@aztec/foundation/eth-address'; import type { Fr } from '@aztec/foundation/fields'; import type { Tuple } from '@aztec/foundation/serialize'; import { type TreeNodeLocation, UnbalancedTreeStore } from '@aztec/foundation/trees'; import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree'; -import type { ProofAndVerificationKey, PublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server'; +import type { PublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server'; +import type { PrivateToPublicKernelCircuitPublicInputs } from '@aztec/stdlib/kernel'; import type { Proof } from '@aztec/stdlib/proofs'; import { BlockMergeRollupInputs, @@ -54,7 +54,15 @@ export class EpochProvingState { private provingStateLifecycle = PROVING_STATE_LIFECYCLE.PROVING_STATE_CREATED; // Map from tx hash to tube proof promise. Used when kickstarting tube proofs before tx processing. - public readonly cachedTubeProofs = new Map>>(); + public readonly cachedTubeProofs = new Map< + string, + Promise< + PublicInputsAndRecursiveProof< + PrivateToPublicKernelCircuitPublicInputs, + typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH + > + > + >(); public blocks: (BlockProvingState | undefined)[] = []; diff --git a/yarn-project/prover-client/src/orchestrator/orchestrator.ts b/yarn-project/prover-client/src/orchestrator/orchestrator.ts index 2e9d44ed7c91..12a9c58b404f 100644 --- a/yarn-project/prover-client/src/orchestrator/orchestrator.ts +++ b/yarn-project/prover-client/src/orchestrator/orchestrator.ts @@ -2,9 +2,9 @@ import { BlobAccumulatorPublicInputs, FinalBlobBatchingChallenges } from '@aztec import { L1_TO_L2_MSG_SUBTREE_HEIGHT, L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, + NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_BASE_PARITY_PER_ROOT_PARITY, - type TUBE_PROOF_LENGTH, } from '@aztec/constants'; import { padArrayEnd, times } from '@aztec/foundation/collection'; import { AbortError } from '@aztec/foundation/error'; @@ -22,16 +22,17 @@ import type { EpochProver, ForkMerkleTreeOperations, MerkleTreeWriteOperations, - ProofAndVerificationKey, + PublicInputsAndRecursiveProof, ServerCircuitProver, } from '@aztec/stdlib/interfaces/server'; +import type { PrivateToPublicKernelCircuitPublicInputs } from '@aztec/stdlib/kernel'; import { BaseParityInputs } from '@aztec/stdlib/parity'; import { type BaseRollupHints, EmptyBlockRootRollupInputs, PrivateBaseRollupInputs, + PublicTubePrivateInputs, SingleTxBlockRootRollupInputs, - TubeInputs, } from '@aztec/stdlib/rollup'; import type { CircuitName } from '@aztec/stdlib/stats'; import { type AppendOnlyTreeSnapshot, MerkleTreeId } from '@aztec/stdlib/trees'; @@ -50,6 +51,7 @@ import { inspect } from 'util'; import { buildHeaderAndBodyFromTxs, getLastSiblingPath, + getPublicTubePrivateInputsFromTx, getRootTreeSiblingPath, getSubtreeSiblingPath, getTreeSnapshot, @@ -230,10 +232,13 @@ export class ProvingOrchestrator implements EpochProver { const [hints, treeSnapshots] = await this.prepareTransaction(tx, provingState); const txProvingState = new TxProvingState(tx, hints, treeSnapshots); const txIndex = provingState.addNewTx(txProvingState); - this.getOrEnqueueTube(provingState, txIndex); if (txProvingState.requireAvmProof) { + this.getOrEnqueueTube(provingState, txIndex); logger.debug(`Enqueueing public VM for tx ${txIndex}`); this.enqueueVM(provingState, txIndex); + } else { + logger.debug(`Enqueueing base rollup for private-only tx ${txIndex}`); + this.enqueueBaseRollup(provingState, txIndex); } } catch (err: any) { throw new Error(`Error adding transaction ${tx.hash.toString()} to block ${blockNumber}: ${err.message}`, { @@ -252,12 +257,21 @@ export class ProvingOrchestrator implements EpochProver { if (!this.provingState?.verifyState()) { throw new Error(`Invalid proving state, call startNewEpoch before starting tube circuits`); } - for (const tx of txs) { + const publicTxs = txs.filter(tx => tx.data.forPublic); + for (const tx of publicTxs) { const txHash = tx.getTxHash().toString(); - const tubeInputs = new TubeInputs(!!tx.data.forPublic, tx.clientIvcProof); - const tubeProof = promiseWithResolvers>(); + const privateInputs = getPublicTubePrivateInputsFromTx(tx); + const tubeProof = + promiseWithResolvers< + PublicInputsAndRecursiveProof< + PrivateToPublicKernelCircuitPublicInputs, + typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH + > + >(); logger.debug(`Starting tube circuit for tx ${txHash}`); - this.doEnqueueTube(txHash, tubeInputs, proof => tubeProof.resolve(proof)); + this.doEnqueueTube(txHash, privateInputs, proof => { + tubeProof.resolve(proof); + }); this.provingState?.cachedTubeProofs.set(txHash, tubeProof.promise); } return Promise.resolve(); @@ -519,8 +533,6 @@ export class ProvingOrchestrator implements EpochProver { const db = this.dbs.get(provingState.blockNumber)!; - // We build the base rollup inputs using a mock proof and verification key. - // These will be overwritten later once we have proven the tube circuit and any public kernels const [ms, hints] = await elapsed( insertSideEffectsAndBuildBaseRollupHints( tx, @@ -593,8 +605,8 @@ export class ProvingOrchestrator implements EpochProver { ); } - // Enqueues the tube circuit for a given transaction index, or reuses the one already enqueued - // Once completed, will enqueue the next circuit, either a public kernel or the base rollup + // Enqueues the public tube circuit for a given transaction index, or reuses the one already enqueued. + // Once completed, will enqueue the the public tx base rollup. private getOrEnqueueTube(provingState: BlockProvingState, txIndex: number) { if (!provingState.verifyState()) { logger.debug('Not running tube circuit, state invalid'); @@ -603,12 +615,17 @@ export class ProvingOrchestrator implements EpochProver { const txProvingState = provingState.getTxProvingState(txIndex); const txHash = txProvingState.processedTx.hash.toString(); - - const handleResult = (result: ProofAndVerificationKey) => { + NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH; + const handleResult = ( + result: PublicInputsAndRecursiveProof< + PrivateToPublicKernelCircuitPublicInputs, + typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH + >, + ) => { logger.debug(`Got tube proof for tx index: ${txIndex}`, { txHash }); - txProvingState.setTubeProof(result); + txProvingState.setPublicTubeProof(result); this.provingState?.cachedTubeProofs.delete(txHash); - this.checkAndEnqueueNextTxCircuit(provingState, txIndex); + this.checkAndEnqueueBaseRollup(provingState, txIndex); }; if (this.provingState?.cachedTubeProofs.has(txHash)) { @@ -618,13 +635,18 @@ export class ProvingOrchestrator implements EpochProver { } logger.debug(`Enqueuing tube circuit for tx index: ${txIndex}`); - this.doEnqueueTube(txHash, txProvingState.getTubeInputs(), handleResult); + this.doEnqueueTube(txHash, txProvingState.getPublicTubePrivateInputs(), handleResult); } private doEnqueueTube( txHash: string, - inputs: TubeInputs, - handler: (result: ProofAndVerificationKey) => void, + inputs: PublicTubePrivateInputs, + handler: ( + result: PublicInputsAndRecursiveProof< + PrivateToPublicKernelCircuitPublicInputs, + typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH + >, + ) => void, provingState: EpochProvingState | BlockProvingState = this.provingState!, ) { if (!provingState?.verifyState()) { @@ -636,12 +658,12 @@ export class ProvingOrchestrator implements EpochProver { provingState, wrapCallbackInSpan( this.tracer, - 'ProvingOrchestrator.prover.getTubeProof', + 'ProvingOrchestrator.prover.getPublicTubeProof', { [Attributes.TX_HASH]: txHash, - [Attributes.PROTOCOL_CIRCUIT_NAME]: 'tube-circuit' satisfies CircuitName, + [Attributes.PROTOCOL_CIRCUIT_NAME]: 'public-tube' satisfies CircuitName, }, - signal => this.prover.getTubeProof(inputs, signal, this.provingState!.epochNumber), + signal => this.prover.getPublicTubeProof(inputs, signal, this.provingState!.epochNumber), ), handler, ); @@ -1012,11 +1034,11 @@ export class ProvingOrchestrator implements EpochProver { this.deferredProving(provingState, doAvmProving, proofAndVk => { logger.debug(`Proven VM for tx index: ${txIndex}`); txProvingState.setAvmProof(proofAndVk); - this.checkAndEnqueueNextTxCircuit(provingState, txIndex); + this.checkAndEnqueueBaseRollup(provingState, txIndex); }); } - private checkAndEnqueueNextTxCircuit(provingState: BlockProvingState, txIndex: number) { + private checkAndEnqueueBaseRollup(provingState: BlockProvingState, txIndex: number) { const txProvingState = provingState.getTxProvingState(txIndex); if (!txProvingState.ready()) { return; diff --git a/yarn-project/prover-client/src/orchestrator/orchestrator_workflow.test.ts b/yarn-project/prover-client/src/orchestrator/orchestrator_workflow.test.ts index c1a352bb5a68..30d2f488cc39 100644 --- a/yarn-project/prover-client/src/orchestrator/orchestrator_workflow.test.ts +++ b/yarn-project/prover-client/src/orchestrator/orchestrator_workflow.test.ts @@ -13,7 +13,7 @@ import { import type { ParityPublicInputs } from '@aztec/stdlib/parity'; import { ClientIvcProof, makeRecursiveProof } from '@aztec/stdlib/proofs'; import { makeParityPublicInputs } from '@aztec/stdlib/testing'; -import type { BlockHeader, GlobalVariables, Tx } from '@aztec/stdlib/tx'; +import { type BlockHeader, type GlobalVariables, Tx } from '@aztec/stdlib/tx'; import { jest } from '@jest/globals'; import { type MockProxy, mock } from 'jest-mock-extended'; @@ -129,16 +129,21 @@ describe('prover/orchestrator', () => { }); it('can start tube proofs before adding processed txs', async () => { - const getTubeSpy = jest.spyOn(prover, 'getTubeProof'); + const getTubeSpy = jest.spyOn(prover, 'getPublicTubeProof'); const { txs: processedTxs } = await context.makePendingBlock(2); const blobs = await Blob.getBlobsPerBlock(processedTxs.map(tx => tx.txEffect.toBlobFields()).flat()); const finalBlobChallenges = await BatchedBlob.precomputeBatchedBlobChallenges(blobs); orchestrator.startNewEpoch(1, 1, 1, finalBlobChallenges); - processedTxs.forEach((tx, i) => (tx.clientIvcProof = ClientIvcProof.fake(i + 1))); - // TODO(AD): we shouldn't be mocking complex objects like tx this way - easy to hit issues (I had to update to add data field) - const txs = processedTxs.map( - tx => ({ getTxHash: () => tx.hash, txHash: tx.hash, clientIvcProof: tx.clientIvcProof, data: {} }) as Tx, + processedTxs.forEach(tx => (tx.clientIvcProof = ClientIvcProof.random())); + const txs = processedTxs.map(tx => + Tx.from({ + txHash: tx.hash, + data: tx.data, + clientIvcProof: tx.clientIvcProof, + contractClassLogFields: [], + publicFunctionCalldata: [], + }), ); await orchestrator.startTubeCircuits(txs); diff --git a/yarn-project/prover-client/src/orchestrator/tx-proving-state.ts b/yarn-project/prover-client/src/orchestrator/tx-proving-state.ts index 7a78f0c65cdc..c74b95fde18f 100644 --- a/yarn-project/prover-client/src/orchestrator/tx-proving-state.ts +++ b/yarn-project/prover-client/src/orchestrator/tx-proving-state.ts @@ -1,36 +1,39 @@ import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, AVM_VK_INDEX, - PRIVATE_TUBE_VK_INDEX, - PUBLIC_TUBE_VK_INDEX, - type TUBE_PROOF_LENGTH, + NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, } from '@aztec/constants'; +import { getVkData } from '@aztec/noir-protocol-circuits-types/server/vks'; import { getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree'; import type { AvmCircuitInputs } from '@aztec/stdlib/avm'; -import type { ProofAndVerificationKey } from '@aztec/stdlib/interfaces/server'; +import type { ProofAndVerificationKey, PublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server'; +import type { PrivateToPublicKernelCircuitPublicInputs } from '@aztec/stdlib/kernel'; +import { ProofData } from '@aztec/stdlib/proofs'; import { AvmProofData, type BaseRollupHints, PrivateBaseRollupHints, PrivateBaseRollupInputs, - PrivateTubeData, PublicBaseRollupHints, PublicBaseRollupInputs, - PublicTubeData, - TubeInputs, } from '@aztec/stdlib/rollup'; import type { CircuitName } from '@aztec/stdlib/stats'; import type { AppendOnlyTreeSnapshot, MerkleTreeId } from '@aztec/stdlib/trees'; import type { ProcessedTx } from '@aztec/stdlib/tx'; import { VerificationKeyData, VkData } from '@aztec/stdlib/vks'; +import { getCivcProofFromTx, getPublicTubePrivateInputsFromTx, toProofData } from './block-building-helpers.js'; + /** * Helper class to manage the proving cycle of a transaction * This includes the public VMs and the public kernels * Also stores the inputs to the base rollup for this transaction and the tree snapshots */ export class TxProvingState { - private tube?: ProofAndVerificationKey; + private publicTube?: PublicInputsAndRecursiveProof< + PrivateToPublicKernelCircuitPublicInputs, + typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH + >; private avm?: ProofAndVerificationKey; constructor( @@ -44,17 +47,17 @@ export class TxProvingState { } public ready() { - return !!this.tube && (!this.requireAvmProof || !!this.avm); - } - - public getTubeInputs() { - return new TubeInputs(!!this.processedTx.data.forPublic, this.processedTx.clientIvcProof); + return !this.requireAvmProof || (!!this.avm && !!this.publicTube); } public getAvmInputs(): AvmCircuitInputs { return this.processedTx.avmProvingRequest!.inputs; } + public getPublicTubePrivateInputs() { + return getPublicTubePrivateInputsFromTx(this.processedTx); + } + public getBaseRollupTypeAndInputs() { if (this.requireAvmProof) { return { @@ -69,8 +72,13 @@ export class TxProvingState { } } - public setTubeProof(tubeProofAndVk: ProofAndVerificationKey) { - this.tube = tubeProofAndVk; + public setPublicTubeProof( + publicTubeProofAndVk: PublicInputsAndRecursiveProof< + PrivateToPublicKernelCircuitPublicInputs, + typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH + >, + ) { + this.publicTube = publicTubeProofAndVk; } public setAvmProof(avmProofAndVk: ProofAndVerificationKey) { @@ -78,39 +86,34 @@ export class TxProvingState { } #getPrivateBaseInputs() { - if (!this.tube) { - throw new Error('Tx not ready for proving base rollup.'); + if (!(this.baseRollupHints instanceof PrivateBaseRollupHints)) { + throw new Error('Mismatched base rollup hints, expected private base rollup hints'); } - const vkData = this.#getVkData(this.tube!.verificationKey, PRIVATE_TUBE_VK_INDEX); - const tubeData = new PrivateTubeData( + const privateTailProofData = new ProofData( this.processedTx.data.toPrivateToRollupKernelCircuitPublicInputs(), - this.tube.proof, - vkData, + getCivcProofFromTx(this.processedTx), + getVkData('HidingKernelToRollup'), ); - if (!(this.baseRollupHints instanceof PrivateBaseRollupHints)) { - throw new Error('Mismatched base rollup hints, expected private base rollup hints'); - } - return new PrivateBaseRollupInputs(tubeData, this.baseRollupHints); + return new PrivateBaseRollupInputs(privateTailProofData, this.baseRollupHints); } #getPublicBaseInputs() { if (!this.processedTx.avmProvingRequest) { throw new Error('Should create private base rollup for a tx not requiring avm proof.'); } - if (!this.tube) { - throw new Error('Tx not ready for proving base rollup: tube proof undefined'); + if (!this.publicTube) { + throw new Error('Tx not ready for proving base rollup: public tube proof undefined'); } if (!this.avm) { throw new Error('Tx not ready for proving base rollup: avm proof undefined'); } + if (!(this.baseRollupHints instanceof PublicBaseRollupHints)) { + throw new Error('Mismatched base rollup hints, expected public base rollup hints'); + } - const tubeData = new PublicTubeData( - this.processedTx.data.toPrivateToPublicKernelCircuitPublicInputs(), - this.tube.proof, - this.#getVkData(this.tube!.verificationKey, PUBLIC_TUBE_VK_INDEX), - ); + const publicTubeProofData = toProofData(this.publicTube); const avmProofData = new AvmProofData( this.processedTx.avmProvingRequest.inputs.publicInputs, @@ -118,11 +121,7 @@ export class TxProvingState { this.#getVkData(this.avm!.verificationKey, AVM_VK_INDEX), ); - if (!(this.baseRollupHints instanceof PublicBaseRollupHints)) { - throw new Error('Mismatched base rollup hints, expected public base rollup hints'); - } - - return new PublicBaseRollupInputs(tubeData, avmProofData, this.baseRollupHints); + return new PublicBaseRollupInputs(publicTubeProofData, avmProofData, this.baseRollupHints); } #getVkData(verificationKey: VerificationKeyData, vkIndex: number) { diff --git a/yarn-project/prover-client/src/proving_broker/broker_prover_facade.ts b/yarn-project/prover-client/src/proving_broker/broker_prover_facade.ts index 540df117fb35..0a314d3ef55b 100644 --- a/yarn-project/prover-client/src/proving_broker/broker_prover_facade.ts +++ b/yarn-project/prover-client/src/proving_broker/broker_prover_facade.ts @@ -3,7 +3,6 @@ import type { NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, - TUBE_PROOF_LENGTH, } from '@aztec/constants'; import { sha256 } from '@aztec/foundation/crypto'; import { Fr } from '@aztec/foundation/fields'; @@ -23,6 +22,7 @@ import { type ServerCircuitProver, makeProvingJobId, } from '@aztec/stdlib/interfaces/server'; +import type { PrivateToPublicKernelCircuitPublicInputs } from '@aztec/stdlib/kernel'; import type { BaseParityInputs, ParityPublicInputs, RootParityInputs } from '@aztec/stdlib/parity'; import { ProvingRequestType } from '@aztec/stdlib/proofs'; import type { @@ -35,10 +35,10 @@ import type { PaddingBlockRootRollupInputs, PrivateBaseRollupInputs, PublicBaseRollupInputs, + PublicTubePrivateInputs, RootRollupInputs, RootRollupPublicInputs, SingleTxBlockRootRollupInputs, - TubeInputs, } from '@aztec/stdlib/rollup'; import { InlineProofStore, type ProofStore } from './proof_store/index.js'; @@ -520,6 +520,26 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver { signal, ); } + + getPublicTubeProof( + inputs: PublicTubePrivateInputs, + signal?: AbortSignal, + epochNumber?: number, + ): Promise< + PublicInputsAndRecursiveProof< + PrivateToPublicKernelCircuitPublicInputs, + typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH + > + > { + return this.enqueueJob( + this.generateId(ProvingRequestType.PUBLIC_TUBE, inputs, epochNumber), + ProvingRequestType.PUBLIC_TUBE, + inputs, + epochNumber, + signal, + ); + } + getPrivateBaseRollupProof( baseRollupInput: PrivateBaseRollupInputs, signal?: AbortSignal, @@ -580,20 +600,6 @@ export class BrokerCircuitProverFacade implements ServerCircuitProver { ); } - getTubeProof( - tubeInput: TubeInputs, - signal?: AbortSignal, - epochNumber?: number, - ): Promise> { - return this.enqueueJob( - this.generateId(ProvingRequestType.TUBE_PROOF, tubeInput, epochNumber), - ProvingRequestType.TUBE_PROOF, - tubeInput, - epochNumber, - signal, - ); - } - private generateId(type: ProvingRequestType, inputs: { toBuffer(): Buffer }, epochNumber = 0) { const inputsHash = sha256(inputs.toBuffer()); return makeProvingJobId(epochNumber, type, inputsHash.toString('hex')); diff --git a/yarn-project/prover-client/src/proving_broker/proving_broker.ts b/yarn-project/prover-client/src/proving_broker/proving_broker.ts index c0e736900de1..41562e776069 100644 --- a/yarn-project/prover-client/src/proving_broker/proving_broker.ts +++ b/yarn-project/prover-client/src/proving_broker/proving_broker.ts @@ -44,7 +44,7 @@ type EnqueuedProvingJob = Pick; export class ProvingBroker implements ProvingJobProducer, ProvingJobConsumer, Traceable { private queues: ProvingQueues = { [ProvingRequestType.PUBLIC_VM]: new PriorityMemoryQueue(provingJobComparator), - [ProvingRequestType.TUBE_PROOF]: new PriorityMemoryQueue(provingJobComparator), + [ProvingRequestType.PUBLIC_TUBE]: new PriorityMemoryQueue(provingJobComparator), [ProvingRequestType.PRIVATE_BASE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator), [ProvingRequestType.PUBLIC_BASE_ROLLUP]: new PriorityMemoryQueue(provingJobComparator), @@ -681,7 +681,7 @@ export const PROOF_TYPES_IN_PRIORITY_ORDER: ProvingRequestType[] = [ ProvingRequestType.PUBLIC_BASE_ROLLUP, ProvingRequestType.PRIVATE_BASE_ROLLUP, ProvingRequestType.PUBLIC_VM, - ProvingRequestType.TUBE_PROOF, + ProvingRequestType.PUBLIC_TUBE, ProvingRequestType.ROOT_PARITY, ProvingRequestType.BASE_PARITY, ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP, diff --git a/yarn-project/prover-client/src/proving_broker/proving_job_controller.ts b/yarn-project/prover-client/src/proving_broker/proving_job_controller.ts index 30dd363696da..00827ca6b816 100644 --- a/yarn-project/prover-client/src/proving_broker/proving_job_controller.ts +++ b/yarn-project/prover-client/src/proving_broker/proving_job_controller.ts @@ -128,6 +128,10 @@ export class ProvingJobController { return await this.circuitProver.getAvmProof(inputs, undefined, signal, this.epochNumber); } + case ProvingRequestType.PUBLIC_TUBE: { + return await this.circuitProver.getPublicTubeProof(inputs, signal, this.epochNumber); + } + case ProvingRequestType.PRIVATE_BASE_ROLLUP: { return await this.circuitProver.getPrivateBaseRollupProof(inputs, signal, this.epochNumber); } @@ -172,10 +176,6 @@ export class ProvingJobController { return await this.circuitProver.getRootParityProof(inputs, signal, this.epochNumber); } - case ProvingRequestType.TUBE_PROOF: { - return await this.circuitProver.getTubeProof(inputs, signal, this.epochNumber); - } - default: { const _exhaustive: never = type; return Promise.reject(new Error(`Invalid proof request type: ${type}`)); diff --git a/yarn-project/prover-client/src/test/mock_prover.ts b/yarn-project/prover-client/src/test/mock_prover.ts index ff980124ae7b..27f9e9373885 100644 --- a/yarn-project/prover-client/src/test/mock_prover.ts +++ b/yarn-project/prover-client/src/test/mock_prover.ts @@ -4,12 +4,10 @@ import { NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, - TUBE_PROOF_LENGTH, } from '@aztec/constants'; import { times } from '@aztec/foundation/collection'; import type { AvmCircuitInputs } from '@aztec/stdlib/avm'; import { - type ProofAndVerificationKey, type ProvingJob, type ProvingJobId, type ProvingJobProducer, @@ -19,6 +17,7 @@ import { makeProofAndVerificationKey, makePublicInputsAndRecursiveProof, } from '@aztec/stdlib/interfaces/server'; +import type { PrivateToPublicKernelCircuitPublicInputs } from '@aztec/stdlib/kernel'; import type { BaseParityInputs, RootParityInputs } from '@aztec/stdlib/parity'; import { makeEmptyRecursiveProof, makeRecursiveProof } from '@aztec/stdlib/proofs'; import type { @@ -31,6 +30,7 @@ import type { PaddingBlockRootRollupInputs, PrivateBaseRollupInputs, PublicBaseRollupInputs, + PublicTubePrivateInputs, RootRollupInputs, RootRollupPublicInputs, SingleTxBlockRootRollupInputs, @@ -39,6 +39,7 @@ import { makeBaseOrMergeRollupPublicInputs, makeBlockRootOrBlockMergeRollupPublicInputs, makeParityPublicInputs, + makePrivateToPublicKernelCircuitPublicInputs, makeRootRollupPublicInputs, } from '@aztec/stdlib/testing'; import { VerificationKeyData } from '@aztec/stdlib/vks'; @@ -131,6 +132,25 @@ export class MockProver implements ServerCircuitProver { ); } + getPublicTubeProof( + _inputs: PublicTubePrivateInputs, + _signal?: AbortSignal, + _epochNumber?: number, + ): Promise< + PublicInputsAndRecursiveProof< + PrivateToPublicKernelCircuitPublicInputs, + typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH + > + > { + return Promise.resolve( + makePublicInputsAndRecursiveProof( + makePrivateToPublicKernelCircuitPublicInputs(), + makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), + VerificationKeyData.makeFakeRollupHonk(), + ), + ); + } + getPrivateBaseRollupProof( _baseRollupInput: PrivateBaseRollupInputs, _signal?: AbortSignal, @@ -266,10 +286,4 @@ export class MockProver implements ServerCircuitProver { ), ); } - - getTubeProof(): Promise> { - return Promise.resolve( - makeProofAndVerificationKey(makeRecursiveProof(TUBE_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()), - ); - } } diff --git a/yarn-project/prover-client/src/test/proving_broker_testbench.test.ts b/yarn-project/prover-client/src/test/proving_broker_testbench.test.ts index 07e70558e779..dbe4153ae4dc 100644 --- a/yarn-project/prover-client/src/test/proving_broker_testbench.test.ts +++ b/yarn-project/prover-client/src/test/proving_broker_testbench.test.ts @@ -133,22 +133,22 @@ const proofDistributionTestCases = [ { name: 'minimum epoch', description: '1 block, 8 transactions', // 8 transactions per block = 8 total transactions - proofCounts: [1, 0, 0, 1, 6, 4, 4, 4, 8, 1, 4, 0], + proofCounts: [1, 0, 0, 1, 6, 4, 4, 4, 4, 1, 4, 0], }, { name: 'small epoch', description: '6 blocks, 48 transactions', // 8 transactions per block = 48 total transactions - proofCounts: [6, 0, 4, 1, 36, 24, 24, 24, 48, 6, 24, 0], + proofCounts: [6, 0, 4, 1, 36, 24, 24, 24, 24, 6, 24, 0], }, { name: 'medium epoch', description: '20 blocks, 400 transactions', // 20 transactions per block = 400 total transactions - proofCounts: [20, 0, 18, 1, 360, 200, 200, 200, 400, 20, 80, 0], + proofCounts: [20, 0, 18, 1, 360, 200, 200, 200, 200, 20, 80, 0], }, { name: 'large epoch', description: '32 blocks, 6400 transactions', // 200 transactions per block = 6400 total transactions - proofCounts: [32, 0, 30, 1, 6336, 3200, 3200, 3200, 6400, 32, 128, 0], + proofCounts: [32, 0, 30, 1, 6336, 3200, 3200, 3200, 3200, 32, 128, 0], }, { name: 'maximum epoch', @@ -373,12 +373,14 @@ describe('Proving Broker: Benchmarks', () => { const totalBaseRollup = (proofTypeCounts.get(ProvingRequestType.PRIVATE_BASE_ROLLUP) ?? 0) + (proofTypeCounts.get(ProvingRequestType.PUBLIC_BASE_ROLLUP) ?? 0); + expect(proofTypeCounts.get(ProvingRequestType.PUBLIC_TUBE)).toBe( + proofTypeCounts.get(ProvingRequestType.PUBLIC_BASE_ROLLUP), + ); // Per-block rules (scaled by number of blocks) expect(proofTypeCounts.get(ProvingRequestType.BASE_PARITY) ?? 0).toBe(4 * expectedBlocks); // 4 base parity jobs per block expect(proofTypeCounts.get(ProvingRequestType.ROOT_PARITY) ?? 0).toBe(1 * expectedBlocks); // 1 root parity job per block expect(proofTypeCounts.get(ProvingRequestType.BLOCK_ROOT_ROLLUP) ?? 0).toBe(1 * expectedBlocks); // 1 block root per block - expect(proofTypeCounts.get(ProvingRequestType.TUBE_PROOF) ?? 0).toBe(totalTransactions); // n tube proofs per block expect(totalBaseRollup).toBe(totalTransactions); // n base rollup jobs per block expect(proofTypeCounts.get(ProvingRequestType.PUBLIC_VM) ?? 0).toBe( proofTypeCounts.get(ProvingRequestType.PUBLIC_BASE_ROLLUP) ?? 0, diff --git a/yarn-project/simulator/src/public/fixtures/utils.ts b/yarn-project/simulator/src/public/fixtures/utils.ts index ceb85d086d2d..f5017bfa688d 100644 --- a/yarn-project/simulator/src/public/fixtures/utils.ts +++ b/yarn-project/simulator/src/public/fixtures/utils.ts @@ -153,7 +153,7 @@ export async function createTxForPublicCalls( return await Tx.create({ data: txData, - clientIvcProof: ClientIvcProof.empty(), + clientIvcProof: ClientIvcProof.random(), contractClassLogFields: [], publicFunctionCalldata: calldata, }); diff --git a/yarn-project/stdlib/src/interfaces/proving-job.ts b/yarn-project/stdlib/src/interfaces/proving-job.ts index 568a869cd547..f66d777bac0a 100644 --- a/yarn-project/stdlib/src/interfaces/proving-job.ts +++ b/yarn-project/stdlib/src/interfaces/proving-job.ts @@ -3,7 +3,6 @@ import { NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, - TUBE_PROOF_LENGTH, } from '@aztec/constants'; import type { ZodFor } from '@aztec/foundation/schemas'; @@ -11,6 +10,7 @@ import { z } from 'zod'; import { AvmCircuitInputs } from '../avm/avm.js'; import { AvmProvingRequestSchema } from '../avm/avm_proving_request.js'; +import { PrivateToPublicKernelCircuitPublicInputs } from '../kernel/private_to_public_kernel_circuit_public_inputs.js'; import { BaseParityInputs } from '../parity/base_parity_inputs.js'; import { ParityPublicInputs } from '../parity/parity_public_inputs.js'; import { RootParityInputs } from '../parity/root_parity_inputs.js'; @@ -21,12 +21,11 @@ import { BlockMergeRollupInputs } from '../rollup/block_merge_rollup.js'; import { BlockRootOrBlockMergePublicInputs } from '../rollup/block_root_or_block_merge_public_inputs.js'; import { BlockRootRollupInputs, SingleTxBlockRootRollupInputs } from '../rollup/block_root_rollup.js'; import { EmptyBlockRootRollupInputs } from '../rollup/empty_block_root_rollup_inputs.js'; -import { PaddingBlockRootRollupInputs } from '../rollup/index.js'; +import { PaddingBlockRootRollupInputs, PublicTubePrivateInputs } from '../rollup/index.js'; import { MergeRollupInputs } from '../rollup/merge_rollup.js'; import { PrivateBaseRollupInputs } from '../rollup/private_base_rollup_inputs.js'; import { PublicBaseRollupInputs } from '../rollup/public_base_rollup_inputs.js'; import { RootRollupInputs, RootRollupPublicInputs } from '../rollup/root_rollup.js'; -import { TubeInputs } from '../rollup/tube_inputs.js'; import type { ServerCircuitName } from '../stats/index.js'; import { VerificationKeyData } from '../vks/verification_key.js'; @@ -80,6 +79,8 @@ export function mapProvingRequestTypeToCircuitName(type: ProvingRequestType): Se switch (type) { case ProvingRequestType.PUBLIC_VM: return 'avm-circuit'; + case ProvingRequestType.PUBLIC_TUBE: + return 'public-tube'; case ProvingRequestType.PRIVATE_BASE_ROLLUP: return 'private-base-rollup'; case ProvingRequestType.PUBLIC_BASE_ROLLUP: @@ -102,8 +103,6 @@ export function mapProvingRequestTypeToCircuitName(type: ProvingRequestType): Se return 'base-parity'; case ProvingRequestType.ROOT_PARITY: return 'root-parity'; - case ProvingRequestType.TUBE_PROOF: - return 'tube-circuit'; default: { const _exhaustive: never = type; throw new Error(`Cannot find circuit name for proving request type: ${type}`); @@ -115,6 +114,7 @@ export const ProvingJobInputs = z.discriminatedUnion('type', [ AvmProvingRequestSchema, z.object({ type: z.literal(ProvingRequestType.BASE_PARITY), inputs: BaseParityInputs.schema }), z.object({ type: z.literal(ProvingRequestType.ROOT_PARITY), inputs: RootParityInputs.schema }), + z.object({ type: z.literal(ProvingRequestType.PUBLIC_TUBE), inputs: PublicTubePrivateInputs.schema }), z.object({ type: z.literal(ProvingRequestType.PRIVATE_BASE_ROLLUP), inputs: PrivateBaseRollupInputs.schema }), z.object({ type: z.literal(ProvingRequestType.PUBLIC_BASE_ROLLUP), inputs: PublicBaseRollupInputs.schema }), z.object({ type: z.literal(ProvingRequestType.MERGE_ROLLUP), inputs: MergeRollupInputs.schema }), @@ -130,13 +130,14 @@ export const ProvingJobInputs = z.discriminatedUnion('type', [ }), z.object({ type: z.literal(ProvingRequestType.BLOCK_MERGE_ROLLUP), inputs: BlockMergeRollupInputs.schema }), z.object({ type: z.literal(ProvingRequestType.ROOT_ROLLUP), inputs: RootRollupInputs.schema }), - z.object({ type: z.literal(ProvingRequestType.TUBE_PROOF), inputs: TubeInputs.schema }), ]); export function getProvingJobInputClassFor(type: ProvingRequestType) { switch (type) { case ProvingRequestType.PUBLIC_VM: return AvmCircuitInputs; + case ProvingRequestType.PUBLIC_TUBE: + return PublicTubePrivateInputs; case ProvingRequestType.PRIVATE_BASE_ROLLUP: return PrivateBaseRollupInputs; case ProvingRequestType.PUBLIC_BASE_ROLLUP: @@ -159,8 +160,6 @@ export function getProvingJobInputClassFor(type: ProvingRequestType) { return BaseParityInputs; case ProvingRequestType.ROOT_PARITY: return RootParityInputs; - case ProvingRequestType.TUBE_PROOF: - return TubeInputs; default: { const _exhaustive: never = type; throw new Error(`Cannot find circuit inputs class for proving type ${type}`); @@ -172,6 +171,7 @@ export type ProvingJobInputs = z.infer; export type ProvingJobInputsMap = { [ProvingRequestType.PUBLIC_VM]: AvmCircuitInputs; + [ProvingRequestType.PUBLIC_TUBE]: PublicTubePrivateInputs; [ProvingRequestType.PRIVATE_BASE_ROLLUP]: PrivateBaseRollupInputs; [ProvingRequestType.PUBLIC_BASE_ROLLUP]: PublicBaseRollupInputs; [ProvingRequestType.MERGE_ROLLUP]: MergeRollupInputs; @@ -183,7 +183,6 @@ export type ProvingJobInputsMap = { [ProvingRequestType.ROOT_ROLLUP]: RootRollupInputs; [ProvingRequestType.BASE_PARITY]: BaseParityInputs; [ProvingRequestType.ROOT_PARITY]: RootParityInputs; - [ProvingRequestType.TUBE_PROOF]: TubeInputs; }; export const ProvingJobResult = z.discriminatedUnion('type', [ @@ -191,6 +190,13 @@ export const ProvingJobResult = z.discriminatedUnion('type', [ type: z.literal(ProvingRequestType.PUBLIC_VM), result: schemaForRecursiveProofAndVerificationKey(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED), }), + z.object({ + type: z.literal(ProvingRequestType.PUBLIC_TUBE), + result: schemaForPublicInputsAndRecursiveProof( + PrivateToPublicKernelCircuitPublicInputs.schema, + NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, + ), + }), z.object({ type: z.literal(ProvingRequestType.PRIVATE_BASE_ROLLUP), result: schemaForPublicInputsAndRecursiveProof( @@ -259,14 +265,14 @@ export const ProvingJobResult = z.discriminatedUnion('type', [ type: z.literal(ProvingRequestType.ROOT_PARITY), result: schemaForPublicInputsAndRecursiveProof(ParityPublicInputs.schema, NESTED_RECURSIVE_PROOF_LENGTH), }), - z.object({ - type: z.literal(ProvingRequestType.TUBE_PROOF), - result: schemaForRecursiveProofAndVerificationKey(TUBE_PROOF_LENGTH), - }), ]); export type ProvingJobResult = z.infer; export type ProvingJobResultsMap = { [ProvingRequestType.PUBLIC_VM]: ProofAndVerificationKey; + [ProvingRequestType.PUBLIC_TUBE]: PublicInputsAndRecursiveProof< + PrivateToPublicKernelCircuitPublicInputs, + typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH + >; [ProvingRequestType.PRIVATE_BASE_ROLLUP]: PublicInputsAndRecursiveProof< BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH @@ -305,7 +311,6 @@ export type ProvingJobResultsMap = { ParityPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH >; - [ProvingRequestType.TUBE_PROOF]: ProofAndVerificationKey; }; export type ProvingRequestResultFor = { type: T; result: ProvingJobResultsMap[T] }; diff --git a/yarn-project/stdlib/src/interfaces/server_circuit_prover.ts b/yarn-project/stdlib/src/interfaces/server_circuit_prover.ts index 66a37fea0cca..425caab44fde 100644 --- a/yarn-project/stdlib/src/interfaces/server_circuit_prover.ts +++ b/yarn-project/stdlib/src/interfaces/server_circuit_prover.ts @@ -3,10 +3,10 @@ import type { NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, - TUBE_PROOF_LENGTH, } from '@aztec/constants'; import type { AvmCircuitInputs } from '../avm/avm.js'; +import type { PrivateToPublicKernelCircuitPublicInputs } from '../kernel/private_to_public_kernel_circuit_public_inputs.js'; import type { BaseParityInputs } from '../parity/base_parity_inputs.js'; import type { ParityPublicInputs } from '../parity/parity_public_inputs.js'; import type { RootParityInputs } from '../parity/root_parity_inputs.js'; @@ -15,12 +15,11 @@ import type { BlockMergeRollupInputs } from '../rollup/block_merge_rollup.js'; import type { BlockRootOrBlockMergePublicInputs } from '../rollup/block_root_or_block_merge_public_inputs.js'; import type { BlockRootRollupInputs, SingleTxBlockRootRollupInputs } from '../rollup/block_root_rollup.js'; import type { EmptyBlockRootRollupInputs } from '../rollup/empty_block_root_rollup_inputs.js'; -import type { PaddingBlockRootRollupInputs } from '../rollup/index.js'; +import type { PaddingBlockRootRollupInputs, PublicTubePrivateInputs } from '../rollup/index.js'; import type { MergeRollupInputs } from '../rollup/merge_rollup.js'; import type { PrivateBaseRollupInputs } from '../rollup/private_base_rollup_inputs.js'; import type { PublicBaseRollupInputs } from '../rollup/public_base_rollup_inputs.js'; import type { RootRollupInputs, RootRollupPublicInputs } from '../rollup/root_rollup.js'; -import type { TubeInputs } from '../rollup/tube_inputs.js'; import type { Tx } from '../tx/tx.js'; import type { ProofAndVerificationKey, PublicInputsAndRecursiveProof } from './proving-job.js'; @@ -48,6 +47,17 @@ export interface ServerCircuitProver { epochNumber?: number, ): Promise>; + getPublicTubeProof( + inputs: PublicTubePrivateInputs, + signal?: AbortSignal, + epochNumber?: number, + ): Promise< + PublicInputsAndRecursiveProof< + PrivateToPublicKernelCircuitPublicInputs, + typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH + > + >; + /** * Creates a proof for the given input. * @param input - Input to the circuit. @@ -68,16 +78,6 @@ export interface ServerCircuitProver { PublicInputsAndRecursiveProof >; - /** - * Get a recursively verified client IVC proof (making it a compatible honk proof for the rest of the rollup). - * @param input - Input to the circuit. - */ - getTubeProof( - tubeInput: TubeInputs, - signal?: AbortSignal, - epochNumber?: number, - ): Promise>; - /** * Creates a proof for the given input. * @param input - Input to the circuit. diff --git a/yarn-project/stdlib/src/kernel/private_kernel_prover_output.ts b/yarn-project/stdlib/src/kernel/private_kernel_prover_output.ts index fcba5adbb0ec..ece2bd6eadcc 100644 --- a/yarn-project/stdlib/src/kernel/private_kernel_prover_output.ts +++ b/yarn-project/stdlib/src/kernel/private_kernel_prover_output.ts @@ -45,7 +45,7 @@ export interface PrivateKernelExecutionProofOutput< /** The public inputs used by the proof generation process. */ publicInputs: PublicInputsType; /** The private IVC proof optimized for user devices. It will be consumed by an Aztec prover, - * which recursively verifies it through the "tube" circuit.*/ + * which recursively verifies it through the "private tx base" or the "public tube" circuit.*/ clientIvcProof: ClientIvcProof; /** * The trace the clientIvcProof corresponds to. diff --git a/yarn-project/stdlib/src/kernel/private_to_public_kernel_circuit_public_inputs.ts b/yarn-project/stdlib/src/kernel/private_to_public_kernel_circuit_public_inputs.ts index ff355dc4ea29..5545b70928c8 100644 --- a/yarn-project/stdlib/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +++ b/yarn-project/stdlib/src/kernel/private_to_public_kernel_circuit_public_inputs.ts @@ -1,6 +1,7 @@ import { GeneratorIndex, PRIVATE_TO_PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH } from '@aztec/constants'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto'; import type { Fr } from '@aztec/foundation/fields'; +import { bufferSchemaFor } from '@aztec/foundation/schemas'; import { BufferReader, bigintToUInt64BE, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize'; import { bufferToHex, hexToBuffer } from '@aztec/foundation/string'; import type { FieldsOf } from '@aztec/foundation/types'; @@ -93,4 +94,12 @@ export class PrivateToPublicKernelCircuitPublicInputs { hash() { return poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.PUBLIC_TX_HASH); } + + toJSON() { + return this.toBuffer(); + } + + static get schema() { + return bufferSchemaFor(PrivateToPublicKernelCircuitPublicInputs); + } } diff --git a/yarn-project/stdlib/src/proofs/client_ivc_proof.ts b/yarn-project/stdlib/src/proofs/client_ivc_proof.ts index e532444c6e95..5189cca3d259 100644 --- a/yarn-project/stdlib/src/proofs/client_ivc_proof.ts +++ b/yarn-project/stdlib/src/proofs/client_ivc_proof.ts @@ -1,35 +1,33 @@ +import { CIVC_PROOF_LENGTH } from '@aztec/constants'; import { randomBytes } from '@aztec/foundation/crypto'; +import { Fr } from '@aztec/foundation/fields'; import { bufferSchemaFor } from '@aztec/foundation/schemas'; import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; -const CLIENT_IVC_PROOF_LENGTH = 172052; - -/** - * TODO(https://github.com/AztecProtocol/aztec-packages/issues/7370) refactor this to - * eventually we read all these VKs from the data tree instead of passing them - */ export class ClientIvcProof { constructor( - // produced by the sequencer when making the tube proof - // TODO(https://github.com/AztecProtocol/aztec-packages/issues/7370): Need to precompute private kernel tail VK so we can verify this immediately in the tx pool - // which parts of these are needed to quickly verify that we have a correct IVC proof - public clientIvcProofBuffer: Buffer, + // The proof fields with public inputs. + // For recursive verification, the public inputs (at the front of the array) must be removed. + public proof: Fr[], ) {} public isEmpty() { - return this.clientIvcProofBuffer.length === 0; + return this.proof.length === 0; } static empty() { - return new ClientIvcProof(Buffer.from('')); - } - - static fake(fill = Math.floor(Math.random() * 255)) { - return new ClientIvcProof(Buffer.alloc(1, fill)); + return new ClientIvcProof([]); } - static random() { - return new ClientIvcProof(Buffer.from(randomBytes(CLIENT_IVC_PROOF_LENGTH))); + static random(proofSize = CIVC_PROOF_LENGTH) { + // NB: Not using Fr.random here because it slows down some tests that require a large number of txs significantly. + const reducedFrSize = Fr.SIZE_IN_BYTES - 1; + const randomFields = randomBytes(proofSize * reducedFrSize); + const proof = Array.from( + { length: proofSize }, + (_, i) => new Fr(randomFields.subarray(i * reducedFrSize, (i + 1) * reducedFrSize)), + ); + return new ClientIvcProof(proof); } static get schema() { @@ -42,10 +40,18 @@ export class ClientIvcProof { static fromBuffer(buffer: Buffer | BufferReader): ClientIvcProof { const reader = BufferReader.asReader(buffer); - return new ClientIvcProof(reader.readBuffer()); + const proofLength = reader.readNumber(); + const proof = reader.readArray(proofLength, Fr); + return new ClientIvcProof(proof); } public toBuffer() { - return serializeToBuffer(this.clientIvcProofBuffer.length, this.clientIvcProofBuffer); + return serializeToBuffer(this.proof.length, this.proof); + } + + // Called when constructing a ClientIvcProof from proving results. + static fromBufferArray(fields: Uint8Array[]): ClientIvcProof { + const proof = fields.map(field => Fr.fromBuffer(Buffer.from(field))); + return new ClientIvcProof(proof); } } diff --git a/yarn-project/stdlib/src/proofs/index.ts b/yarn-project/stdlib/src/proofs/index.ts index 98ef3529f9bf..08505f736a32 100644 --- a/yarn-project/stdlib/src/proofs/index.ts +++ b/yarn-project/stdlib/src/proofs/index.ts @@ -1,4 +1,5 @@ export * from './recursive_proof.js'; export * from './client_ivc_proof.js'; export * from './proof.js'; +export * from './proof_data.js'; export * from './proving_request_type.js'; diff --git a/yarn-project/stdlib/src/proofs/proof_data.ts b/yarn-project/stdlib/src/proofs/proof_data.ts new file mode 100644 index 000000000000..1410b1858cc7 --- /dev/null +++ b/yarn-project/stdlib/src/proofs/proof_data.ts @@ -0,0 +1,39 @@ +import type { CIVC_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants'; +import { BufferReader, type Bufferable, serializeToBuffer } from '@aztec/foundation/serialize'; + +import { RecursiveProof } from '../proofs/recursive_proof.js'; +import { VkData } from '../vks/index.js'; + +/** + * Represents the data of a recursive proof. + */ +export class ProofData { + constructor( + public publicInputs: T, + public proof: RecursiveProof, + public vkData: VkData, + ) {} + + public toBuffer(): Buffer { + return serializeToBuffer(this.publicInputs, this.proof, this.vkData); + } + + public static fromBuffer( + buffer: Buffer | BufferReader, + publicInputs: { + fromBuffer: (reader: BufferReader) => T; + }, + proofLength?: PROOF_LENGTH, + ): ProofData { + const reader = BufferReader.asReader(buffer); + return new ProofData( + reader.readObject(publicInputs), + RecursiveProof.fromBuffer(reader, proofLength), + reader.readObject(VkData), + ); + } +} + +export type CivcProofData = ProofData; + +export type RollupHonkProofData = ProofData; diff --git a/yarn-project/stdlib/src/proofs/proving_request_type.ts b/yarn-project/stdlib/src/proofs/proving_request_type.ts index 321650e7500f..7b6011933d9d 100644 --- a/yarn-project/stdlib/src/proofs/proving_request_type.ts +++ b/yarn-project/stdlib/src/proofs/proving_request_type.ts @@ -1,6 +1,6 @@ export enum ProvingRequestType { PUBLIC_VM, - + PUBLIC_TUBE, PRIVATE_BASE_ROLLUP, PUBLIC_BASE_ROLLUP, MERGE_ROLLUP, @@ -13,6 +13,4 @@ export enum ProvingRequestType { BASE_PARITY, ROOT_PARITY, - /** Recursive Client IVC verification to connect private to public or rollup */ - TUBE_PROOF, } diff --git a/yarn-project/stdlib/src/rollup/index.ts b/yarn-project/stdlib/src/rollup/index.ts index afd9e06c1e1c..a7594d777c20 100644 --- a/yarn-project/stdlib/src/rollup/index.ts +++ b/yarn-project/stdlib/src/rollup/index.ts @@ -12,9 +12,7 @@ export * from './padding_block_root_rollup_inputs.js'; export * from './previous_rollup_block_data.js'; export * from './previous_rollup_data.js'; export * from './private_base_rollup_inputs.js'; -export * from './private_tube_data.js'; export * from './public_base_rollup_inputs.js'; -export * from './public_tube_data.js'; +export * from './public_tube_private_inputs.js'; export * from './root_rollup.js'; export * from './state_diff_hints.js'; -export * from './tube_inputs.js'; diff --git a/yarn-project/stdlib/src/rollup/private_base_rollup_inputs.ts b/yarn-project/stdlib/src/rollup/private_base_rollup_inputs.ts index 63ba72b74077..b71d2b68ffa3 100644 --- a/yarn-project/stdlib/src/rollup/private_base_rollup_inputs.ts +++ b/yarn-project/stdlib/src/rollup/private_base_rollup_inputs.ts @@ -3,12 +3,13 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; import { bufferToHex, hexToBuffer } from '@aztec/foundation/string'; import type { FieldsOf } from '@aztec/foundation/types'; +import { PrivateToRollupKernelCircuitPublicInputs } from '../kernel/private_to_rollup_kernel_circuit_public_inputs.js'; +import { type CivcProofData, ProofData } from '../proofs/proof_data.js'; import { PrivateBaseRollupHints } from './base_rollup_hints.js'; -import { PrivateTubeData } from './private_tube_data.js'; export class PrivateBaseRollupInputs { constructor( - public tubeData: PrivateTubeData, + public hidingKernelProofData: CivcProofData, public hints: PrivateBaseRollupHints, ) {} @@ -17,12 +18,15 @@ export class PrivateBaseRollupInputs { } static getFields(fields: FieldsOf) { - return [fields.tubeData, fields.hints] as const; + return [fields.hidingKernelProofData, fields.hints] as const; } static fromBuffer(buffer: Buffer | BufferReader): PrivateBaseRollupInputs { const reader = BufferReader.asReader(buffer); - return new PrivateBaseRollupInputs(reader.readObject(PrivateTubeData), reader.readObject(PrivateBaseRollupHints)); + return new PrivateBaseRollupInputs( + ProofData.fromBuffer(reader, PrivateToRollupKernelCircuitPublicInputs), + reader.readObject(PrivateBaseRollupHints), + ); } toBuffer() { @@ -37,10 +41,6 @@ export class PrivateBaseRollupInputs { return bufferToHex(this.toBuffer()); } - static empty() { - return new PrivateBaseRollupInputs(PrivateTubeData.empty(), PrivateBaseRollupHints.empty()); - } - /** Returns a buffer representation for JSON serialization. */ toJSON() { return this.toBuffer(); diff --git a/yarn-project/stdlib/src/rollup/private_tube_data.ts b/yarn-project/stdlib/src/rollup/private_tube_data.ts deleted file mode 100644 index 55ac23512e88..000000000000 --- a/yarn-project/stdlib/src/rollup/private_tube_data.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants'; -import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; - -import { PrivateToRollupKernelCircuitPublicInputs } from '../kernel/private_to_rollup_kernel_circuit_public_inputs.js'; -import { RecursiveProof, makeEmptyRecursiveProof } from '../proofs/recursive_proof.js'; -import { VkData } from '../vks/index.js'; - -export class PrivateTubeData { - constructor( - public publicInputs: PrivateToRollupKernelCircuitPublicInputs, - public proof: RecursiveProof, - public vkData: VkData, - ) {} - - static empty() { - return new PrivateTubeData( - PrivateToRollupKernelCircuitPublicInputs.empty(), - makeEmptyRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), - VkData.empty(), - ); - } - - static fromBuffer(buffer: Buffer | BufferReader) { - const reader = BufferReader.asReader(buffer); - return new PrivateTubeData( - reader.readObject(PrivateToRollupKernelCircuitPublicInputs), - RecursiveProof.fromBuffer(reader, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), - reader.readObject(VkData), - ); - } - - toBuffer() { - return serializeToBuffer(this.publicInputs, this.proof, this.vkData); - } -} diff --git a/yarn-project/stdlib/src/rollup/public_base_rollup_inputs.ts b/yarn-project/stdlib/src/rollup/public_base_rollup_inputs.ts index 93e5a0010399..826140c910e6 100644 --- a/yarn-project/stdlib/src/rollup/public_base_rollup_inputs.ts +++ b/yarn-project/stdlib/src/rollup/public_base_rollup_inputs.ts @@ -3,13 +3,14 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; import { bufferToHex, hexToBuffer } from '@aztec/foundation/string'; import type { FieldsOf } from '@aztec/foundation/types'; +import { PrivateToPublicKernelCircuitPublicInputs } from '../kernel/private_to_public_kernel_circuit_public_inputs.js'; +import { ProofData, type RollupHonkProofData } from '../proofs/proof_data.js'; import { AvmProofData } from './avm_proof_data.js'; import { PublicBaseRollupHints } from './base_rollup_hints.js'; -import { PublicTubeData } from './public_tube_data.js'; export class PublicBaseRollupInputs { constructor( - public tubeData: PublicTubeData, + public publicTubeProofData: RollupHonkProofData, public avmProofData: AvmProofData, public hints: PublicBaseRollupHints, ) {} @@ -19,13 +20,13 @@ export class PublicBaseRollupInputs { } static getFields(fields: FieldsOf) { - return [fields.tubeData, fields.avmProofData, fields.hints] as const; + return [fields.publicTubeProofData, fields.avmProofData, fields.hints] as const; } static fromBuffer(buffer: Buffer | BufferReader): PublicBaseRollupInputs { const reader = BufferReader.asReader(buffer); return new PublicBaseRollupInputs( - reader.readObject(PublicTubeData), + ProofData.fromBuffer(reader, PrivateToPublicKernelCircuitPublicInputs), reader.readObject(AvmProofData), reader.readObject(PublicBaseRollupHints), ); @@ -43,10 +44,6 @@ export class PublicBaseRollupInputs { return bufferToHex(this.toBuffer()); } - static empty() { - return new PublicBaseRollupInputs(PublicTubeData.empty(), AvmProofData.empty(), PublicBaseRollupHints.empty()); - } - /** Returns a representation for JSON serialization. */ toJSON() { return this.toBuffer(); diff --git a/yarn-project/stdlib/src/rollup/public_tube_data.ts b/yarn-project/stdlib/src/rollup/public_tube_data.ts deleted file mode 100644 index 650679cde4d8..000000000000 --- a/yarn-project/stdlib/src/rollup/public_tube_data.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants'; -import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; - -import { PrivateToPublicKernelCircuitPublicInputs } from '../kernel/private_to_public_kernel_circuit_public_inputs.js'; -import { RecursiveProof, makeEmptyRecursiveProof } from '../proofs/recursive_proof.js'; -import { VkData } from '../vks/index.js'; - -export class PublicTubeData { - constructor( - public publicInputs: PrivateToPublicKernelCircuitPublicInputs, - public proof: RecursiveProof, - public vkData: VkData, - ) {} - - static empty() { - return new PublicTubeData( - PrivateToPublicKernelCircuitPublicInputs.empty(), - makeEmptyRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), - VkData.empty(), - ); - } - - static fromBuffer(buffer: Buffer | BufferReader) { - const reader = BufferReader.asReader(buffer); - return new PublicTubeData( - reader.readObject(PrivateToPublicKernelCircuitPublicInputs), - RecursiveProof.fromBuffer(reader, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), - reader.readObject(VkData), - ); - } - - toBuffer() { - return serializeToBuffer(this.publicInputs, this.proof, this.vkData); - } -} diff --git a/yarn-project/stdlib/src/rollup/public_tube_private_inputs.ts b/yarn-project/stdlib/src/rollup/public_tube_private_inputs.ts new file mode 100644 index 000000000000..32e1694ac460 --- /dev/null +++ b/yarn-project/stdlib/src/rollup/public_tube_private_inputs.ts @@ -0,0 +1,46 @@ +import { bufferSchemaFor } from '@aztec/foundation/schemas'; +import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; +import { bufferToHex, hexToBuffer } from '@aztec/foundation/string'; +import type { FieldsOf } from '@aztec/foundation/types'; + +import { PrivateToPublicKernelCircuitPublicInputs } from '../kernel/private_to_public_kernel_circuit_public_inputs.js'; +import { type CivcProofData, ProofData } from '../proofs/proof_data.js'; + +export class PublicTubePrivateInputs { + constructor(public hidingKernelProofData: CivcProofData) {} + + static from(fields: FieldsOf) { + return new PublicTubePrivateInputs(...PublicTubePrivateInputs.getFields(fields)); + } + + static getFields(fields: FieldsOf) { + return [fields.hidingKernelProofData] as const; + } + + static fromBuffer(buffer: Buffer | BufferReader) { + const reader = BufferReader.asReader(buffer); + return new PublicTubePrivateInputs(ProofData.fromBuffer(reader, PrivateToPublicKernelCircuitPublicInputs)); + } + + toBuffer() { + return serializeToBuffer(...PublicTubePrivateInputs.getFields(this)); + } + + static fromString(str: string) { + return PublicTubePrivateInputs.fromBuffer(hexToBuffer(str)); + } + + toString() { + return bufferToHex(this.toBuffer()); + } + + /** Returns a representation for JSON serialization. */ + toJSON() { + return this.toBuffer(); + } + + /** Creates an instance from a string. */ + static get schema() { + return bufferSchemaFor(PublicTubePrivateInputs); + } +} diff --git a/yarn-project/stdlib/src/rollup/tube_inputs.ts b/yarn-project/stdlib/src/rollup/tube_inputs.ts deleted file mode 100644 index 8afec1d8f8d2..000000000000 --- a/yarn-project/stdlib/src/rollup/tube_inputs.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { bufferSchemaFor } from '@aztec/foundation/schemas'; -import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; -import { bufferToHex, hexToBuffer } from '@aztec/foundation/string'; -import type { FieldsOf } from '@aztec/foundation/types'; - -import { ClientIvcProof } from '../proofs/client_ivc_proof.js'; - -/** - * Inputs for the tube circuit, which turns a client IVC proof folding stack into an ultrahonk proof. - * 'usePublicTailVk' signifies if we should prove this with the public or private kernel tail client IVC VKs. - */ -export class TubeInputs { - constructor( - public usePublicTailVk: boolean, - public clientIVCData: ClientIvcProof, - ) {} - - static from(fields: FieldsOf): TubeInputs { - return new TubeInputs(...TubeInputs.getFields(fields)); - } - - static getFields(fields: FieldsOf) { - return [fields.usePublicTailVk, fields.clientIVCData] as const; - } - - /** - * Serializes the inputs to a buffer. - * @returns The inputs serialized to a buffer. - */ - toBuffer() { - return serializeToBuffer(...TubeInputs.getFields(this)); - } - - /** - * Serializes the inputs to a hex string. - * @returns The instance serialized to a hex string. - */ - toString() { - return bufferToHex(this.toBuffer()); - } - - /** - * Deserializes the inputs from a buffer. - * @param buffer - The buffer to deserialize from. - * @returns A new TubeInputs instance. - */ - static fromBuffer(buffer: Buffer | BufferReader): TubeInputs { - const reader = BufferReader.asReader(buffer); - return new TubeInputs(reader.readBoolean(), reader.readObject(ClientIvcProof)); - } - - isEmpty(): boolean { - return this.clientIVCData.isEmpty(); - } - /** - * Deserializes the inputs from a hex string. - * @param str - A hex string to deserialize from. - * @returns A new TubeInputs instance. - */ - static fromString(str: string) { - return TubeInputs.fromBuffer(hexToBuffer(str)); - } - - static empty() { - return new TubeInputs(false, ClientIvcProof.empty()); - } - - /** Returns a hex representation for JSON serialization. */ - toJSON() { - return this.toBuffer(); - } - - /** Creates an instance from a hex string. */ - static get schema() { - return bufferSchemaFor(TubeInputs); - } -} diff --git a/yarn-project/stdlib/src/stats/stats.ts b/yarn-project/stdlib/src/stats/stats.ts index 784618113933..891cc552999c 100644 --- a/yarn-project/stdlib/src/stats/stats.ts +++ b/yarn-project/stdlib/src/stats/stats.ts @@ -88,6 +88,7 @@ export type ClientCircuitName = export type ServerCircuitName = | 'base-parity' | 'root-parity' + | 'public-tube' | 'private-base-rollup' | 'public-base-rollup' | 'merge-rollup' @@ -97,8 +98,7 @@ export type ServerCircuitName = | 'padding-block-root-rollup' | 'block-merge-rollup' | 'root-rollup' - | 'avm-circuit' - | 'tube-circuit'; + | 'avm-circuit'; export type CircuitName = ClientCircuitName | ServerCircuitName; diff --git a/yarn-project/stdlib/src/tests/factories.ts b/yarn-project/stdlib/src/tests/factories.ts index cb427836633d..b0c10eff072c 100644 --- a/yarn-project/stdlib/src/tests/factories.ts +++ b/yarn-project/stdlib/src/tests/factories.ts @@ -5,6 +5,7 @@ import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, AZTEC_MAX_EPOCH_DURATION, BLOBS_PER_BLOCK, + CIVC_PROOF_LENGTH, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, FIELDS_PER_BLOB, FIXED_DA_GAS, @@ -41,7 +42,7 @@ import { PUBLIC_DATA_TREE_HEIGHT, PUBLIC_LOG_SIZE_IN_FIELDS, RECURSIVE_PROOF_LENGTH, - TUBE_PROOF_LENGTH, + RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, VK_TREE_HEIGHT, } from '@aztec/constants'; import { type FieldsOf, makeHalfFullTuple, makeTuple } from '@aztec/foundation/array'; @@ -131,6 +132,7 @@ import { ParityPublicInputs } from '../parity/parity_public_inputs.js'; import { RootParityInput } from '../parity/root_parity_input.js'; import { RootParityInputs } from '../parity/root_parity_inputs.js'; import { Proof } from '../proofs/proof.js'; +import { ProofData } from '../proofs/proof_data.js'; import { ProvingRequestType } from '../proofs/proving_request_type.js'; import { makeRecursiveProof } from '../proofs/recursive_proof.js'; import { AvmProofData } from '../rollup/avm_proof_data.js'; @@ -151,9 +153,7 @@ import { MergeRollupInputs } from '../rollup/merge_rollup.js'; import { PreviousRollupBlockData } from '../rollup/previous_rollup_block_data.js'; import { PreviousRollupData } from '../rollup/previous_rollup_data.js'; import { PrivateBaseRollupInputs } from '../rollup/private_base_rollup_inputs.js'; -import { PrivateTubeData } from '../rollup/private_tube_data.js'; import { PublicBaseRollupInputs } from '../rollup/public_base_rollup_inputs.js'; -import { PublicTubeData } from '../rollup/public_tube_data.js'; import { RootRollupInputs, RootRollupPublicInputs } from '../rollup/root_rollup.js'; import { PrivateBaseStateDiffHints } from '../rollup/state_diff_hints.js'; import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js'; @@ -412,7 +412,7 @@ export function makePrivateKernelTailCircuitPublicInputs( ); } -function makePrivateToPublicKernelCircuitPublicInputs(seed = 1) { +export function makePrivateToPublicKernelCircuitPublicInputs(seed = 1) { return new PrivateToPublicKernelCircuitPublicInputs( makeTxConstantData(seed), makePrivateToPublicAccumulatedData(seed + 0x200), @@ -1083,10 +1083,14 @@ function makeVkData(seed = 1) { return new VkData(VerificationKeyData.makeFakeHonk(), seed, makeTuple(VK_TREE_HEIGHT, fr, seed + 0x100)); } -function makePrivateTubeData(seed = 1, kernelPublicInputs?: PrivateToRollupKernelCircuitPublicInputs) { - return new PrivateTubeData( - kernelPublicInputs ?? makePrivateToRollupKernelCircuitPublicInputs(seed, true), - makeRecursiveProof(TUBE_PROOF_LENGTH, seed + 0x100), +export function makeProofData( + seed = 0, + makePublicInputs: (seed: number) => T, + proofSize: PROOF_LENGTH = NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH as PROOF_LENGTH, +) { + return new ProofData( + makePublicInputs(seed), + makeRecursiveProof(proofSize, seed + 0x100), makeVkData(seed + 0x200), ); } @@ -1131,23 +1135,12 @@ function makePublicBaseRollupHints(seed = 1) { } export function makePrivateBaseRollupInputs(seed = 0) { - const tubeData = makePrivateTubeData(seed); - const hints = makePrivateBaseRollupHints(seed + 0x100); - return PrivateBaseRollupInputs.from({ - tubeData, - hints, + hidingKernelProofData: makeProofData(seed, makePrivateToRollupKernelCircuitPublicInputs, CIVC_PROOF_LENGTH), + hints: makePrivateBaseRollupHints(seed + 0x100), }); } -function makePublicTubeData(seed = 1) { - return new PublicTubeData( - makePrivateToPublicKernelCircuitPublicInputs(seed), - makeRecursiveProof(TUBE_PROOF_LENGTH, seed + 0x100), - makeVkData(seed + 0x200), - ); -} - function makeAvmProofData(seed = 1) { return new AvmProofData( makeAvmCircuitPublicInputs(seed), @@ -1157,12 +1150,16 @@ function makeAvmProofData(seed = 1) { } export function makePublicBaseRollupInputs(seed = 0) { - const tubeData = makePublicTubeData(seed); + const publicTubeProofData = makeProofData( + seed, + makePrivateToPublicKernelCircuitPublicInputs, + RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, + ); const avmProofData = makeAvmProofData(seed + 0x100); const hints = makePublicBaseRollupHints(seed + 0x200); return PublicBaseRollupInputs.from({ - tubeData, + publicTubeProofData, avmProofData, hints, }); diff --git a/yarn-project/stdlib/src/tests/mocks.ts b/yarn-project/stdlib/src/tests/mocks.ts index c105a3b5a4a9..b003cd4ba7e9 100644 --- a/yarn-project/stdlib/src/tests/mocks.ts +++ b/yarn-project/stdlib/src/tests/mocks.ts @@ -88,7 +88,7 @@ export const mockTx = async ( hasPublicTeardownCallRequest = false, publicCalldataSize = 2, feePayer, - clientIvcProof = ClientIvcProof.empty(), + clientIvcProof = ClientIvcProof.random(), maxPriorityFeesPerGas, chainId = Fr.ZERO, version = Fr.ZERO, diff --git a/yarn-project/stdlib/src/tx/tx.ts b/yarn-project/stdlib/src/tx/tx.ts index 57ff42f76686..7c186053b707 100644 --- a/yarn-project/stdlib/src/tx/tx.ts +++ b/yarn-project/stdlib/src/tx/tx.ts @@ -38,7 +38,6 @@ export class Tx extends Gossipable { public readonly data: PrivateKernelTailCircuitPublicInputs, /** * Proof from the private kernel circuit. - * TODO(#7368): This client IVC object currently contains various VKs that will eventually be more like static data. */ public readonly clientIvcProof: ClientIvcProof, /** @@ -238,7 +237,7 @@ export class Tx extends Gossipable { classPublishedCount: this.data.getNonEmptyContractClassLogsHashes().length, contractClassLogSize: this.data.getEmittedContractClassLogsLength(), - proofSize: this.clientIvcProof.clientIvcProofBuffer.length, + proofSize: this.clientIvcProof.proof.length, size: this.toBuffer().length, feePaymentMethod: @@ -250,7 +249,7 @@ export class Tx extends Gossipable { getSize() { return ( this.data.getSize() + - this.clientIvcProof.clientIvcProofBuffer.length + + this.clientIvcProof.proof.length * Fr.SIZE_IN_BYTES + arraySerializedSizeOfNonEmpty(this.contractClassLogFields) + this.publicFunctionCalldata.reduce((accum, cd) => accum + cd.getSize(), 0) );